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 |