-
Notifications
You must be signed in to change notification settings - Fork 3
PM_Opc_RET
Jose I Romero edited this page Dec 6, 2019
·
1 revision
== RET = Return from routine ==
Hex | Mnemonic | Cycles |
---|---|---|
F8 | RET | 16 |
F9 | RETI | 16 |
FA | RETSKIP | 16 |
F = Register F
U/V = Register U or V
SP = Register SP (Stack Pointer)
PC = Register PC (Program Counter)
; RET (Return from a subroutine)
V = Memory[SP+2]
PC = (Memory[SP+1] SHL 8) + Memory[SP]
SP = SP + 3
; RETI (Return from an interrupt)
V = Memory[SP+3]
PC = (Memory[SP+2] SHL 8) + Memory[SP+1]
F = Memory[SP]
SP = SP + 4
; RETSKIP (Return from a subroutine and skip 2 bytes)
V = Memory[SP+2]
PC = (Memory[SP+1] SHL 8) + Memory[SP] + 2
SP = SP + 3
Return from a subroutine or an interrupt.
None
; A = 0x10
; B = 0x10
CALL`` ``somefunction
; A = 0x11
; B = 0x0F
(...)
somefunction:
INC`` ``A
DEC`` ``B
RET
INC`` ``A
; Never executed