Instruction set summary – Intel 386 User Manual
Page 646

E-9
INSTRUCTION SET SUMMARY
STRING MANIPULATION INSTRUCTIONS
Clk Count
Virtual
8086 Mode
CMPS = Compare
byte word
1 0 1 0 0 1 1 w
10*
10*
b
h
INS = Input byte/word
from DX port
0 1 1 0 1 1 0 w
†30
17
10*/32**
b
s/t, h, m
LODS = Load byte/word
to AL/AX/EAX
1 0 1 0 1 1 0 w
5
5*
b
h
MOVS = Move byte word
1 0 1 0 0 1 0 w
7
7**
b
h
OUTS = Output
byte/word to DX port
0 1 1 0 1 1 1 w
†31
18
11*/33*
b
s/t, h, m
SCAS = Scan byte word
1 0 1 0 1 1 1 w
7*
7*
b
h
STOS = Store byte/word
from AL/AX/EX
1 0 1 0 1 0 1 w
4*
4*
b
h
XLAT = Translate String
1 1 0 1 0 1 1 1
5*
5*
h
REPEATED STRING MANIPULATION
Repeated by count in CX or ECX:
REPE CMPS = Compare string
find non-match
1 1 1 1 0 0 1 1
1 0 1 0 0 1 1 w
Clk Count
Virtual
8086 Mode
5 + 9n**
5 + 9n**
b
h
find match
1 1 1 1 0 0 1 0
1 0 1 0 0 1 1 w
5 + 9n**
5 + 9n**
b
h
REP INS = Input string
1 1 1 1 0 0 1 0
0 1 1 0 1 1 0 w
†31+6n
17 + 7n*
11 + 7n*/
32+ 6n*
b
s/t, h, m
REP LODS = Load string
1 1 1 1 0 0 1 0
1 0 1 0 1 1 0 w
5 + 6n*
5 + 6n*
b
h
REP MOVS = Move
string
1 1 1 1 0 0 1 0
1 0 1 0 0 1 0 w
7 + 4n*
7 + 4n**
b
h
REP OUTS = Output
string
1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 w
†30+8n
16 + 8n*
10 + 8n*/
31+ 8n*
b
s/t, h, m
REPE SCAS = Scan
string
Find non-AL/AX/EAX
1 1 1 1 0 0 1 1
1 0 1 0 1 1 1 w
5 + 8n*
5 + 8n*
b
h
REPNE SCAS = Scan
string
Find AL/AX/EAX
1 1 1 1 0 0 1 0
1 0 1 0 1 1 1 w
5 + 8n*
5 + 8n*
b
h
REP STOS = Store
string
1 1 1 1 0 0 1 0
1 0 1 0 1 0 1 w
5 + 5n*
5 + 5n*
b
h
BIT MANIPULATION
BSF = scan bit forward
0 0 0 0 1 1 1 1
1 0 1 1 1 1 0 0
mod reg r/m
10 + 3n*
10 + 3n*
b
h
BSR = scan bit reverse
0 0 0 0 1 1 1 1
1 0 1 1 1 1 0 1
mod reg r/m
10 + 3n*
10 + 3n*
b
h
BT = test bit
register/memory,
immediate
0 0 0 0 1 1 1 1
1 0 1 1 1 0 1 0
mod 1 0 0 r/m
immed
8-bit data
3/6*
3/6*
b
h
Table E-1. Instruction Set Summary (Sheet 8 of 19)
Instruction
Format
Clock Count
Notes
Real
Ad-
dress
Mode
or
Virtual
8086
Mode
Pro-
tected
Virtual
Ad-
dress
Mode
Real
Ad-
dress
Mode
or
Virtual
8086
Mode
Pro-
tected
Virtual
Ad-
dress
Mode