Примерно так же, как и для двоичных. Сложить с дополнительным (десятичным) кодом. Только надо подумать немножко.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Bill 03 ноября 2003 г. 21:43
В ответ на: А как можно быстро и просто вычесть две BCD переменые в 430(не константы) отправлено LamerMSP430 03 ноября 2003 г. 21:16

Идея такова. Скажем, есть две 4х разрядные BCD переменные A и B (используется 16-разрядный регистр MSP). Тогда операцию вычитания A - B можно заменить на сложение A c дополнением B до 10000 или 9999+1.
Т.е.
A - B = A + (9999+B) + 1
На asm это будет примерно так


dadd r14, #0x9999
dadd r15, r14
dadd r15, #0x0001

Это всего лишь идея! Надо хорошенько обдумать.

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

Ответы



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

E-mail: info@telesys.ru