Предыдущий раздел | ВЫВОД НА ЭКРАН ЧИСЕЛ В ШЕСТНАДЦАТЕРИЧНОЙ ФОРМЕ | Следующий раздел |
Для вывода младшей цифры достаточно обнулить старший полубайт в восьмибитовом регистре, содержащем пару шестнадцатеричных цифр.
Обнуление любых битов в байте или в слове удобно выполнить, используя команду 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”.)
Предыдущий раздел | В начало | Следующий раздел |