Предыдущий раздел ВЫВОД НА ЭКРАН ЧИСЕЛ В ШЕСТНАДЦАТЕРИЧНОЙ ФОРМЕ Следующий раздел

6.5. Вывод младшей цифры двузначного шестнадцатеричного числа

Для вывода младшей цифры достаточно обнулить старший полубайт в восьмибитовом регистре, содержащем пару шестнадцатеричных цифр.

Обнуление любых битов в байте или в слове удобно выполнить, используя  команду and (логическое "И"). Данная команда побитно сравнивает два заданных в ней байта (слова). Если в обоих байтах соответствующий бит имеет значение "1", то и в результирующий байт на место соответствующего бита записывается 1. Если хотя бы один из сравниваемых битов имеет значение "0", то и результирующий бит принимает нулевое значение. Результирующий байт записывается на место первого из сравниваемых байтов. Например, команда “and bl,cl” последовательно выполняет операцию and сначала над битами 0 регистров BL и CL, затем над битами 1, битами 2 и так далее, и помещает результат в BL.

Выполняя операцию and над 0Fh и каким-либо байтом, мы можем обнулить старший полубайт этого байта:

 

  1011 0101

  AND       0000 1111

  0000 0101                    

 

Следующие две команды реализуют этап "Выделение  младшей цифры":

 

mov       dl,bl

and        dl,0f

 

З а п и ш и т е  в память программу для вывода младшей цифры. Протестируйте эту программу, загружая в BL различные пары шестнадцатеричных цифр. Далее запишите в память всю программу вывода на экран двузначного шестнадцатеричного числа и протестируйте ее. (Не забудьте  при этом скорректировать адреса переходов во второй части программы, а  также исключить первую команду “int  20”.)

 


Предыдущий раздел В начало Следующий раздел