データ用の単純なアドレッシングモードとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > データ用の単純なアドレッシングモードの意味・解説 

データ用の単純なアドレッシングモード

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/04 05:50 UTC 版)

アドレッシングモード」の記事における「データ用の単純なアドレッシングモード」の解説

レジスタ オペランドとしてレジスタのみを指定する場合によってはアドレッシングモードと見なされない「ベース+オフセット」形式とその派生ベース+ディスプレースメント」とも。ベースレジスタ内容に、オフセット値を加えた値を実効アドレスとする。オフセット16ビット符号付きの値で指定することが多い(i386では32ビットである)。オフセットゼロ場合は「レジスタ間接アドレッシングとなり、実効アドレスベースレジスタ内容そのものとなる。RISCでは0番のレジスタ内容が常にゼロということ多く、0番のレジスタベースレジスタとして指定した場合一種「絶対」アドレッシングとなる。ただし、それで表せアドレス範囲は狭い(オフセット16ビットなら64KBの範囲内のみ)。16ビットオフセット値というのは、最近メモリ容量大きコンピュータ考えると小さいように思われるi38632ビット拡張したのもそれが理由である)。IBM System/390 ではオフセット値は符号無し12ビットだった。しかし、参照の局所性原則適用すれば、あるプログラム短時間アクセスするデータ大部分は狭い範囲にあることが多いと言える。このアドレッシングモードは、インデックス付き絶対アドレッシングモードと深い関係がある。 サブルーチン単位考えた場合、重要となるデータサブルーチン引数局所変数であり、それらが64KBの範囲超えることは滅多にない。したがって1つベースレジスタ(フレームポインタ)で十分である。オブジェクト指向言語メソッド場合、(オブジェクト指向言語で this や self呼ばれる現在のオブジェクトのデータメンバ群を指すもう1つベースレジスタを必要とする 構造体などの複合データ型英語版)のアドレスベースレジスタ設定すれば、オフセット使ってその構造体特定のフィールド指定することができる(一般にレコード構造体といった複合データは32kBよりも小さい)。 イミディエート/リテラル 演算使用する値(定数)を直接オペランド指定するもので、アドレッシングモードと見なさないこともある。定数符号無し場合符号付き場合がある。例えば、move.l #$FEEDABBA, D0 という命令は、"FEEDABBA" という16進の値をD0レジスタ入れる。DEC VAX では、リテラル・オペランドのサイズとして6ビット8ビット、16ビット32ビットがある。アンドリュー・タネンバウムは、プログラム内で使われる定数98%が13ビット表せることを示した暗黙のアドレッシングモード ある命令アクセスするリソース決まっているため、実効アドレス明記せず暗黙のうちにアクセスする場合である。1970年代中ごろまでのコンピュータではよく見られた。古い典型的なコンピュータ演算対象となるレジスタ1つしかなく、それをアキュムレータと呼ぶ。アキュムレータ・マシンではほとんどの命令暗黙のうちにアキュムレータ参照する例えば、 という処理は という命令列になる。これらの命令はどれも暗黙のうちにアキュムレータにアクセスする。load 命令は b をアキュムレータにロードし、add 命令は c をアキュムレータに加算するといった具合である。store 命令はアキュムレータの内容を指定された場所に格納する。その後、複数の汎用レジスタを持つことが多くなり、算術演算の入力と出力をそれぞれ指定する必要が生じ、アドレッシングモードが複雑化していった。x86では乗除算命令などで暗黙のうちにALレジスタを使用する。 x86など多くのアーキテクチャでは、スタックポインタという特殊なレジスタがあり、スタックにデータを置いたり、スタックからデータを取り除いたとき、自動的にインクリメントまたはデクリメントされる。また、スタックのプッシュ/ポップをする際の実効アドレスは暗黙のうちにスタックポインタに格納されているアドレスを使用する。68k、ARM、PowerPC といったアーキテクチャでは、1つ以上のレジスタをスタックポインタとして使用できる。そのため、「自動インクリメント付きレジスタ間接」などのアドレッシングモードが用意されている。 多くの場合、CPUモードの切り替えや割り込みマスク状態の変更には専用の命令があり、対応するビットなどを明示的に指定しない。このことはPopekとGoldbergの仮想化要件を満足させようとする場合、そのような命令をトラップしなければならないハードウェアを単純化できる。すなわち、トラップ処理はオペランド(あるいは最終的な実効アドレス)を調べる必要がなく、命令コードだけを調べればよい。

※この「データ用の単純なアドレッシングモード」の解説は、「アドレッシングモード」の解説の一部です。
「データ用の単純なアドレッシングモード」を含む「アドレッシングモード」の記事については、
「アドレッシングモード」の概要参照ください

ウィキペディア小見出し辞書の「データ用の単純なアドレッシングモード」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「データ用の単純なアドレッシングモード」の関連用語

データ用の単純なアドレッシングモードのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



データ用の単純なアドレッシングモードのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのアドレッシングモード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS