Renesas M32R-FPU Manual Do Utilizador

Página de 192
3
3-20
M32R-FPU Software Manual (Rev.1.01)
BL
BL
branch instruction
Branch and link
[Mnemonic]
(1)
 
 BL  pcdisp8
(2)
 
 BL  pcdisp24
[Function]
Subroutine call (PC relative)
(1)  R14 = ( PC & 0xfffffffc ) + 4;
       PC = ( PC & 0xfffffffc ) + ( ( ( signed char ) pcdisp8 ) << 2 );
(2)  R14 = ( PC & 0xfffffffc ) + 4;
       PC = ( PC & 0xfffffffc ) + ( sign_extend ( pcdisp24 ) << 2 );
where
#define  sign_extend(x) ( ( ( signed ) ( (x)<< 8 ) ) >>8 )
[Description]
BL causes an unconditional branch to the address specified by the label and puts the return
address in R14.
There are two instruction formats; this allows software, such as an assembler, to decide on the
better format.
The condition bit (C) is unchanged.
[EIT occurrence]
None
[Encoding]
1110
1111
1110
0111
BL  pcdisp24
BL  pcdisp8
pcdisp8
pcdisp24
INSTRUCTIONS
3.2 Instruction description