
The 8051 Instruction Set
Atmel 8051 Microcontrollers Hardware Manual 1-54
4316E–8051–01/07
1.14.37 POP direct
1.14.38 PUSH direct
Function: Pop from stack.
Description: The contents of the internal RAM location addressed by the Stack Pointer is read, and the Stack Pointer is
decremented by one. The value read is then transferred to the directly addressed byte indicated. No flags are
affected.
Example: The Stack Pointer originally contains the value 32H, and internal RAM locations 30H through 32H contain the
values 20H, 23H, and 01H, respectively. The following instruction sequence,
POP DPH
POP DPL
leaves the Stack Pointer equal to the value 30H and sets the Data Pointer to 0123H. At this point, the following
instruction,
POP SP
leaves the Stack Pointer set to 20H. In this special case, the Stack Pointer was decremented to 2FH before
being loaded with the value popped (20H).
Bytes: 2
Cycles: 2
Encoding: 1 1 0 1 0 0 0 0 direct address
Operation: POP
(direct) ← ((SP))
(SP) ← (SP) - 1
Function: Push onto stack
Description: The Stack Pointer is incremented by one. The contents of the indicated variable is then copied into the internal
RAM location addressed by the Stack Pointer. Otherwise no flags are affected.
Example: On entering an interrupt routine, the Stack Pointer contains 09H. The Data Pointer holds the value 0123H. The
following instruction sequence,
PUSH DPL
PUSH DPH
leaves the Stack Pointer set to 0BH and stores 23H and 01H in internal RAM locations 0AH and 0BH,
respectively.
Bytes: 2
Cycles: 2
Encoding: 1 1 0 0 0 0 0 0 direct address
Operation: PUSH
(SP) ← (SP) + 1
((SP)) ← (direct)
Comentários a estes Manuais