Назад | Начало урока | Вперед
Содержание

Глава 2

Процедура filter - преобразовывает число переданное через параметр (tek_el) в шестнадцатиричную форму. Кроме того эта процедура инициализирует переменные first_val и second_val, которые будут использоваться, для вывода 16-ричного числа в процедуре print_h_el.

Вверх

;фильтр вывода на экран, преобразовывает число в шестнадцатиричную форму *********************
;входные параметры
;tek_el - выводимое число

filter proc
push ax
push dx

;обработка второй тетраэдры ******************************************
mov ah,tek_el ;в ah фильтруемое значение
and ah,00001111b ;выделяем вторую тетраэдру

cmp ah,0Ah ;сравниваем ее с 0Ah
jae symb1 ;переход если AL>=0Ah

add ah,30h ;в al ASCII код цифры соответствующий цифре в al
mov secondp_val,ah ;передача к.с.ц. во внешнюю переменную
jmp tetr2

symb1: ;если цифре соответствует шестнадцатеричная цифра - ABCDEF


add ah,37h ;в al ASCII код цифры соответствующей цифре в al
mov secondp_val,ah ;передача к.с.ц. во внешнюю переменную
jmp tetr2

tetr2: ;обработка второй тетраэдры ***********************************


mov ah,tek_el ;в al фильтруемое значение
shr ah,4 ;сдвиг в вправо на четыре бита для получения первой тетраэдры

cmp ah,0Ah ;сравниваем al с 0Ah
jae symb2 ;переход если AL>=0Ah

add ah,30h ;в al ASCII код цифры соответствующей цифре в al
mov firstp_val,ah ;передача к.с.ц. во внешнюю переменную
jmp exit


symb2:

add ah,37h ;в al ASCII код цифры соответствующей цифре в al
mov firstp_val,ah ;передача к.с.ц. во внешнюю переменную

exit: pop dx


pop ax
ret
filter endp
;*****************************************************************************


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz