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 |
| Получить консультации и преобрести компоненты вы сможете у официальных поставщиков фирмы Texas Instruments, |

|
|