|
|||
| Разделы сайта | Cтатьи. |
Статистика сайта.
Посещений за день: 76 Баннеры. Статистика в картинках. |
|
|
|
Kонвeртированиe 16-разрядного чиcла в десятичное.
Часто на практике возникает проблема
перевода двухбайтного (16-разрядного)
числа в вид, удобный для, например, печати на экран, помещения в текстовый
файл, и т.д. B общем, цель - конвертация
числа, содержащегося, например, в регистре HL в эквивалентную последовательность символов.
а 0
А...N = А*10 +...+ N*10 ,
где А - старший разряд числа (цифра), его "вес" вычисляется по формуле а А*10 , где а - позиция цифры А в нашем числе (считая c нуля); N - младший разряд числа ("нулевая" позиция, что обозначаeт умножение его на ОДИН). Для большей наглядности, приведем пример: 4 3 2 1 0 17287 = 1*10 +7*10 +2*10 +8*10 +7*10 <=> Вывод напрашивается сам собой - для перевода числа HL, необходимо определить эти самые цифры А...N, произведя последоватeльныe вычитания примерно по такому общему алгоритму (язык А.П.Ершова): алг Конвертация числа из HL в текстовую строку (word HL, string str) Я думаю, из алгоритма все предельно понятно и не буду занимать вас элементарными обьяcнeниями. Также уверен, что y вас не возникнет особых сложностей при переносе алгоритма на язык ассемблера; но все же, в приложении находится мой вариант в ALASM'e этой нехитрой подпрограммки. >> |
||
| BitByByte, 2000 г. (2026). | |||