*INCD[.W] |
Двойной инкремент получателя |
*INCD.B |
Двойной инкремент получателя |
Синтаксис |
INCD dst или INCD.W dst INCD.B dst |
Операция |
dst + 2 -> dst |
Эмуляция |
ADD #2,dst |
Эмуляция |
ADD.B #2,dst |
Описание |
Операнд получателя инкрементируется на два. Исходное содержимое теряется. |
Биты статуса |
N: |
N:Устанавливается, если результат отрицательный; сбрасывается, если положительный |
Z: |
Устанавливается, если dst содержал 0FFFEh, в противном случае сбрасывается;
Устанавливается, если dst содержал 0FEh, в противном случае сбрасывается |
C: |
Устанавливается, если dst содержал 0FFFEh или 0FFFFh, в противном случае сбрасывается;
Устанавливается, если dst содержал 0FEh или 0FFh, в противном случае сбрасывается |
V: |
Устанавливается, если dst содержал 07FFEh или 07FFFh, в противном случае сбрасывается;
Устанавливается, если dst содержал 07Eh или 07Fh, в противном случае сбрасывается |
Биты режима |
Биты OSCOFF, CPUOFF и GIE не изменяются |
Пример |
Удаление элемента с вершины стека (TOS) без использования регистра.
...
PUSH R5 ; содержимое регистра R5, является результатом
; вычисления, сохраненного в системном стеке
INCD SP ; удаление элемента TOS путем двойного
; инкрементирования стека. Команду INCD.B для этих
; целей использовать нельзя, поскольку SP – это
; регистр размером в слово.
RET
|
Пример |
Байт на вершине стека инкрементируется на два.
INCD.B 0(SP); байт на вершине стека (TOS) инкрементируется на два
|