重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

はじめまして、大学で情報処理の勉強をしているものです。
質問なのです。
アドレス指定方式って、
・即値アドレス指定方式
・絶対アドレス指定方式
・間接アドレス指定方式
・インデックスアドレス指定方式
・相対アドレス方式
・ベースアドレス指定方式

となんでこんなにたくさんの方式があるのですか?上の2つは理解できるのですが、それ以外の方式がある理由すらよくわかりません。

A 回答 (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になるまで上記を繰り返せば転送させられる

ベースアドレスは上記の変形(厳密に言えばそうでもないが)
なおインデックスとポインタは若干異なるが考え方は同じ(長くなるので省略する)
    • good
    • 0

あ, あれ?


アドレッシング = addressing.
アドレス指定方法を「addressing mode」と言ったりします.
    • good
    • 0

即値アドレスと絶対アドレスの違いって何だっけ....


さておき, 例えば C で
char *p;
p[4] = 1;
とやるとどんなアドレッシングが必要だと思いますか?

この回答への補足

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

補足日時:2007/09/19 13:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!