MSP430 - Команда SUBС

SUBС[.W],SBB[.W] Вычитание источника и заема/.NOT. переноса из получателя
SUBC.B,SBB.B Вычитание источника и заема/.NOT. переноса из получателя
Синтаксис SUBС src,dst или SUBС.W src,dst или
SBB src,dst или SBB.W src,dst
SUBC.B src,dst или SBB.B src,dst
Операция dst + .NOT.src + C -> dst
или
[(dst – src – 1 + C -> dst)]
Описание Операнд источника вычитается из операнда получателя путем прибавления дополнения до единицы операнда источника и бита переноса (С) к операнду получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется.
Биты статуса N: Устанавливается, если результат отрицательный; сбрасывается, если положительный.
Z: Устанавливается, если результат «0», в противном случае сбрасывается.
C: Устанавливается, если есть перенос из старшего бита MSB результата, в противном случае сбрасывается.
Устанавливается в «1», если нет заема; сбрасывается, если был заем.
V: Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается
Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются
Пример Вычитаются две мантиссы (24-разрядные) с плавающей точкой. Младшие байты LSB находятся в R13 и R10, старшие байты MSB находятся в R12 и R9
SUB.W   R13,R10     ; 16-разрядная часть, LSB
SUBC.B  R12,R9      ; 8-разрядная часть, MSB
Пример Содержимое 16-разрядного счетчика, указанного в R13, вычитается из 16-разрядного счетчика, находящегося в регистрах R10 и R11(MSD).
SUB.B   @R13+,R10   ; Вычитание младших байтов LSB без переноса
SUBC.B  @R13,R11    ; Вычитание старших байтов MSB с переносом,
…                   ; возникшим в результате выполнения
…                   ; операции над младшими байтами LSB

Примечание: реализация заема

Заем обрабатывается как операция .NOT. переноса:

Заем Бит переноса
Да 0
Нет 1






© 2008 Электроника для начинающих | Programming V.Lasto | Povered by Nano-CMS | Designer S.Gordi