MSP430 система команд - Команда INV
*INV[.W] |
Инвертирование получателя |
*INV.B |
Инвертирование получателя |
Синтаксис |
INV dst INV.B dst |
Операция |
.NOT.dst -> dst |
Эмуляция |
XOR #0FFFFh,dst |
Эмуляция |
XOR.B #0FFh,dst |
Описание |
Операнд получателя инвертируется. Исходное содержимое теряется.
Устанавливается, если результат отрицательный; сбрасывается, если положительный |
Биты статуса |
N: |
|
Z: |
Устанавливается, если dst содержал 0FFFFh, в противном случае сбрасывается;
Устанавливается, если dst содержал 0FFh, в противном случае сбрасывается |
C: |
Устанавливается, если результат не ноль, в противном случае сбрасывается
(= .NOT. Zero)
Устанавливается, если результат не ноль, в противном случае сбрасывается
(= .NOT. Zero) |
V: |
Устанавливается, если исходное содержимое операнда было отрицательное, в противном случае сбрасывается |
Биты режима |
Биты OSCOFF, CPUOFF и GIE не изменяются |
Пример |
Над содержимым регистра R5 выполняется операция отрицания (дополнение до двух).
MOV #00AEh,R5 ; R5 = 000AEh
INV R5 ; инвертирование R5, R5 = 0FF51h
INC R5 ; теперь R5 инвертирован, R5 = 0FF52h
|
Пример |
Над содержимым байта памяти LEO выполняется операция отрицания.
MOV #0AEh,LEO ; MEM(LEO) = 0AEh
INV.B LEO ; инвертирование LEO, MEM(LEO) = 051h
INC.B LEO ; MEM(LEO) инвертирован, MEM(LEO) = 052h
|
|