bcond9 or bcond17 should be specified when output should be with a fixed disp width at all times. These instructions will not be expanded. |
Code that can be specified in cond is shown in "Table 5.28 bcond Instruction". |
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. |
br disp22 |
jr disp22 |
bsa disp22 |
bsa Label1 br Label2 Label1: jr disp22 - 4 Label2: |
bcond disp22 |
bncond LabelNote 2 jr disp22 - 2 Label: |
The range of -2,097,150 to +2,097,153 applies to instructions other than br and bsa. The range for the br instruction is from -2,097,152 to +2,097,151, and that for the bsa 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. |