|
Slide 6.6: LAHF instruction Slide 6.8: XCHG instruction Home |
|
SAHF Instruction
SAHF instruction (store AH into status flags) copies AH into the low byte of the EFLAGS register.
SAHF — Store AH Register into Flags |
|||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||||||||||||||||||||
| Setting Sign and Carry Flags | Output |
|---|---|
.code mov ebx, 0 ; Clears ebx. mov ah, 10000001b ; Sets Sign and Carry flag. sahf ; Loads ah into flags. jnc L1 ; Jumps if not carry. inc ebx ; If carry, increases ebx. L1: jns L2 ; Jumps if not sign. inc ebx ; If sign, increases ebx. L2: mov eax, ebx ; Moves ebx to eax. call WriteInt ; Prints eax. |
test: It performs an implied and operation between each pair of matching bits in two operands and sets the flags accordingly.
The only difference between test and and is the test does not modify the destination operand.jnz: jumps if Zero flag is not set.jnc: jumps if Carry flag is not set.jns: jumps if Sign flag is not set.