x86 Assembly Language Reference Manual

Exit Print View

Updated: December 2014
 
 

3.2.7 Control Transfer Instructions

The control transfer instructions control the flow of program execution.

Table 3-8  Control Transfer Instructions
Oracle Solaris Mnemonic
Intel/AMD Mnemonic
Description
Notes
bound{wl}
BOUND
detect value out of range
boundw invalid under –m64
call
CALL
call procedure
enter
ENTER
high-level procedure entry
int
INT
software interrupt
into
INTO
interrupt on overflow
invalid under –m64
iret
IRET
return from interrupt
ja
JA
jump if above
jae
JAE
jump if above or equal
jb
JB
jump if below
jbe
JBE
jump if below or equal
jc
JC
jump if carry
jcxz
JCXZ
jump register %cx zero
je
JE
jump if equal
jecxz
JECXZ
jump register %ecx zero
invalid under –m64
jg
JG
jump if greater
jge
JGE
jump if greater or equal
jl
JL
jump if less
jle
JLE
jump if less or equal
jmp
JMP
jump
jnae
JNAE
jump if not above or equal
jnb
JNB
jump if not below
jnbe
JNBE
jump if not below or equal
jnc
JNC
jump if not carry
jne
JNE
jump if not equal
jng
JNG
jump if not greater
jnge
JNGE
jump if not greater or equal
jnl
JNL
jump if not less
jnle
JNLE
jump if not less or equal
jno
JNO
jump if not overflow
jnp
JNP
jump if not parity
jns
JNS
jump if not sign (non-negative)
jnz
JNZ
jump if not zero
jo
JO
jump if overflow
jp
JP
jump if parity
jpe
JPE
jump if parity even
jpo
JPO
jump if parity odd
js
JS
jump if sign (negative)
jz
JZ
jump if zero
lcall
CALL
call far procedure
valid as indirect only for –m64
leave
LEAVE
high-level procedure exit
loop
LOOP
loop with %ecx counter
loope
LOOPE
loop with %ecx and equal
loopne
LOOPNE
loop with %ecx and not equal
loopnz
LOOPNZ
loop with %ecx and not zero
loopz
LOOPZ
loop with %ecx and zero
lret
RET
return from far procedure
valid as indirect only for m64
ret
RET
return