jr


無条件分岐(PC相対)を行います。(Jump Relative)

[指定形式]

-

jr disp22(-Xasm_far_jumpオプション非指定時)

-

jr disp32(-Xasm_far_jumpオプション指定時)

 

disp22に指定できるものを次に示します。

-

22ビット幅までの値を持つ絶対値式

-

ラベルのPCオフセット参照を持つ相対値式

 

disp32に指定できるものを次に示します。

-

32ビット幅までの値を持つ絶対値式

-

ラベルのPCオフセット参照を持つ相対値式

[機能]

-

“jr disp22”の形式

オペランドに指定した絶対値式,または相対値式の値と,現在のプログラム・カウンタ(PC)の値を加算したアドレスに制御を移します。

-

“jr disp32”の形式

オペランドに指定した絶対値式,または相対値式の値と,現在のプログラム・カウンタ(PC)の値を加算したアドレスに制御を移します。

[詳細説明]

-

“jr disp22”の形式の命令に対し,disp22に次のものを指定した場合,アセンブラで機械語命令のjr命令が1つ生成されます。

(a)

-2097152〜+2097151の範囲の絶対値式

(b)

ラベルのPCオフセット参照を持つ相対値式

機械語命令のjrは,ディスプレースメントに-2097152〜+2097151(0xFE00000〜0x1FFFFF)の範囲のイミーディエトをとります。

 

-

“jr disp32”の形式の命令に対し,アセンブラでは,機械語命令のjr命令(6バイト長命令)が1つ生成されます。

[フラグ]

CY

OV

S

Z

SAT

[注意事項]

-

disp22に,-2097152〜+2097151の範囲を越える絶対値式を指定した場合,次のメッセージが出力され,アセンブルが中止されます。

E0550230 : ディスプレースメントとして指定された値が指定可能な値の範囲を越えています。

 

-

disp22/disp32に,奇数値を持つ絶対値式を指定した場合,次のメッセージが出力され,アセンブルが中止されます。

E0550226 : 奇数のディスプレースメントが指定されています。