l Вывод символа на экран дисплея: AH = 2 или AH = 6 и DL <> 0FFh. В регистре DL должен быть ASCII-код символа. Пример фрагмента программы (вывод символа «C»):
mov AH, 6
mov DL, 43H; 43H — это ASCII-код символа C
int 21H
l Вывод строки символов: AH = 9 (чаще всего используемая функция). В регистрах DS:DX должен находиться начальный адрес строки символов, которая обязана заканчиваться символом $. Пример фрагмента программы (отображение текста 'вывод строки символов$'):
Text db 'вывод строки символов$'
mov AH, 9
mov DX, offset text; это адрес выводимой строки
int 21H
l Ввод/вывод из файла через логический номер. Стандартные файловые логические номера определяют тип и устройство ввода-вывода:
l 0 — ввод с клавиатуры;
l 1 — вывод на экран дисплея;
l 2 — вывод на экран сообщения об ошибке;
l 3 — ввод-вывод на внешнее устройство;
l 4 — вывод на печать.
Для ввода предназначена функция AH = 3Fh прерывания 21H, для вывода служит функция AH = 40h прерывания 21H. В регистр CX предварительно заносится число вводимых-выводимых байтов, а в регистр DX записывается начальный адрес поля памяти для ввода-вывода. В случае успешного завершения процедуры ввода-вывода обнуляется флаг переноса CF, а в регистре AX возвращается количество фактически переданных байтов. При неудачной операции флаг CF устанавливается в 1, а в регистр AX заносится код ошибки. Приведенный ниже пример содержит фрагмент программы для вывода на экран текстового файла Text, содержащего 50 байтов.
|
|
text db 50 dup(' ')
mov AH, 40H
mov BX, 1; указание устройства вывода
mov CX, 50;указание числа выводимых байт
mov DX, offset text; указание начального адреса
; поля памяти, содержащего текст
int 21H