CPU flags are NOT set. JNS uses the (S) flag.
The (S) flag is set if a calculation gives a negative result.
Assembler
|
Machine Code
|
Explanation
|
JNS Forward
|
C4 12
|
Jump if the (S) flag is NOT set.
If the (S) flag is NOT set, jump forward 12 places.
If the (S) flag is NOT set, add 12 to (IP).
If the (S) flag is set, add 2 to (IP).
The assembler calculates the jump distance.
The biggest possible forward jump is +127.
|
JNS Back
|
C4 FE
|
Jump if the (S) flag is NOT set.
If the (S) flag is NOT set, jump back 2 places.
If the (S) flag is NOT set, add -2 to (IP).
If the (S) flag is set, add 2 to (IP).
The assembler calculates the jump distance.
The biggest possible backward jump is -128.
FE is -2. This is explained here.
|
Pop-up Help
Share with your friends: |