SAM47 INSTRUCTION SETKS57C2308/P2308/C2316/P2316

RET — Return From Subroutine

RET

 

 

 

 

 

 

 

 

 

Operation:

Operand

Operation Summary

Bytes

Cycles

 

 

 

 

 

 

Return from subroutine

1

3

 

 

 

 

 

Description: RET pops the PC values successively from the stack, incrementing the stack pointer by six. Program execution continues from the resulting address, generally the instruction immediately following a CALL or CALLS.

Operand

 

 

Binary Code

 

 

Operation Notation

 

 

 

 

 

 

 

 

 

 

1

1

0

0

0

1

0

1

PC13–8 (SP+1) (SP)

 

 

 

 

 

 

 

 

 

PC7–0 (SP+2) (SP+3)

 

 

 

 

 

 

 

 

 

PSW EMB,ERB

 

 

 

 

 

 

 

 

 

SP SP+6

 

 

 

 

 

 

 

 

 

 

Example: The stack pointer contains the value 0FAH. RAM locations 0FAH, 0FBH, 0FCH, and and 0FDH contain 1H, 0H, 5H, and 2H, respectively. The instruction

RET

leaves the stack pointer with the new value of 00H and program execution continues from

location 0125H.

During a return from subroutine, PC values are popped from stack locations as follows:

SP (0FAH)

 

PC11–PC8

 

 

 

 

 

 

SP + 1 (0FBH)

0

0

PC13

PC12

 

 

 

 

 

SP + 2(0FCH)

 

PC3–PC0

 

 

 

 

 

SP + 3(0FDH)

 

PC7–PC4

 

 

 

 

 

 

SP + 4(0FEH)

0

0

EMB

ERB

 

 

 

 

 

SP + 5(0FFH)

0

0

0

0

SP + 6(00H)

 

 

 

 

 

 

 

 

 

 

 

 

 

5-78

Page 152
Image 152
Samsung KS57C2308 manual RET Return From Subroutine, Psw ← Emb,Erb