Outlookに他人の予定表を表示させる方法を追加
コンピュータの命令は、何を(データ)どうする(処理)という形式である。そしてデータはデータそのものではなく、データの格納されている場所を指す。その場所がアドレス、アドレスの表現方法がアドレッシング。 住所の表現方法。
例えば下のようなプログラムがあったとする。
ADD 0x003000
この0x003000をそのまんまメモリの位置を表す数(つまりアドレス)として使うのが直接アドレス。この命令はこの位置にあるデータを使うんよ。でも何かの理由で使いたいデータが違う場所になってしまったときは、プログラムを書き換えないかん。それにほしいデータのある場所がプログラムを実行してみないとわからん場合もある。こういうのは直接アドレス指定ではできんな。
直接アドレスでできない上のような問題も間接アドレスなら解決できる。
ADD r12
オペランドはメモリのアドレスかレジスタの番号で、そこに格納されている数値をアドレスとしてその位置に格納されているデータを使う。本当のデータに辿り着くまで余計な中間地点を通らなければならないが、なんでこんなことをするかというと、一回目のレジスタまたはメモリの中を変えると実際のデータを格納した場所を変えることができる。つまりプログラムは変えなくていいんや。
イミーディエイトともいう。ここでアドレスとあるけど、命令のオペランドのことをいっているので混乱を招く。要するにメモリの位置ではなく、値をそのまま命令のオペランドで使うということ。