2017-11-03
Ассемблер для 8-битных PIC-контроллеров
Разделение двухбайтного двоичного числа на четыре десятичных разряда
Разделение двухбайтного двоичного числа на четыре десятичных разряда
В программировании для pic-контроллеров часто требуется вывести двухбайтное двоичное число на четыре десятичных семисегментных индикатора.
В этой заметке предлагается довольно простой алгоритм и его реализация на ассемблере.
Код занимает 50 строк программы, использует 6 обязательных регистров и 2 дополнительных.
В первые 4 обязательные регистра помещается результат, который позже можно будет вывести на индикаторы, а во вторые 2 регистра — начальное двоичное число.
2 дополнительных регистра можно использовать после выполнения этой программы по своему усмотрению.
Максимальное двоичное число должно быть не более 9999 — по максимальному числу разрядов индикатора.
Программа же может считать числа вплоть до максимума — 65536,
но в этом случае в регистре
num1000
будет лежать двухразрядное двоично-десятичное число,
которое можно отобразить только, если добавить ещё один — пятый разряд индикатора.
В регистры
numFH,numFL
заносятся значения двоичного числа — старший и младший байт соответственно.
Регистры num1000..num1
будут содержать результат выполнения программы.
В них будут лежать десятичные разряды — от старшего к младшему соответственно.
Временные регистры temp,temp2
после окончания этой программы можно использовать по своему усмотрению.