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

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

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

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

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

LECTS.DOC

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

               MOV  AH,41H         ;Запрос на удаление

               LEA  DX,PATHNAM     ;ASCIIZ-строка

               INT  21H            ;Вызов DOS

     В случае ошибки в регистре AX возвращается код 02  (файл  не  найден) или 05 (нет доступа).

Управление файловым указателем: шест.42

     Система DOS имеет файловый  указателькоторый  при  открытии  файла устанавливается в 0 и увеличивается напри  последовательных  операциях записи или считыванияДля доступа к любым  записям  внутри  файла  можно менять файловый указатель с помощью функции шест.42, получая в  результате прямой доступ к записям файла.

     Для установки файлового указателя необходимо поместить в  регистр  BX файловый номер и в регистровую пару CX:DX требуемое смещение в байтах. Для смещений до 65.535 в регистре CX устанавливается 0, а в DX -  смещениеВ регистре AL должен быть установлен один из кодов, который определяет точку отсчета смещения:

     0  - смещение от начала файла.

     1  - смещение текущего значения файлового  указателякоторое  может быть в любом месте, включая начало файла.

     2  - смещение от конца файлаРазмер файла (и следовательно смещение  до конца файламожно определитьустановив  регистровую  пару CX:DX в 0 и используя код 2 в регистре AL.

     В следующем примере устанавливается файловый  указатель  на  смещение 1024 байта от начала файла:

               MOV  AH,42H         ;Установка указателя

               MOV  AL,00          ; от начала файла

               LEA  BX,HANDLE1     ;Установка файлового номера

               MOV  CX,00          ;

               MOV  DX,1024        ;Смещение 1024 байта

               INT  21H            ;Вызов DOS

               JC   error

     Правильно выполненная операция сбрасывает флаг CF и возвращает  новый указатель в регистровой паре DX:AX.  Неправильная  операция  устанавливает флаг CF в 1 и возвращает в регистре AX код 01 (ошибка кода отсчета) или 06 (ошибка файлового номера).

Проверка или изменение атрибута: шест.43

     Для проверки или изменения  файлового  атрибута  в  оглавлении  диска используется  функция  шест.43H.  При  этом  в  регистре  DX  должен  быть установлен адрес ASCIIZ строкиДля проверки атрибута регистр  AL  должен содержать 00. Для изменения атрибута регистр AL  должен  содержать  01,  а регистр CX -  новое  значение  атрибутаСледующий  пример  устанавливает нормальный атрибут:

               MOV  AH,43H         ;Запрос на установку

               MOV  AL,01          ; нормального

               MOV  CX,00          ; атрибута

               LEA  DX,PATHNM2     ;ASCIIZ-строка

               INT  21H            ;Вызов DOS

     В случае проверки функция возвращает текущий атрибут файла в регистре CX.  В случае изменения функция устанавливает в  соответствующем  элементе оглавления атрибут из регистра  CX.  Неправильная  операция  возвращает  в регистре AX коды ошибок 02, 03 или 05.

Получить текущее оглавление: шест.47

     Определение текущего оглавления для любого дисковода осуществляется с помощью функции шест.47. При этом  необходимо  определить  область  памяти достаточно большую, чтобы содержать  пути  доступа  максимальной  длины  и загрузить адрес этой области в регистр DX.  Регистр  DL  должен  содержать номер дисковода: 0 - текущий, 1 - A, 2 - B и т.дВ результате выполнения операция помещает в область памяти  имя  текущей  директории  (без  номера дисковода), например, в следующем виде:

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