BASIC INSTRUCTION SET
OPERANDS
FROM
PREVIOUS
PUSH
INSTRUCTIONS
AX
CX
DX
BX
SP
BP
SI
SP_
DI
LOW
ADDRESS
~
1-------4
BEFORE
POPA
~
"
,~y\
""
AFTER
POPA
m
'r
,~~~
~r
,
SS
LIMIT
SP
SS
POPA
copies the contents
of
seven stack locations
to
the corresponding general regl.ters.
POPA
discards the
.tored
value
of
SP.
G30108
Figure 3-4. POPA
Setting
DF
(direction flag) causes string instructions to auto-decrement; that
is,
to process strings from
high addresses to
low
addresses, or from "right-to-Ieft." Clearing DF causes string instructions to auto-
increment, or to process strings from "left-to-right."
Setting
IF
(interrupt flag) allows the CPU to recognize external (maskable) interrupt requests. Clear-
ing
IF
disables these interrupts.
IF
has
no
effect
on
either internally generated interrupts, nonmaskable
external interrupts, or processor extension segment overrun interrupts.
Setting
TF
(trap flag) puts the processor into single-step mode for debugging. In this mode, the
CPU
automatically generates an internal interrupt after each instruction, allowing a program to be inspected
as it executes each instruction, instruction by instruction.
3.3
ARITHMETIC INSTRUCTIONS
The arithmetic instructions of the 8086-family processors simplify the manipulation of numerical data.
Multiplication and division instructions ease the handling of signed and unsigned binary integers as
well
as unpacked decimal integers.
3-5