
Table of Contents
vi
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.1.10 Logical Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8
3.1.11 Processor Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9
3.1.12 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9
3.2 INSTRUCTION SET in alphabetical order . . . . . . . . . . . . . . . . . . . . . . . .3-11
Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3
Control Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3
Data Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5
Decimal Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6
Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7
Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8
CHAPTER 4
INSTRUCTION SET
4.1 INSTRUCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1
AAA
ASCII Adjust AL After Addition.....................................................4-2
AAD
ASCII Adjust AX Before Division..................................................4-4
AAM
ASCII Adjust AL After Multiplication.............................................4-6
AAS
ASCII Adjust AL After Subtraction................................................4-8
ADC
Add Numbers with Carry............................................................4-10
ADD
Add Numbers ............................................................................ 4-14
AND
Logical AND ...............................................................................4-17
BOUND
Check Array Index Against Bounds ...........................................4-19
CALL
Call Procedure ...........................................................................4-21
CBW
Convert Byte Integer to Word.....................................................4-24
CLC
Clear Carry Flag.........................................................................4-26
CLD
Clear Direction Flag ...................................................................4-29
CLI
Clear Interrupt-Enable Flag........................................................4-31
CMC
Complement Carry Flag.............................................................4-33
CMP
Compare Components...............................................................4-34
CMPS
Compare String Components.....................................................4-36
CWD
Convert Word Integer to Doubleword.........................................4-40
DAA
Decimal Adjust AL After Addition ...............................................4-42
DAS
Decimal Adjust AL After Subtraction..........................................4-45
DEC
Decrement Number by One .......................................................4-48
DIV
Divide Unsigned Numbers .........................................................4-50
ENTER
Enter High-Level Procedure.......................................................4-53
ESC
Escape .......................................................................................4-56
HLT
Halt.............................................................................................4-57
IDIV
Divide Integers...........................................................................4-60
IMUL
Multiply Integers.........................................................................4-63
IN
Input Component from Port........................................................4-67
INC
Increment Number by One.........................................................4-69
INS
Input String Component from Port .............................................4-71
INT
Generate Interrupt......................................................................4-73
IRET
Interrupt Return..........................................................................4-76
JA
Jump If Above ............................................................................4-78
JAE
Jump If Above or Equal..............................................................4-80
JB
Jump If Below.............................................................................4-82
JBE
Jump If Below or Equal ..............................................................4-84
JC
Jump If Carry..............................................................................4-86
JCXZ
Jump If CX Register Is Zero.......................................................4-87
JE
Jump If Equal .............................................................................4-89