мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
asm:lesson6 [21/10/2010 16:00] arabusovasm:lesson6 [21/10/2010 21:30] (текущий) arabusov
Строка 7: Строка 7:
 байт,  а директива DW oпределяет слово. Элемент данных может байт,  а директива DW oпределяет слово. Элемент данных может
 содержать непосредственное значение или константу, определенную как символьная строка или как числовое значение. содержать непосредственное значение или константу, определенную как символьная строка или как числовое значение.
-Другим  способом определения  константы является непосред +Другим  способом определения  константы является непосредственное  значение,  т.е.  указанное  прямо  в  ассемблерной
-ственное  значение,  т.е.  указанное  прямо  в  ассемблерной+
 команде, например: команде, например:
  
Строка 81: Строка 80:
 формате ASCII. формате ASCII.
 Символьная  строка  определяется только директивой  DB, в Символьная  строка  определяется только директивой  DB, в
-котоpой указывается более двух символов в нормальной последо +котоpой указывается более двух символов в нормальной последовательности  слева  направо.   Следовательно,  директива  DB
-вательности  слева  направо.   Следовательно,  директива  DB+
 представляет единственно  возможный  формат  для определения представляет единственно  возможный  формат  для определения
 символьных данных. символьных данных.
Строка 126: Строка 124:
 помнить,  что,  например, символьная константа, определенная помнить,  что,  например, символьная константа, определенная
 как DB '12',  представляет символы ASCII и  генерирует шест. как DB '12',  представляет символы ASCII и  генерирует шест.
-3132, а числовая константа, oпределенная как DB 12, представ +3132, а числовая константа, oпределенная как DB 12, представляет двоичное число и генерирует шест. 0C.
-ляет двоичное число и генерирует шест. 0C.+
 ==== Директива опеделения байта ==== ==== Директива опеделения байта ====
 Из  различных  директив,  определяющих  элементы  данных, Из  различных  директив,  определяющих  элементы  данных,
Строка 332: Строка 329:
 Успешно - флаг переноса сброшен Успешно - флаг переноса сброшен
   * AX = дескриптор   * AX = дескриптор
 +Неудачно - флаг переноса установлен
 +  * AX = код ошибки
 +=== Закрытие файла ===
 +При вызове:
 +   * AH = 3Eh
 +   * BX =  дескриптор
 +При возврате:
 +Успешно - флаг переноса сброшен
 +Неудачно - флаг переноса установлен
 +  * AX = код ошибки
 +=== Чтение файла ===
 +При вызове:
 +  * AH = 3Fh
 +  * BX = дескриптор
 +  * CX = число байт для чтения
 +  * DS:DX = адрес буфера
 +При возврате:
 +Успешно - флаг переноса сброшен
 +  * AX = число переданных байтов (может быть меньше CX!)
 +Неудачно - флаг переноса установлен
 +  * AX = код ошибки
 +=== Запись в файл ===
 +При вызове:
 +  * AH = 40h
 +  * BX = дескриптор
 +  * CX = число байт для вывода записи
 +  * DS:DX = адрес буфера
 +При возврате:
 +Успешно - флаг переноса сброшен
 +  * AX = число переданных байтов (может быть меньше CX!)
 Неудачно - флаг переноса установлен Неудачно - флаг переноса установлен
   * AX = код ошибки   * AX = код ошибки