Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvod_inform_s_klav_v_pamyat_i_vyvod_eyo_na_ekr.doc
Скачиваний:
23
Добавлен:
07.06.2015
Размер:
699.9 Кб
Скачать

Рекомендации по выполнению лабораторной работы.

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

CALL имя подпрограммы

Рекомендуется выводить результаты различных вычислений с новой строки.

4.1. Тексты подпрограмм вывода на экран.

Данная подпрограмма выводит на экран один нибл.

Вход: al – содержит в младшей половине выводимый нибл, старшая половина регистра игнорируется.

Выход: нет, все регистры сохраняют свои первоначальные значения.

DisplayNibl PROC NEAR; ближняя процедура запоминания

push ax ; изменяемых регистров

push dx

and al,0fh ; очистка старшего нибла

add al,’0’ ; формирование символа

cmp al,’9’

jbe dn1

add al,7

dn1: mov ah,2 ; функция DOSа – вывод символа на экран

mov dl,al

int 21h ; выполнить функцию DOS

pop dx ; восстановление используемых регистров

pop ax

ret ; возврат из подпрограммы

DisplayNibl ENDP

Данная подпрограмма выводит на экран один байт.

Вход: al – содержит выводимый байт.

Выход: нет, все регистры сохраняют свои первоначальные значения.

DisplayByte PROC NEAR; ближняя процедура запоминания

; изменяемых регистров

push ax

push cx

push ax

mov cl,4 ; подготовка для вывода на экран старшего нибла

ror ax,cl

call DisplayNibl; вывод нибла на экран

pop ax ; восстановление младшего нибла

call DisplayNibl; вывод нибла на экран

pop cx ; восстановление используемых регистров

pop ax

ret ; возврат из подпрограммы

DisplayByte ENDP

Данная подпрограмма выводит на экран одно слово.

Вход: aх – содержит выводимое слово.

Выход: нет, все регистры сохраняют свои первоначальные значения.

DisplayWord PROC NEAR; ближняя процедура запоминания

; изменяемых регистров

push ax

push ax

xchg ah,al ; подготовка и вывод старшего байта

call DisplayByte

pop ax ; подготовка и вывод младшего байта

call DisplayByte

pop ax

ret ; возврат из подпрограммы

DisplayWord ENDP

Данная подпрограмма выводит на экран двойное слово.

Вход: ах – содержит младшее выводимое слово,

dx – содержит старшее выводимое слово.

Выход: нет, все регистры сохраняют свои первоначальные значения

DisplayDWord PROC NEAR; ближняя процедура запоминания

; изменяемых регистров

push ax

push dx

xchg ax,dx ; подготовка и вывод старшего слова

call DisplayWord ; подготовка и вывод младшего слова

mov ax,dx

call DisplayWord

pop dx

pop ax

ret ; возврат из подпрограммы

DisplayDWord ENDP

Данная подпрограмма выполняет возврат коретки.

Вход: нет.

Выход: нет, все регистры сохраняют свои первоначальные значения.

DisplayEndString PROC NEAR; ближняя процедура запоминания

; изменяемых регистров

push ax

push dx

mov ah,2

mov dl,13 ; возврат каретки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]