[an error occurred while processing this directive]
Подскажите как проще(быстрее) преобразовать 8 битный HEX, в десятичный формат по разрядно, мой (думаю что не совсем оптимальный) вариант в сабже
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Sergey Smirnow 10 февраля 2003 г. 07:42

В рабочем регистре "W" В HEX формате, в RDec3-1 поразрядно дес.значение байта из "W" HEX(не в упакованном bdc формате - это мне не надо тк сразу в порт на терминалку преобразую значение в ANSI (+48) и выдаю)

dec
clrf RDec3
clrf RDec2
movwf RDec1

movlw .100
d_000
incf RDec3,f
subwf RDec1,f
btfsc STATUS,C
goto d_000
addwf RDec1,f
decf RDec3,f

movlw .10
d_100
incf RDec2,f
subwf RDec1,f
btfsc STATUS,C
goto d_100
addwf RDec1,f
decf RDec2,f
return

Так вроде всё компактно но 10 раз вычитать думаю что "криво" как-то, может есть более оптимальные варианты с использованием сдвига ?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru