XRETC COND
6-392
XRETC COND C2xLP Source-Compatible Conditional Return
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
XRETC COND 0101 0110 1111 COND 1 − 4/7
Operands COND Conditional codes:
COND Syntax Description Flags Tested
0000 NEQ Not Equal To Z = 0
0001 EQ Equal To Z = 1
0010 GT Greater Then Z = 0 AND N = 0
0011 GEQ Greater Then Or Equal To N = 0
0100 LT Less Then N = 1
0101 LEQ Less Then Or Equal To Z = 1 OR N = 1
0110 HI Higher C = 1 AND Z = 0
0111 HIS, C Higher Or Same, Carry Set C = 1
1000 LO, NC Lower, Carry Clear C = 0
1001 LOS Lower Or Same C = 0 OR Z = 1
1010 NOV No Overflow V = 0
1011 OV Overflow V = 1
1100 NTC Test Bit Not Set TC = 0
1101 TC Test Bit Set TC = 1
1110 NBIO BIO Input Equal To Zero BIO = 0
1111 UNC Unconditional −
Description Return conditionally. If the specified condition is true, a 16-bit value is
popped from the stack and stored into the low 16 bits of the PC while the
upper 6 bits of the PC are forced to 0x3F; Otherwise, execution continues
with the instruction following the XRETC operation:
if(COND = true)
{
SP = SP − 1;
PC = 0x3F:[SP];
}
else
PC = PC + 1;
Note: This instruction can only transfer program control to a location located in the upper 64K
range of program space (0x3F0000 to 0x3FFFFF). To return from a call made by
XCALL, the XRETC instruction must be used. The cycle times for this operation are:
If (COND = true) then the instruction takes 7 cycles.
If (COND = false) then the instruction takes 4 cycles.
Flags and
Modes
V
If the V flag is tested by the condition, then V is cleared.
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.