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
55*bh
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