Purpose: | To copy the arithmetic negation of a scaler quantity to the destination |
Format: | opcode src.rx, dst.wx |
Operation: | dst <- -src; |
Condition Codes: |
N <- dst LSS 0;
Z <- dst EQL 0;
V <- overflow; (Integer)
V <- 0; (Floating)
C <- dst NEQ 0; (Integer)
C <- 0; (Floating) |
Exceptions: | Integer overflow
Reserved Operand (Floating) |
Opcodes: |
8E | MNEGB | Move Negated Byte |
AE | MNEGW | Move Negated Word |
CE | MNEGL | Move Negated Long |
52 | MNEGF | Move Negated Float |
72 | MNEGD | Move Negated Double |
|
Description: |
The destination operand is replaced by the negative of source operand.
the source operand is unaffected. |
Notes: |
- 1.
- Integer Overflow occurs if the source operand is the largest negative integer (which has no positive counter-part). On overflow, the destination operand is replaced by the source operand.
- 2.
- On floating reserved operand fault, the destination operand is unaffected and the condition codes are unpredictable.
- 3.
- If the source operand is positive zero, the result will be positive zero. If the source operand is reserved operand (minus zero), a reserved operand fault occurs. For all other floating point values, the sign bit is complemented.
|