Instruction Set
4-178
POPA* Pop All 16-Bit General Registers from Stack
POPA
What It Does
POPA copies each of eight components from the top of the stack to one of the 16-bit general
registers and then removes the storage space for the components from the stack.
Syntax
Description
POPA pops the eight 16-bit general registers, but it discards the SP value instead of loading
it into the SP register. POPA reverses a previous PUSHA, restoring the general registers
to their values before the PUSHA instruction was executed. POPA pops the DI register first.
Operation It Performs
Flag Settings After Instruction
* – This instruction was not available on the original 8086/8088 systems.
Form
Opcode
Description
Clocks
Am186 Am188
POPA
61
Pop DI, SI, BP, BX, DX, CX, and AX
51
83
POPA
/* pop 16-bit general registers from stack */
DI = pop();
SI = pop();
BP = pop();
/* skip stack pointer */
SP = SP + 2;
/* continue popping */
BX = pop();
DX = pop();
CX = pop();
AX = pop();
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Processor Status
Flags Register
reserved
OF DF
IF TF SF ZF
AF
PF
CF
? = undefined; – = unchanged
–
–
–
–
–
– res – res – res –
Содержание Am186 Series
Страница 1: ...Am186 and Am188 Family Instruction Set Manual February 1997...
Страница 10: ...Table of Contents x...
Страница 18: ...Programming 1 8...
Страница 40: ...Instruction Set Listing 3 14...