Лекция по программированию

Автор работы: Пользователь скрыл имя, 11 Января 2011 в 19:34, лекция

Краткое описание

Язык ассемблера - это один из самых старых из всех существующих языков программирования. Когда-то это был один из основных языков программирования, без знания которого нельзя было заставить компьютер сделать что-либо полезное. Появились более удобные средства общения с компьютером. Но в отличии от других языков ассемблер не умирал, более того он это не смог сделать в принципе.

Содержимое работы - 1 файл

LECTS.DOC

— 893.00 Кб (Скачать файл)
 

               PATHNM1    DB    'B:\TEST.ASM',0

               PATHNM2    DB    'C:\UTILITY\NU.EXE',0

 

     Обратная  косая  (или  прямая  косая)   используются    в    качестве разделителяНулевой байт (zero) завершает строку (отсюда название ASCIIZ формата). Для прерываний, использующих в качестве параметра ASCIIZ строку, адрес этой  строки  загружается  в  регистр  DX,  напримеркомандой  LEA DX,PATHNM1.

ФАЙЛОВЫЙ НОМЕР И КОДЫ ВОЗВРАТА

     Операции создания и открытия файла  требуют  загрузки  в  регистр  AX двухбайтового числа, представляющего  собой  файловый  номерВ  главе  8 показано, что стандартные устройства не нуждаются в  операции  открытия  и могут использовать непосредственно файловые номера: 0 - ввод, 1 - вывод, 2 - вывод сообщений об ошибках, 3 - внешнее устройство, 4 - принтер.

     Для доступа к диску при  создании  или  открытии  файла  используется ASCIIZ строка  и  функции  DOS   шест.3C   или   3D.   Успешная   операция устанавливает  флаг  CF  в 0 и помещает файловый номер в регистр AX.  Этот номер необходимо сохранить в элементе данных DW  и  использовать  его  для всех  последующих  операций  над дисковым файломПри неуспешной операции флаг CF устанавливается в  1,  а  в  регистр  AX  помещается  код  ошибки, зависящий от операции.

Коды ошибок

               01   Ошибка номера функции

               02   Файл не найден

               03   Путь доступа не найден

               04   Открыто слишком много файлов

               05   Нет доступа (Операция отвергнута)

               06   Ошибка файлового номера

               07   Блок управления памятью разрушен

               08   Недостаточно памяти

               09   Ошибка адреса блока памяти

               10   Ошибка оборудования

               11   Ошибка формата

               12   Ошибка кода доступа

               13   Ошибка данных

               15   Ошибка дисковода

               16   Попытка удалить оглавление

               17   Другое устройство  ?

               18   Нет больше файлов

СОЗДАНИЕ ДИСКОВОГО ФАЙЛА

     В последующих разделах  раскрыты  требования  к  созданиюзаписи  и закрытию дисковых файлов для расширенной версии DOS.

Создание файла: Шест.3C

     Для  создания  нового  файла  или   переписывания    старого    файла используется функция шест.3C.  При этом регистр DX должен содержать  адрес ASCIIZ-строки, а регистр  CX  -  необходимый  атрибутБайт  атрибут  был рассмотрен в главе 15; для обычного файла значение атрибута - 0.

     Рассмотрим пример создания обычного файла:

               MOV  AH,3CH         ;Запрос на создание

               MOV  CX,00          ; обычного файла

               LEA  DX,PATHNM1     ;ASCIIZ строка

               INT  21H            ;Вызов DOS

               JC   error          ;Переход по ошибке

               MOV  HANDLE1,AX     ;Сохранение файлового номера в DW

     При правильном открытии операция создает элемент оглавления с  данным атрибутом, очищает флаг CF и устанавливает файловый номер в  регистре  AX. Этот номер должен  использоваться  для  всех  последующих  операцийЕсли создаваемый  файл  уже  существует  (т.еимя  файла    присутствует    в оглавлении), то длина этого файла устанавливается в 0 для перезаписи.

Информация о работе Лекция по программированию