Универсальная подпрограмма преобразования двоичного представления числа
в двоично десятичное представление...
Использование:
1. Необходимо определиться со скольки байтными числами в двоичном представлении необходимо
работать. Как пример есть 2 байтное число. Так и назначаем параметр in .2
2. Далее необходимо определить сколько необходимо десятичных разрядов после преобразования
2 байта это максимум 65535, т.е. 5 десятичных разрядов. Так и пишем параметр out .5
Так же вариант, если 2 байта необходимы, но не используются полностью. Как пример это
числа до 9999 или до 999 включительно. Здесь все равно необходимы 2 байта, но десятичных
разрядов используется уже 4 и 3 соответственно. В таком случае так и задаем параметр out.
При компиляции это все будет учитываться и не будет создано ни одной лишней строчки
машинного кода.
3. Исходные данные должны лежать в регистрах input. Символьное имя дано только младшему,
ко всем остальным необходимо обращаться со смещением, вот так input+.0, input+.1, input+.2
и так далее. Под них зарезеровано соответствующее количество регистров, равное параметру in.
Чем больше смещение тем старше байт.
Тоже самое относится к десятичным разрядам, по окончании преобразования данные для вывода
будут лежать в регистрах LED, символьное имя дано только младшему и зарезервировано
соответствующее количество регистров, равное параметру out. обращаться к ним следует
точно таким же образом LED+.0,LED+.1,LED+.2 и так далее. Причем везде. Старшинство
разрядов увеличивается с увеличение адреса.
Директива if <условие> <код> endif это директива условной компиляции. Если условие истина,
то <код> будет включен в программу, если ложь, то код будет игнорироваться. Таким образом
удалось сделать всего лишь одну подпрограмму на многие случаи.
Исходный текст программы можно скачать здесь