MSP430 - Команда SBC

*SBC[.W] Вычитание заема/.NOT. переноса из получателя
*SBC.B Вычитание заема/.NOT. переноса из получателя
Синтаксис SBC dst или SBC.W dst
SBC.B dst
Операция dst + 0FFFFh + C -> dst
dst + 0FFh + C -> dst
Эмуляция SUBC #0,dst
SUBC.B #0,dst
Описание Бит переноса (С) прибавляется к операнду получателя минус один. Предыдущее содержимое получателя теряется.
Биты статуса N: Устанавливается, если результат отрицательный; сбрасывается, если положительный
Z: Устанавливается, если результат «0», в противном случае сбрасывается
C: Устанавливается, если есть перенос из старшего бита MSB результата, сбрасывается в противном случае. Устанавливается в «1», если заема нет; сбрасывается, если заем есть.
V: Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается
Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются
Пример Содержимое 16-разрядного счетчика, указанного в R13, вычитается из 32-разрядного счетчика, указанного в R12:
SUB   @R13,0(R12)  ; Вычитание LSD 
SBC   2(R12)       ; Вычитание переноса из MSD
Пример Содержимое 8-разрядного счетчика, указанного в R13, вычитается из 16-разрядного счетчика, указанного в R12:
SUB.B @R13,0(R12)  ; Вычитание LSD 
SBC.B 1(R12)       ; Вычитание переноса из MSD

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

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

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






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