Control Transfer Instructions
Name Description Code Operation operands operand size
jmp Jump jmp dest IP = dest
EIP = dest
const
reg
mem
word
dword
pword
jmp near dest IP = dest word
dword
jmp far dest EIP = dest dword
pword
call Call procedure call proc

IP = proc
EIP = proc

push offset of next instruction

word
dword
pword
ret Return

ret
retn
retf

retw,retnw,retfw
retd,retnd,retfd

pop IP    
ret const
retn const
retf const
pop IP, sp=sp+const const  
int Software interrupt

int const

Interrupt vector number specified
by immediate byte
const byte
int3 Interrupt 3 int3 Interrupt 3 ¡ª trap to debugger    
into Interrupt on overflow into Interrupt 4 if OF=1    
iret Interrupt return iret
iretw
iretd
jmp, pop flags    
Jumps Conditional        
je
jz
== j* dest jump if ZF=1 const word
dword
jne
jnz
/= jump if ZF=0
jp
jpe
  jump if PF=1
jnp
jpo
  jump if PF=0
Jumps Unsigned  
ja
jnbe
> jump if CF or ZF = 0
jb
jnae
jc
< jump if CF=1
jnc
jae
jnb
>= jump if CF=0
jbe
jna
<= jump if CF or ZF = 1
Jumps Signed  
jg
jnle
> jump if (SF xor OF) or ZF = 0
jl
jnge
< jump if SF xor OF = 1
jge
jnl
>= jump if SF xor OF = 0
jle
jng
<= jump if (SF xor OF) or ZF = 1
jo   jump if OF=1
jno   jump if OF=0
js   jump if SF=1
jns   jump if SF=0
Jumps Conditional -- loop        
loop loop loop label decrement cx (or ecx),
jump if cx (or ecx) /= 0
const

>label-128

<lable+127

loopw label decrement cx,
jump if cx /= 0
loopd label decrement ecx,
jump if ecx /= 0
loopz loope label
loopz label
decrement cx (or ecx),
jump if cx (or ecx) /= 0 and ZF=1
loopew label
loopzw label
decrement cx,
jump if cx /= 0 and ZF=1
looped label
loopzd label
decrement ecx,
jump if ecx /= 0 and ZF=1
loopnz loopne label
loopnz label
decrement cx (or ecx),
jump if cx (or ecx) /= 0 and ZF=0
loopnew label
loopnzw label
decrement cx,
jump if cx /= 0 and ZF=0
loopned label
loopnzd label
decrement ecx,
jump if ecx /= 0 and ZF=0
jcxz Jump register CX zero jcxz label jump if ecx = 0
jecxz Jump register ECX zero jecxz lable jump if ecx = 0
Jumps Conditional -- bound        
bound Detect value out of range bound op,limits

if op < limits[0] or
op > limits[1] then
int 5

reg, mem word,word
dword,dword