The following can be specified for disp22:
Compares the flag condition indicated by string cnd (see "Table 5.37 jcnd 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.
For a jcnd instruction other than jbr, the mnemonic "bcnd" can be used, and the "br" machine-language instruction can be used for the jbr instruction (there is no functional difference). |
If the following is specified for disp22, the assembler generates one bcond machine instructionNote. |
Relative expression having a PC offset reference for a label with a definition in the same section and the same file as this instruction and having a value in the range of -256 to +255 |
The bcnd machine instruction takes an immediate value in the range of -256 to +255 (0xFFFFFF00 to 0xFF) as the displacement. |
If the following is specified for disp22, the assembler executes instruction expansion and generates one or more machine-language instructions. |
Absolute expression having a value exceeding the range of -256 to +255 but within the range of -65,536 to +65,535 or a relative expression having a PC offset reference of label with a definition in the same section of the same file as this instruction and having a value exceeding the range of -256 to +255 but within the range of -65,536 to +65,535 |
Absolute expression having a value exceeding the range of -65,536 to +65,535 but within the range of -2,097,150 to +2,097,153Note 1, a relative expression having a PC offset reference of label with a definition in the same section of the same file as this instruction and having a value exceeding the range of -65536 to +65535, or a relative expression having a PC offset reference of label without a definition in the same file or section as this instruction. |
jbr disp22 |
jr disp22 |
jsa disp22 |
bsa Label1 br Label2 Label1: jr disp22 - 4 Label2: |
jcond disp22 |
bncond LabelNote 2 jr disp22 - 2 Label: |
The range of -2,097,150 to +2,097,153 applies to instructions other than jbr and jsa. The range for the jbr instruction is from -2,097,152 to +2,097,151, and that for the jsa instruction is from -2,097,148 to +2,097,155. |
bncond denotes an instruction that effects control of branches under opposite conditions, for example, bnz for bz or ble for bgt. |
If an absolute expression having a value exceeding the range of -2,097,150 to +2,097,153 is specified as disp22, the assembler outputs the following message and stops assembling. |
If an absolute expression having an odd-numbered value is specified as disp22, the assembler outputs the following message and stops assembling. |