Она может пригодиться для установки режима работы принтера (выбора шрифта, плотности печати, интервала между строками) перед распечаткой текстового файла в среде MS DOS. Программу создают с помощью отладчика DEBUG, входящего в состав операционной системы. Отладчик DEBUG.EXE находится в каталоге \WINDOWS\COMMAND или в каталоге \MSDOS. Ниже приводятся команды, после выполнения которых на диске появится файл ELIT.COM длиной 24 байта (18 - в шестнадцатиричной системе). Перезагрузите WINDOWS в режим командной строки MS DOS и запустите этот файл на выполнение. После завершения работы программки принтер будет настроен на печать шрифтом Elite плотностью 12 символов на дюйм с межстрочным интервалом 1/8 дюйма. Все выводимые после этого тексты будут напечатаны этим шрифтом. Этот режим позволит распечатать на листе ГОРАЗДО БОЛЬШЕ ТЕКСТА, чем в режиме по умолчанию. Для сброса этого режима достаточно выключить и вновь включить принтер.
C:\>cd msdos
C:\MSDOS\>debug
-a100
17E1:0100 mov cx,4
17E1:0103 mov si,114
17E1:0106 mov dl,[si]
17E1:0108 mov ah,5
17E1:010A int 21
17E1:010C inc si
17E1:010D loop 106
17E1:010F mov ax,4c00
17E1:0112 int 21
17E1:0114 db 1b,30,1b,4d
17E1:0118 просто нажать ENTER
-n elit.com
-rcx
CX 0000
:18
-w
ЗАПИСЬ 00018 БАЙТ
-q
C:\MSDOS\>
Предполагается, что DEBUG находится на диске С: в директории MSDOS. Директива a100 переводит его в режим ассемблирования и задает начальное смещение адреса 100. Базовый адрес сегмента 17Е1 операционная система выбирает сама, у вас он может быть другим. При необходимости описанным способом можно создавать аналогичные программы, устанавливающие и другие режимы. Нужные для настройки управляющие коды (ESC-последовательности) в шестнадцатиричном формате перечисляют через запятую в операторе db в том порядке, в котором они должны выдаваться на принтер. В соответствии с длиной этой последовательности корректируют второй оператор команды mov cx и длину файла программы в директиве rcx. Следует изменить и имя программы директивой n. Коды ESC-последовательностей обычно приводятся в описании матричного принтера.
Источник: http://www.radio.ru |