SAM47 INSTRUCTION SET KS57C2308/P2308/C2316/P2316
5-78
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
– 11000101PC13–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) 0000
SP + 6(00H)