15
15 – 77
Syntax:
IF
FLAG_IN
JUMP
<addr>
;
NOT FLAG_IN
CALL
Example:
IF FLAG_IN JUMP service_proc_three;
Description:
Test the condition of the FI pin of the processor and, if set
to one, perform the specified jump or call. If FI is zero then perform a no-
operation. Omitting the flag in condition reduces the instruction to a
standard JUMP or CALL.
The JUMP instruction causes program execution to continue at the
address specified by the instruction. The addressing mode for the JUMP
on FI must be direct.
The CALL instruction is intended for calling subroutines. CALL pushes
the PC stack with the return address and causes program execution to
continue at the address specified by the instruction. The addressing mode
for the CALL on FI must be direct.
If JUMP or CALL is the last instruction inside a DO UNTIL loop, you
must ensure that the loop stacks are properly handled.
For direct addressing (using an immediate address value or a label), the
program address is stored directly in the instruction word as a full 14-bit
field.
Status Generated:
None affected.
Instruction Field:
Conditional JUMP or CALL on Flag In Direct Instruction Type 27:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 1 1 Address Addr FIC S
S: specifies JUMP (0) or CALL (1)
FIC: latched state of FI pin
2 MSBs
12 LSBs
PROGRAM FLOW
JUMP or CALL ON FLAG IN PIN