Операционная система MS-DOS предоставляет в распоряжение функцию 05h прерывания INT 21h для печати символа на стандартном печатающем устройстве LPT1 (PRN). В регистр AH заносится значение 05h, в регистр DL – ASCII-код символа для печати, на выходе регистр AH будет содержать слово состояния принтера.
Пример 1. Определить базовый адрес порта LPT1.
Решение. Для получения базового адреса порта LPT1 необходимо прочитать содержимое ячейки памяти BIOS, расположенной по адресу 0040:0008h. Полученное значение сохраним в переменной LPT1, определенной в сегменте данных, и имеющей размер слова.
PUSH DX ; сохранить в стеке содержимое регистра DX
MOV AX, 40h ; поместить в AX адрес начала сегмента 0040h
MOV ES, AX ; передать содержимое AX в сегментный регистр ES
MOV DX, ES:[08] ; прочитать по адресу 0040:0008h базовый адрес порта LPT1
MOV LPT1, DX ; сохранить адрес порта в переменной LPT1
POP DX ; восстановить прежнее содержимое регистра DX из стека
Do'stlaringiz bilan baham: |