jcnd17


Conditional branch.

[Syntax]

-

jcnd17 disp17

 

The following can be specified for disp17:

-

Absolute expression having a value of up to 17 bits

-

Relative expression having a PC offset reference of label

[Function]

Compares the flag condition indicated by string cnd (see "Table 5.39 jcnd17 Instruction List") with the current flag condition. If they are found to be the same, transfers control to the address obtained by adding the value of the absolute expression or relative expression specified by the operand to the current value of the program counter (PC)Note.

Note

For a jcnd17 instruction other than jbr17, the mnemonic "bcnd17" can be used (there is no functional difference).

Table 5.39

jcnd17 Instruction List

Instruction

Flag Condition

Meaning of Flag Condition

jgt17

( (S xor OV) or Z) = 0

Greater than (signed)

jge17

(S xor OV) = 0

Greater than or equal (signed)

jlt17

(S xor OV) = 1

Less than (signed)

jle17

( (S xor OV) or Z) = 1

Less than or equal (signed)

jh17

(CY or Z) = 0

Higher (Greater than)

jnl17

CY = 0

Not lower (Greater than or equal)

jl17

CY = 1

Lower (Less than)

jnh17

(CY or Z) = 1

Not higher (Less than or equal)

je17

Z = 1

Equal

jne17

Z = 0

Not equal

jv17

OV = 1

Overflow

jnv17

OV = 0

No overflow

jn17

S = 1

Negative

jp17

S = 0

Positive

jc17

CY = 1

Carry

jnc17

CY = 0

No carry

jz17

Z = 1

Zero

jnz17

Z = 0

Not zero

jbr17

---

Not specifiable

jsa17

SAT = 1

Saturated

[Description]

-

jbr17 cannot be described.

-

If the following is specified for disp17, the assembler generates one bcond machine instruction.

(a)

Absolute expression having a value in the range of -65,536 to +65,535

(b)

Relative expression having a PC offset reference of label

jcnd    disp17
bcnd    disp17

[Flag]

CY

---

OV

---

S

---

Z

---

SAT

---

[Caution]

-

If an absolute expression having a value exceeding the range of -65,536 to +65,536 is specified as disp17, the assembler outputs the following message and stops assembling.

E0550230 : illegal operand (range error in displacement)

-

If an absolute expression having an odd-numbered value is specified as disp17, the assembler outputs the following message and stops assembling.

E0550226 : illegal operand (must be even displacement)