| 
 BSR 
 | 
 
Relative subroutine branch 
 | 
 
BSR 
 | 
| 
 
Branch to SubRoutine 
 | 
[Syntax]	
BSR(.length)   src 
 
[Operation]
SP = SP - 4;
*SP = ( PC + n ) *;
PC = PC + src;
Notes 1.  | 1.	(PC + n) is the address of the instruction following the BSR instruction.  | 
 
Notes 2.  | 2.	"n" indicates the code size. For details, refer to "Instruction Format".  | 
 
 
[Function]
This instruction executes a relative branch to destination address specified by src.
 
[Instruction Format]
| 
 | 
 | 
 | 
 | 
| 
 | 
 | 
| 
 
BSR(.length) src 
 | 
 | 
 
pcdsp:16 
 | 
 
-32768 ≤ pcdsp ≤ 32767 
 | 
 | 
| 
 | 
 
pcdsp:24 
 | 
 
-8388608 ≤ pcdsp ≤  8388607 
 | 
 | 
| 
 | 
 
Rs 
 | 
 
-2147483648 ≤ Rs ≤ 2147483647 
 | 
 | 
 
[Flag Change]
This instruction does not affect the states of flags.
 
[Description Example]
BSR     label1
BSR.A   label2
BSR     R1
BSR.L   R2
 
Note  | For the RX Family assembler manufactured by Renesas Technology Corp., enter a destination address specified by a label or an effective address as the displacement value (pcdsp:16, pcdsp:24). The value of the specified address minus the address where the instruction is allocated will be stored in the pcdsp section of the instruction.  | 
 
BSR     label
BSR     1000h