popsp


スタックからのポップを行います。(Pop Registers from Stack)

[指定形式]

-

popsp rh, rt

 

rt,rhに指定できるものを次に示します。

-

汎用レジスタr0〜r31

[機能]

汎用レジスタrtからrhへ降順(rt,rt−1,rt−2,…,rh)にスタックからロードします。指定されたレジスタへすべてロードした後,spを更新(加算)します。

備考

spで指定された下位2ビットのアドレスは,0にマスクされます。
また,spの更新前に例外を受け付けると,実行を中止し,戻り番地をこの命令の先頭アドレスとして例外を処理してから,例外処理完了後に再実行します(spは例外処理実行開始前の元の値を保持します)。

[詳細説明]

-

アセンブラでは,機械語命令のpopsp命令が1つ生成されます。

[フラグ]

CY

OV

S

Z

SAT

[注意事項]

-

rh,rtに指定したレジスタ番号の大小関係がrh > rtとなる場合は,次のメッセージが出力されます。

E0551200:アセンブリ・ソースの記述に誤りがあります。

 

-

復帰するレジスタにsp(r3)を含む指定をした場合(rhが3〜31),sp(r3)にはメモリから読み出してきた値は格納されません。このため,途中で中断した場合にも正しく再実行することが可能です。