ジャンプとサブルーチン関連
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/26 17:01 UTC 版)
「PDP-11」の記事における「ジャンプとサブルーチン関連」の解説
JMP (ジャンプ) JSR (サブルーチンコール) RTS (サブルーチンから復帰) MARK (復帰時のスタックのクリーンアップ) EMT (エミュレータトラップ) TRAP, BPT (ブレークポイントトラップ) IOT (入出力トラップ) RTI & RTT (割り込みからの復帰) JSR命令は任意のレジスタをスタック上にセーブできる。セーブすべきレジスタがない場合はPCを指定し (JSR PC,address)、サブルーチンから復帰する際も RTS PC とする。例えば、"JSR R4, address" としてサブルーチンを呼び出すと、R4の元の値がスタックのトップに置かれ、リターンアドレス(JSR命令の次の命令のアドレス)が R4 に格納される。リターンアドレスの位置にはコードではなくデータを置いておいて (R4)+ で読み込んだり、ポインタを置いておいて @(R4)+ で読み込む。すると自動インクリメントでデータ部分を飛ばすことになり、R4が真のリターンアドレスになる。そこで RTS R4 を実行すれば正しい位置に復帰できる。
※この「ジャンプとサブルーチン関連」の解説は、「PDP-11」の解説の一部です。
「ジャンプとサブルーチン関連」を含む「PDP-11」の記事については、「PDP-11」の概要を参照ください。
- ジャンプとサブルーチン関連のページへのリンク