TEST = And function to flags no result:
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Register/memory and register
1 0 0 0 0 1 0 w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate data and register/memory
1 1 1 1 0 1 1 w
 mod  0 0 0 r/m
(DISP-LO)
(DISP-HI)
data
data if w=1
Immediate data and accumulator
1 0 1 0 1 0 0 w
data
data if w=1
OR = Or:
Reg/memory and register to either
0 0 0 0 1 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate to register/memory
1 0 0 0 0 0 0 w
 mod  0 0 1 r/m
(DISP-LO)
(DISP-HI)
data
data if w=1
Immediate to accumulator
0 0 0 0 1 1 0 w
data
data if w=1
XOR = Exclusive or:
Reg/memory and register to either
0 0 1 1 0 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate to register/memory
1 0 0 0 0 0 0 w
 mod  1 1 0 r/m
(DISP-LO)
(DISP-HI)
data
data if w=1
Immediate to accumulator
0 0 1 1 0 1 0 w
data
data if w=1
STRING MANIPULATION
REP = Repeat
1 1 1 1 0 0 1 z
MOVS = Move byte/word
1 0 1 0 0 1 0 w
CMPS = Compare byte/word
1 0 1 0 0 1 1 w
SCAS = Scan byte/word
1 0 1 0 1 1 1 w
LODS = Load byte/word to AL/AX
1 0 1 0 1 1 0 w
STOS = Store byte/word from AL/AX
1 0 1 0 1 0 1 w
CONTROL TRANSFER
CALL = Call:
Direct within segment
1 1 1 0 1 0 0 0
IP-INC-LO
IP-INC-HI
Indirect within segment
1 1 1 1 1 1 1 1
 mod  0 1 0 r/m
(DISP-LO)
(DISP-HI)
Direct intersegment
1 0 0 1 1 0 1 0
IP-lo
IP-hi
CS-lo
CS-hi
Indirect intersegment
1 1 1 1 1 1 1 1
 mod  0 1 1 r/m
(DISP-LO)
(DISP-HI)
JMP = Unconditional jump:
Direct within segment
1 1 1 0 1 0 0 1
IP-INC-LO
IP-INC-HI
Direct within segment-short
1 1 1 0 1 0 1 1
IP-INC8
Indirect within segment
1 1 1 1 1 1 1 1
 mod  1 0 0 r/m
(DISP-LO)
(DISP-HI)
Direct intersegment
1 1 1 0 1 0 1 0
IP-lo
IP-hi
CS-lo
CS-hi
Indirect intersegment
1 1 1 1 1 1 1 1
 mod  1 0 1 r/m
(DISP-LO)
(DISP-HI)
RET = Return from CALL:
Within segment
1 1 0 0 0 0 1 1
Within seg adding immed to SP
1 1 0 0 0 0 1 0
data-lo
data-hi
Intersegment
1 1 0 0 1 0 1 1
Intersegment adding immediate to SP
1 1 0 0 1 0 1 0
data-lo
data-hi
JE/JZ = Jump on equal/zero
0 1 1 1 0 1 0 0
IP-INC8
JL/JNGE = Jump on less/not greater or equal
0 1 1 1 1 1 0 0
IP-INC8
JLE/JNG = Jump on less or equal/not greater
0 1 1 1 1 1 1 0
IP-INC8
JB/JNAE = Jump on below/not above or equal
0 1 1 1 0 0 1 0
IP-INC8
JBE/JNA = Jump on below or equal/not above
0 1 1 1 0 1 1 0
IP-INC8
JP/JPE = Jump on parity/parity even
0 1 1 1 1 0 1 0
IP-INC8
JO = Jump on overflow
0 1 1 1 0 0 0 0
IP-INC8
JS = Jump on sign
0 1 1 1 1 0 0 0
IP-INC8
JNE/JNZ = Jump on not equal/not zero
0 1 1 1 0 1 0 1
IP-INC8
JNL/JGE = Jump on not less/greater or equal
0 1 1 1 1 1 0 1
IP-INC8
JNLE/JG = Jump on not less or equal/greater
0 1 1 1 1 1 1 1
IP-INC8
JNB/JAE = Jump on not below/above or equal
0 1 1 1 0 0 1 1
IP-INC8
JNBE/JA = Jump on not below or equal/above
0 1 1 1 0 1 1 1
IP-INC8
JNP/JPO = Jump on not par/par odd
0 1 1 1 0 0 0 1
IP-INC8
JNO = Jump on not overflow
0 1 1 1 0 0 0 1
IP-INC8
JNS = Jump on not sign
0 1 1 1 1 0 0 1
IP-INC8
LOOP = Loop CX times
1 1 1 0 0 0 1 0
IP-INC8
LOOPZ/LOOPE = Loop while zero/equal
1 1 1 0 0 0 0 1
IP-INC8
LOOPNZ/LOOPNE = Loop while not zero/equal
1 1 1 0 0 0 0 0
IP-INC8
JCXZ = Jump on CX zero
1 1 1 0 0 0 1 1
IP-INC8
INT = Interrupt:
Type specified
1 1 0 0 1 1 0 1
DATA-8
Type 3
1 1 0 0 1 1 0 0
INTO = Interrupt on overflow
1 1 0 0 1 1 1 0
IRET = Interrupt return
1 1 0 0 1 1 1 1
PROCESSOR CONTROL
CLC = Clear carry
1 1 1 1 1 0 0 0
CMC = Complement carry
1 1 1 1 0 1 0 1
STC = Set carry
1 1 1 1 1 0 0 1
CLD = Clear direction
1 1 1 1 1 1 0 0
STD = Set direction
1 1 1 1 1 1 0 1
CLI = Clear interrupt
1 1 1 1 1 0 1 0
STI = Set interrupt
1 1 1 1 1 0 1 1
HLT = Halt
1 1 1 1 0 1 0 0
WAIT = Wait
1 0 0 1 1 0 1 1
ESP = Escape (to external device)
1 1 0 1 1 x x x
 mod  y y y r/m
(DISP-LO)
(DISP-HI)
LOCK = Bus lock prefix
1 1 1 1 0 0 0 0
SEGMENT = Override prefix
0 0 1 reg 1 1 0

Table of Contents | Next page | Previous page

This is page 57.