Você está na página 1de 1

Conditional jumps A newbie guide to Assembler programing Conditional Jumps 1997 by Cruehead / MiB

Here... is a list of the conditional jumps. They are divided in two sections, the unsigned - and the signed conditional jumps. Unsigned values can only be positive, while dealing with signed values, the highest bit says if it is positive or not. So a value of FFFF hex would be equal to 65535 if the value is unsigned, and -1 if its signed. There are also a session with conditional jumps that does not check if the value is signed or not.

Unsigned conditional jumps JAJump if above JAEJump if above or equal JBJump if below JBEJump is below or equal JNAJump if not above (same as JBE) JNAEJump if not above or equal (same as JB) JNBJump if not below (Same as JBE) JNBEJump if not below or equal (same as JA)

Signed conditional jumps JGJump if greater JGEJump if greater of equal JLJump if less JLEJump if less or equal JNGJump if not greater (same as JLE) JNGEJump if not greater or equal (same as JGE) JNLJump if not lower (same as JGE) JNLEJump if not lower or equal (same as JG)

Conditional jump (dont matter if it's signed or not) JZJump if zero JEJump if equal (same as JZ) JNZJump if not zero JNEJump is equal (same as JNZ)

The ones you'll be mostly interseted in are JZ, JNZ, JA and JB. Depending on the previous instruction (CMP in our case) the zero flag is set. So what JE (or JZ) really does is that they checks the zero flag. If it is set (zeroflag=1) then it jumps, otherwise it dont. This is pretty important for us crackers, because we can modify the zeroflag so it suits our needs.

Back to common instructions page Copyright MiB 1998. All rights reversed.

Você também pode gostar