The assembler expands a .Bcond directive into instructions
Remark | .BT, .BF, .BC, .BNC, .BZ, .BNZ, .BH, and .BNH are collectively called .Bcond. |
[Syntax]
Symbol field
|
Mnemonic field
|
Operand field
|
Comment field
|
|
.Bcond
|
label
|
[; comment]
|
- | In the above syntax, .BC, .BNC, .BZ, .BNZ, .BH, and .BNH can be specified as .Bcond.
A label can be specified in the form of !LABEL, $!LABEL, or !!LABEL. |
Symbol field
|
Mnemonic field
|
Operand field
|
Comment field
|
|
.Bcond
|
bit-term, label
|
[; comment]
|
- | In the above syntax, .BT, and .BF can be specified as .Bcond.
A label can be specified in the form of !LABEL, $!LABEL, or !!LABEL. |
Symbol field
|
Mnemonic field
|
Operand field
|
Comment field
|
|
.Bcond
|
label1, label2
|
[; comment]
|
- | In the above syntax, .BC, .BNC, .BZ, .BNZ, .BH, and .BNH can be specified as .Bcond.
For label1 and label2, the following combinations are allowed. |
|
|
!LABEL1
|
$LABEL2
|
!LABEL1
|
!LABEL2
|
$!LABEL1
|
$LABEL2
|
$!LABEL1
|
$!LABEL2
|
$!LABEL1
|
!!LABEL2
|
!!LABEL1
|
$LABEL2
|
!!LABEL1
|
$!LABEL2
|
!!LABEL1
|
!!LABEL2
|
Symbol field
|
Mnemonic field
|
Operand field
|
Comment field
|
|
.Bcond
|
bit-term, label1, label2
|
[; comment]
|
- | In the above syntax, .BT, and .BF can be specified as .Bcond.
For label1 and label2, the following combinations are allowed. |
|
|
!LABEL1
|
!LABEL2
|
$!LABEL1
|
$!LABEL2
|
$!LABEL1
|
!!LABEL2
|
!!LABEL1
|
$!LABEL2
|
!!LABEL1
|
!!LABEL2
|
[Function]
- | The assembler expands a .Bcond directive into instructions. |
- | The .Bcond directive is provided to be output by the compiler; the user must not use this directive. |
[Description]
- | .Bcond directives are generated by the compiler, and the assembler expands them as follows.
Ncond indicates a condition opposite to cond. |
|
|
.Bcond label
|
SKNcond
BR label
|
.Bcond bit-term
|
BNcond bit-term, $temp
BR label
temp:
|
.Bcond label1, label2
|
SKNcond
BR label1
BR label2
|
.Bcond bit-term, label1, label2
|
Bcond bit-term, $temp
BR label2
temp:
BR label1
|