Прошу прощения за ошибки в коде. Но все равно немного не так, но теперь вроде должно работать.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
A + B = A + (9999-B) + 1
mov #0x9999, r13 ; 9999 - B
sub r14, r13 ;
dadd r13, r15 ; десятичное сложение
dadd #0x0001, r15 ; коррекция результата
Но для корректного выполнения операции должна быть гарантия, что в регистрах r14, r15 находяться корректные BCD числа.
Более короткий (и наверняка работающий) вариант я сейчас увидел в slau049c.pdf page 3-63.
Составить ответ
|||
Конференция
|||
Архив
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru