jcnd9


Conditional branch.

[Syntax]

-

jcnd9 disp9

 

The following can be specified for disp9:

-

Absolute expression having a value of up to 9 bits

-

Relative expression having a PC offset reference of label

[Function]

Compares the flag condition indicated by string cnd (see "Table 5.37 jcnd9 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 jcnd9 instruction other than jbr9, the mnemonic "bcnd9" can be used, and the "br9" machine-language instruction can be used for the jbr9 instruction (there is no functional difference).

Table 5.37

jcnd9 Instruction List

Instruction

Flag Condition

Meaning of Flag Condition

jgt9

( (S xor OV) or Z) = 0

Greater than (signed)

jge9

(S xor OV) = 0

Greater than or equal (signed)

jlt9

(S xor OV) = 1

Less than (signed)

jle9

( (S xor OV) or Z) = 1

Less than or equal (signed)

jh9

(CY or Z) = 0

Higher (Greater than)

jnl9

CY = 0

Not lower (Greater than or equal)

jl9

CY = 1

Lower (Less than)

jnh9

(CY or Z) = 1

Not higher (Less than or equal)

je9

Z = 1

Equal

jne9

Z = 0

Not equal

jv9

OV = 1

Overflow

jnv9

OV = 0

No overflow

jn9

S = 1

Negative

jp9

S = 0

Positive

jc9

CY = 1

Carry

jnc9

CY = 0

No carry

jz9

Z = 1

Zero

jnz9

Z = 0

Not zero

jbr9

---

Always (Unconditional)

jsa9

SAT = 1

Saturated

[Description]

-

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

(a)

Absolute expression having a value in the range of -256 to +255

(b)

Relative expression having a PC offset reference of label

jcnd9    disp9
bcnd    disp9

[Flag]

CY

---

OV

---

S

---

Z

---

SAT

---

[Caution]

-

If an absolute expression having a value exceeding the range of -256 to +255 is specified as disp9, 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 disp9, the assembler outputs the following message and stops assembling.

E0550226 : illegal operand (must be even displacement)