|
Slide 11.7: XOR instruction Slide 11.9: TEST instruction Home |
|
NOT Instruction
NOT instruction toggles (complements) all bits in an operand.
NOT — One's Complement Negation (Logical NOT) |
||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||
NEG performs two's complement, which changes a binary value from positive to negative and vice versa by reversing the bits and adding 1. Typically, NOT is used on unsigned data and NEG on signed data.
NOT |
NEG |
Setting Zero Flag |
|---|---|---|
.code mov eax, 0 mov al, 00111010b not al call WriteHex |
.code mov eax, 0 mov al, 00111010b neg al call WriteHex |
.code and al, 0 jz L1 call WaitMsg L1: exit |
| Output | Output | Output |
| Clearing Sign Flag | Setting Overflow Flag | Setting/Clearing Carry Flag |
.code and al, 7Fh js L1 call WaitMsg L1: exit |
.code
mov al, 7Fh
inc al
jo L1
call WaitMsg
L1: exit
|
.code stc ; or clc jc L1 call WaitMsg L1: exit |
| Output | Output | Output |