MSP430 система команд - Команда DECD
| *DECD[.W] | Двойной декремент получателя | |
| *DECD.B | Двойной декремент получателя | |
| Синтаксис | DECD dst или DECD.W dst DECD.B dst |
|
| Операция | dst - 2 -> dst | |
| Эмуляция | SUB #2,dst SUB.B #2,dst |
|
| Описание | Операнд получателя уменьшается (декрементируется) на два. Исходное содержимое теряется. | |
| Биты статуса | N: | Устанавливается, если результат отрицательный; сбрасывается, если положительный |
| Z: | Устанавливается, если dst содержал «2»; в противном случае сбрасывается | |
| C: | Сбрасывается, если получатель содержал «0»; в противном случае устанавливается | |
| V: | Устанавливается, если произошло арифметическое переполнение; в противном случае сбрасывается; Устанавливается, если исходное значение получателя было 08001h или 08000h, в противном случае сбрасывается; Устанавливается, если исходное значение получателя было 081h или 080h, в противном случае сбрасывается |
|
| Биты режима | Биты OSCOFF, CPUOFF и GIE не изменяются | |
| Пример | Содержимое регистра R10 декрементируется на 2.
DECD R10 ; декремент R10 на два
; Пересылка блока из 255 слов, расположенного в памяти начиная с адреса, указанного меткой EDE,
; в область памяти, начало которой указано меткой TONI. Таблицы не должны наложиться: стартовый
; адрес назначения TONI должен находиться вне диапазона от EDE до EDE+0FEh.
;
MOV #EDE,R6
MOV #510,R10
L$1 MOV @R6+,TONI-EDE-2(R6)
DECD R10
JNZ L$1
|
|
| Пример | Содержимое ячейки памяти LEO декрементируется на два.
DECD.B LEO ; декремент MEM(LEO)
Декремент байта статуса STATUS на два.
DECD.B STATUS
|
|