命令用の単純なアドレッシングモード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/04 05:50 UTC 版)
「アドレッシングモード」の記事における「命令用の単純なアドレッシングモード」の解説
絶対 オペランドに直接アドレスを指定し、それを実効PCアドレスとする。修飾は特に行わない。 PC相対 次の命令のアドレス(PCの内容)にオペランドとして指定したオフセット値を加えたものを実効PCアドレスとする。オフセットは負の場合もある。一般に分岐命令でよく見られる。条件分岐やループなどの制御構造は一般に比較的近いアドレスへの分岐を行うので、絶対アドレスを指定するよりも現在の命令から見た相対的な位置で十分である。実際のプログラムを調査したところ、条件分岐先の90%は8ビットから10ビットのオフセット値でカバーできるという。任意のアドレスに配置可能な位置独立コードでもPC相対のアドレッシングモードを多用する。なお、条件分岐命令の条件としては、ステータスレジスタ内のビットの状態を使う場合や、レジスタを1本(例えば、reg1=0 なら分岐)または2本(例えば reg1=reg2 なら分岐)指定する場合がある。 レジスタ間接 オペランドとしてレジスタを指定し、そのレジスタの内容を実効PCアドレスとする。例えば、A7 レジスタの内容を指す場合、アセンブリ言語では (A7) などと表記する。例えば、ジャンプテーブルを使って分岐先を決める場合などに使われる。RISCの場合、サブルーチン呼び出しを行ったときリターンアドレスを所定のレジスタに格納する。そのため、サブルーチンからの復帰に際してレジスタ間接のアドレッシングモードを使用する。
※この「命令用の単純なアドレッシングモード」の解説は、「アドレッシングモード」の解説の一部です。
「命令用の単純なアドレッシングモード」を含む「アドレッシングモード」の記事については、「アドレッシングモード」の概要を参照ください。
- 命令用の単純なアドレッシングモードのページへのリンク