|
Главная страница > Компоненты > Микроконтроллеры > MSP430 > Система команд
|
|
MSP430 система команд - Команда DADD
DADD[.W] |
Десятичное сложение источника, переноса и получателя |
DADD.B |
Десятичное сложение источника, переноса и получателя |
Синтаксис |
DADD src,dst или DADD.W src,dst DADD.B src,dst |
Операция |
src + dst + C -> dst (десятичное) |
Описание |
Операнды источника и получателя обрабатываются как четыре двоично-десятичных числа (BCD - Binary Coded Decimal) с положительными знаками. Операнд источника и бит переноса (С) десятично прибавляются к операнду получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется. Для чисел, представленных не в BCD-формате, результат не определен. |
Биты статуса |
N: |
Устанавливается, если MSB равен «1»; сбрасывается в противном случае |
Z: |
Устанавливается, если результат равен «0»; в противном случае сбрасывается |
C: |
Устанавливается, если результат превышает 9999
Устанавливается, если результат превышает 99 |
V: |
Не определено |
Биты режима |
|
Пример |
Биты OSCOFF, CPUOFF и GIE не изменяются |
Пример |
BCD-число из восьми цифр, содержащееся в регистрах R5 и R6, десятично прибавляется к BCD-числу из восьми цифр, содержащемуся в регистрах R3 и R4 (регистры R6 и R4 содержат MSD).
CLRС ; очистка переноса
DADD R5,R3 ; сложение LSDs
DADD R6,R4 ; сложение MSDs и переноса
JC OVERFLOW ; если произошел перенос, выполняется переход в
; подпрограмму обработки ошибок
Пример
Десятичный счетчик из двух цифр в байте ОЗУ с меткой «CNT» инкрементируется на единицу.
CLRС ; сброс переноса
DADD.B #1,CNT ; инкремент десятичного счетчика
или
SETC
DADD.B #0,CNT ; = DADC.B CNT
|
|
|