Вывод информации на устройство печати


Устройство печати (принтер) это очень полезное устройство.

Вам может не только потребоваться распечатать текст программы, но и передать на принтер выводимую информацию. Следующая версия программы выводит информацию вместо экрана на принтер:

DOSSEG

.MODEL SMALL

.STACK 100h

.DATA

Message DB ‘Привет!’,13,10,’$’

Message_Length EQO $ Message

.CODE

mov ax,@Data

mov dx,ax ; установить регистр DS таким

; образом, чтобы он указывал

mov ah,40h ; функция DOS вывода строки

; на устройство

mov bx,4 ; описатель принтера

mov cx,Message_Length ; число печатаемых символов

mov dx,OFFSET Message ; ссылка на «Привет!»

int 21h ; вывести «Привет!» принтер

mov ah,4ch ; функция DOS завершения

; программы

int 21h ; завершить программу

END

В данной версии программы функция DOS вывода строки на экран заменена на функцию DOS, которая передает информацию на выбранное устройство или в файл, в данном случае на принтер. Введите и запустите программу. Посмотрите, как она напечатает на принтере слово «Привет!». (Перед запуском программы не забудьте ее сохранить при завершении работы в редакторе. При этом программа будет сохранена в файле HELLO.ASM, а предыдущая версия программы будет потеряна.)

Вы можете модифицировать эту программу таким образом, чтобы она снова посылала выходные данные на экран, а не на устройство печати, заменив просто строку:

mov bx,4 ; описатель принтера

на строку:

mov bx,1 ; описатель стандартного вывода

Сделайте такое изменение, а затем снова выполните перекомпиляцию и перекомпоновку программы перед ее запуском. Запустив программу, вы увидите, что сообщение появится на экране, а последним символом будет графический символ перевода формата (кружок с крестиком внизу). Этот символ программа передает на принтер, чтобы вынудить его после вывода сообщения выполнить перевод страницы. Поскольку на экране страниц нет, он ничего не знает о переводе формата и просто выводит на экран символ из набора символов компьютера РС.

Загрузка...