LRETR
6-132
LRETR Long Return Using RPC
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
LRETR 0000 0000 0000 0110 1 − 4
Operands None
Description Long return using return PC pointer (RPC). The return address stored in the
RPC register is loaded onto the PC. Next, the RPC register is loaded from the
software stack in two 16-bit operations:
PC = RPC;
SP = SP – 1;
temp(31:16) = [SP];
SP = SP − 1;
temp(15:0) = [SP];
RPC = temp(21:0);
Note: The LCR and LRETR operations, enable 4 cycle call and 4 cycle return. The standard
LC and LRET operations only enable a 4 cycle call and 8 cycle return. The LCR and
LRETR operations can be nested and can freely replace the LC and LRET operations.
This is the case on interrupts also. Only on a task switch operation, does the RPC need
to be manually saved and restored.
Flags and
Modes
None
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; RPC call of FuncA:
LCR FuncA ; Call FuncA, return address in RPC
.
.
FuncA: ; Function A:
.
.
LRETR ; RPC return