If C = 0, continue
If C = 1, PC <- PC + e
JR
C,e
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | $38 |
e-2 |
This instruction provides for conditional branching to other segments of a program depending on the results of a test on the Carry Flag. If the flag = 1, the value of displacement e is added to the Program Counter (PC) and the next instruction is fetched from the location designated by the new contents of the PC. The jump is measured from the address of the instruction op code and contains a range of -126 to +129 bytes. The assembler automatically adjusts for the twice incremented PC.
If the flag = 0, the next instruction executed is taken from the location following this instruction.
None
The Carry flag is set and it is required to jump back four locations from $480. The assembly language statement is
JR C,$-4
The resulting object code and final Program Counter value is shown in the following table:
Location | Instruction | |
---|---|---|
$47C | <- PC after jump | |
$47D | --- | |
$47E | --- | |
$47F | --- | |
$480 | $48 | |
$481 | $FA (two's complement -6) |