ルネサス
BSR
相対サブルーチン
Branch to SubRoutine
【構文】
BSR(.length) src
【オペレーション】
SP = SP - 4;
*SP = ( PC + n ); (注)
PC = PC + src;
注
( PC + n )は、BSR命令の次の命令の番地です。 nは、コードサイズです。コードサイズについては、【命令フォーマット】を参照してください。
【機能】
-
srcで示される分岐先に相対分岐します。
【命令フォーマット】
構文
処理
サイズ
src
pcdsp / Rsの範囲
コードサイズ
(バイト)
W
pcdsp:16
-32768≦pcdsp≦32767
3
A
pcdsp:24
-8388608≦pcdsp≦8388607
4
L
Rs
-2147483648≦Rs≦2147483647
2
【フラグ変化】
フラグ変化はありません。
【記述例】
BSR label1
BSR.A label2
BSR R1
BSR.L R2
弊社の「RXファミリ アセンブラ」では、ディスプレースメントの値(pcdsp:16、pcdsp:24)は、分岐先のラベルまたは実効アドレスを指定してください。命令コード(pcdsp)には、指定されたアドレスから命令の配置アドレスを引いた値が埋め込まれます。
BSR label
BSR 1000h