NEG - Инвертировать (Выполнить дополнение до двух) (Negate (Two's Complement))
Операция |
A <-- -(A) = $00 - (A) или: X <-- = $00 - (X) или: M <-- = $00 - (M) |
Описание |
Заменяет содержимое регистра A, X или M на его дополнение до двух. Отметим, что значение $80 остается неизменным. |
Коды признаков и Булевы выражения |
|
V: |
M7&R7 Устанавливается, если в результате операции происходит переполнение дополнения до двух, в ином случае очищается. Переполнение дополнения до двух будет происходить только в том случае, когда операнд перед операцией будет иметь значение $80. |
N: |
R7 Устанавливается, если MSB результата в состоянии 1, в ином случае очищается |
Z: |
R7#&R6#&R5#&R4#&R3#&R2#&R1#&R0# Устанавливается, если результат равен $00, в ином случае очищается. |
C: |
R7 | R6 | R5 | R4 | R3 | R2 | R1 | R0 Устанавливается, если происходит заем, связанный с вычитанием из нуля, в ином случае очищается. Бит C будет устанавливаться во всех случаях, за исключением тех, когда содержимое A, X или M будет перед операцией NEG иметь значение $00. |
Исходные формы, режимы адресации, машинные коды и количество циклов
Исходные формы |
Режим адресации |
Машинные коды |
Количество циклов HC08 |
Код операции |
Операнд(ы) |
NEGA |
INH (A) |
40 |
|
1 |
NEGX |
INH (X) |
50 |
|
1 |
NEG opr |
DIR |
30 |
dd |
4 |
NEG ,X |
IX |
70 |
|
3 |
NEG opr,X |
IX1 |
60 |
ff |
4 |
NEG opr,SP |
SP1 |
9E60 |
ff |
5 |
|