| *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. переноса: