Rev. 1.50, 10/04, page 217 of 448
10.1.9
BT (Branch if True): Branch Instruction
Format
Operation
Instruction Code
Cycle
T Bit
BT label
If T = 1
PC + 4 + disp
×
2
→
PC
If T = 0, nop
10001001dddddddd
1 —
Description:
This is a conditional branch instruction that references the T bit. The branch is taken
if T = 1, and not taken if T = 0.
The branch destination is address (PC + 4 + displacement
×
2). The PC source value is the BT
instruction address. As the 8-bit displacement is multiplied by two after sign-extension, the branch
destination can be located in the range from –256 to +254 bytes from the BT instruction.
Notes:
If the branch destination cannot be reached, the branch must be handled by using BT in
combination with a BRA or JMP instruction, for example.
Operation:
BT(int d) /* BT disp */
{
int disp;
if ((d&0x80)==0)
disp = (0x000000FF & d);
else disp = (0xFFFFFF00 | d);
if (T==1)
PC = PC + 4 + (disp<<1);
else PC += 2;
}
Example:
SETT
;
Normally T = 1
BF TRGET_F
;
T = 1, so branch is not taken.
BT TRGET_T
;
T = 1, so branch to TRGET_T.
NOP
;
NOP
;
TRGET_T:
;
←
BT instruction branch destination
Summary of Contents for SuperH SH-4A
Page 2: ...Rev 1 50 10 04 page ii of xx ...
Page 8: ...Rev 1 50 10 04 page viii of xx ...
Page 116: ...Rev 1 50 10 04 page 96 of 448 ...
Page 178: ...Rev 1 50 10 04 page 158 of 448 ...
Page 206: ...Rev 1 50 10 04 page 186 of 448 ...
Page 231: ...Rev 1 50 10 04 page 211 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 235: ...Rev 1 50 10 04 page 215 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 238: ...Rev 1 50 10 04 page 218 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 408: ...Rev 1 50 10 04 page 388 of 448 Possible Exceptions Inexact Not generated when FPSCR PR 1 ...
Page 446: ...Rev 1 50 10 04 page 426 of 448 ...
Page 468: ...Rev 1 50 10 04 page 448 of 448 ...
Page 471: ......
Page 472: ...SH 4A Software Manual ...