• ベストアンサー

アドレス指定方式

はじめまして、大学で情報処理の勉強をしているものです。 質問なのです。 アドレス指定方式って、 ・即値アドレス指定方式 ・絶対アドレス指定方式 ・間接アドレス指定方式 ・インデックスアドレス指定方式 ・相対アドレス方式 ・ベースアドレス指定方式 となんでこんなにたくさんの方式があるのですか?上の2つは理解できるのですが、それ以外の方式がある理由すらよくわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • engine
  • ベストアンサー率48% (15/31)
回答No.3

相対アドレス: そのプログラムを何処に置いても動作する   例 100番地で120番地に飛ぶ場合 +20とすれば このプログラムを400番地に置いても420番地に飛ぶ 仮に絶対アドレスでは400から120に飛んでしまう 間接アドレスに レジスタ間接 更にアドレッシングに特化したインデックスレジスタ またレジスタを使わずメモリを使うメモリ間接がある 間接アドレスが必要な理由  例えば 1000番地から1200番地のデータを4000番地から4200番地へブロック転送させる場合 1000 ->4000 1001->4001と並べることは馬鹿げているので 間接ポインタ1を1000に間接ポインタ2を4000にセットして間接レジスタ3を0にして P1+間接レジスタ3 -> P2+間接レジスタ3 を行い間接レジスタを+1し 200になるまで上記を繰り返せば転送させられる ベースアドレスは上記の変形(厳密に言えばそうでもないが) なおインデックスとポインタは若干異なるが考え方は同じ(長くなるので省略する)

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

あ, あれ? アドレッシング = addressing. アドレス指定方法を「addressing mode」と言ったりします.

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

即値アドレスと絶対アドレスの違いって何だっけ.... さておき, 例えば C で char *p; p[4] = 1; とやるとどんなアドレッシングが必要だと思いますか?

monkey-bridge
質問者

補足

アドレッシングっでなんですか???