пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

1. Основные положения системного подхода в организации ввода-вывода в расширенной версии.

Ввод-вывод с устройствами организован системно,  устройство  сопоставляется файлу. Используются унифицированные функции, которые одинаково работают с экраном, принтером, клавиатурой  и дисковым файлом.

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

На диске много файлов, если в программе открыт 1-й файл, то ему при-
сваивается N5, второму файлу - N6, если закрыть второй  файл,  то  описа-
тель 6 освобождается, и тогда при открытии 3-го  файла  ему  ставится  в
соответствие описатель N6. Допустимое количество одновременно открытых
файлов в MS DOS задается в файле config.sys следующей командой
      files= <количество файлов>.
     В функциях расширенной версии используются регистры AX,CX,BX,DX.
В большинстве случаев эти регистры используются для следующих целей:
     AX: на входе AH - код функции
         на выходе AX - число : при открытии файла - номер файла, в опе-
                                рациях чтения/записи - число  реально
                                перданных байт. При возникновении ошибки
                                AX -  номер ошибки.
     BX: описатель файла.
     CX: число затребованных байт при вводе и выводе.
     DX: адрес строки, при открытии файла или адрес поля ввода-вывода  в операциях чтения и записи.
     Флаг CF (перенос) на выходе сигнализирует об ошибке при выполнении любых операций.

                         Вывод на экран

     IOA       db      10 dup(?)
     -------------------------
     mov       ah,40h
     mov       BX,1   ; описатель экрана
     mov       CX,5   ; количество реально выводимых байт из IOA
     lea       DX,IOA
     int       21h
     jc        err    ; в AX - код системной ошибки

Если ошибки нет(CF=0), то в AX -  число реально выведенных байт.
Функция выводит заданное количество байт, она не следит  за  правой
границей IOA. Управляющие символы обрабатываются также, как и  в  режиме
телетайпа . Количество выводимых символов не ограничено, при заполнении
экрана осуществляется скролинг.


хиты: 67
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2025. All Rights Reserved. помощь