
Instruction Set
4-184
PUSHA* Push All 16-Bit General Registers onto Stack
PUSHA
What It Does
PUSHA creates storage space for eight components on the stack and then copies each of
the eight 16-bit general registers to the stack.
Syntax
Description
PUSHA saves the 16-bit general registers on the processor stack. PUSHA decrements the
stack pointer (SP) by 16 to accommodate the required 8-word field. Because the registers
are pushed onto the stack in the order in which they were given, they appear in the 16 new
stack bytes in reverse order. The last register pushed is the DI register.
Operation It Performs
Flag Settings After Instruction
* – This instruction was not available on the original 8086/8088 systems.
Form
Opcode
Description
Clocks
Am186 Am188
PUSHA
60
Push AX, CX, DX, BX, original SP, BP, SI, and DI
36
68
PUSHA
/* save stack pointer */
temp = SP;
/* push 16-bit general registers onto stack */
push(AX);
push(CX);
push(DX);
push(BX);
/* push stack pointer */
push(temp);
/* continue pushing */
push(BP);
push(SI);
push(DI);
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 –
Summary of Contents for Am186 Series
Page 1: ...Am186 and Am188 Family Instruction Set Manual February 1997...
Page 10: ...Table of Contents x...
Page 18: ...Programming 1 8...
Page 40: ...Instruction Set Listing 3 14...