KS57C2308/P2308/C2316/P2316SAM47 INSTRUCTION SET

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

0

0

1

 

0

1

 

r2

r1

1

(SP–1) RRH, (SP–2) RRL

 

 

 

 

 

 

 

 

 

 

 

SP SP–2

 

 

 

 

 

 

 

 

 

 

 

 

SB

1

1

0

 

1

1

 

1

0

1

(SP–1) SMB, (SP–2) SRB;

 

 

 

 

 

 

 

 

 

 

 

(SP) SP–2

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

0

0

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

5-73

Page 147
Image 147
Samsung KS57C2308 manual Push Push Onto Stack, Push HL