KS57C2308/P2308/C2316/P2316 SAM47 INSTRUCTION SET
5-73
PUSH Push Onto Stack
PUSH src
Operation: Operand Operation Summary Bytes Cycles
RR Push register pair onto stack 1 1
SB Push SMB and SRB values onto stack 2 2
Description: The SP is then decreased by two and the contents of the source operand are copied into the
RAM location addressed by the stack pointer, thereby adding a new element to the top of the
stack.
Operand Binary Code Operation Notation
RR 00101r2 r1 1(SP–1) RRH, (SP–2) RRL
SP SP–2
SB 11011101(SP–1) SMB, (SP–2) SRB;
(SP) SP–2
01100111
Example: As an interrupt service routine begins, the stack pointer contains the value 0FAH and the data
pointer register pair HL contains the value 20H. The instruction
PUSH HL
leaves the stack pointer set to 0F8H and stores the values 2H and 0H in RAM locations 0F9H
and 0F8H, respectively.