Вывод информации на устройство печати
Устройство печати (принтер) - это очень полезное устройство. Вам может не только потребоваться распечатать текст программы, но и передать на принтер выводимую информацию. Следующая версия программы выводит информацию вместо экрана на принтер:
.MODEL SMALL .STACK 100h .DATA Message DB "Привет!",13,10,"$" Message_Length EQO $ - Message .CODE mov ax,@Data mov dx,ax mov ah,40h mov bx,4 mov cx,Message_Length mov dx,OFFSET Message int 21h mov ah,4ch int 21h END |
установить регистр DS таким образом, чтобы он указывал на сегмент данных функция DOS вывода строки на устройство описатель принтера число печатаемых символов ссылка на "Привет!" вывести "Привет!" принтер функция DOS завершения программы завершить программу |
В данной версии программы функция DOS вывода строки на экран заменена на функцию DOS, которая передает информацию на выбранное устройство или в файл, в данном случае - на принтер. Введите и запустите программу. Посмотрите, как она напечатает на принтере слово "Привет!". (Перед запуском программы не забудьте ее сохранить при завершении работы в редакторе. При этом программа будет сохранена в файле HELLO.ASM, а предыдущая версия программы будет потеряна.)
Вы можете модифицировать эту программу таким образом, чтобы она снова посылала выходные данные на экран, а не на устройство печати, заменив просто строку:
mov bx,4 ; описатель принтера
на строку:
mov bx,1 ; описатель стандартного вывода
Сделайте такое изменение, а затем снова выполните перекомпиляцию и перекомпоновку программы перед ее запуском. Запустив программу, вы увидите, что сообщение появится на экране, а последним символом будет графический символ перевода формата (кружок с крестиком внизу - "зеркальце Венеры"). Этот символ программа передает на принтер, чтобы вынудить его после вывода сообщения выполнить перевод страницы, поскольку на экране страниц нет, он ничего не знает о переводе формата и просто выводит на экран символ из набора символов компьютера РС.
1 2 3 4 5 6 7 8
8 8 8
| |