Ассемблер и программирование для IBM PC



       

ГЛАВА 19. ПЕЧАТЬ - часть 5


Ассемблер для IBM PC. Глава 19 5

P10PRNT Распечатывает выводную строку и очищает область вывода. R10READ Считывает сектор из дискового файла.

Коды "возврат каретки", "перевод строки" и "прогон страницы" действительны для любых принтеров. Можно модифици ровать программу для подсчета распечатываемых строк и выполнения прогона страницы (шест.OC) при достижении, например, строки 62.

------------------------------------------------------------ ------------------------------------------------------------ Рис.19.2. Печать ASCII файла.

Некоторые пользователи предпочитают устанавливать символы "прогон страницы" в ASCII файлах с помощью текстового редактора в конкретных местах текста, например, в конце ассемблерных процедур. Кроме того, можно изменить программу для функции 05 базовой версии DOS. Эта функция выполняет вывод каждого символа непосредственно на принтер. Таким образом можно исключить определение и использование области вывода.

ПЕЧАТЬ ПОД УПРАВЛЕНИЕМ БАЗОВОЙ DOS ------------------------------------------------------------

Для печати в базовой версии DOS необходимо установить в регистре AH код функции 05, а в регистр DL поместить распечатываемый символ и, затем, выполнить команду INT 21H следующим образом:

MOV AH,05 ;Запрос функции печати MOV DL,char ;Распечатываемый символ INT 21H ;Вызов DOS

С помощью этих команд можно передавать на принтер управляющие символы. Однако, печать, обычно, предполагает вывод полной или частичной строки текста и пошаговую обработку области данных, отформатированной по строкам. Ниже показазна программа печати полной строки. Сначала в регистр SI загружается начальный адрес области HEADG, а в регистр CX - длина этой области. Цикл, начинающийся по метке P20, выделяет очередной символ из области HEADG и посылает его на принтер. Так как первый символ области HEADG - "прогон страницы", а последние два - "перевод строки", то заголовок печатается в начале новой страницы и после него следует двойной интервал.




Содержание  Назад  Вперед