0 0 0 0
0 0 0 0 0
1 0
A > B A = B
A < B
ボロー36
・ インデックス修飾アドレス
・ レジスタ間接アドレス
(
1
) 即値アドレス即 値 ア ド レ ス で 、 演 算 対 象 と な る 命 令 の ア ド レ ス 部 を 示 す オ ペ ラ ン ド
(
operand
)が、そのまま演算対象のデータとなる。(図4.6
)。図 4.6 即値アドレス
(
a)
(
b)
(
c)
IR PC MDR
5 6 7
opcode operand 5
IR PC MDR
opcode 6
5 6 7
opcode operand
IR PC
MDR operand opcode
7
5 6 7
opcode operand
memory
memory
memory
next opcode
37
図
4.6
の(a
)から(c
)は、即値アドレスで命令をメモリからレジスタへ格 納する過程を示したものである。IR
、PC
、MDR
はレジスタで、命令を保持す るレジスタであるインストラクション・レジスタ(IR
)、現在行っているプロ グラムの中の命令の番地を保持するプログラムカウンタ(PC
)、メモリからの データを保持するメモリデータ・レジスタ(MDR
)である。今、メモリの
5
番地に命令に1
語目(オペコード、アドレッシングモードを 含む)があり、6
番地に2
語目(オペランド)があるとする。そして、PC
はメ モリの5
番地を指している(a
)。1
語目には命令やアドレッシングモードの指 定がされており、クロックの立ち上がりでPC
は1
増加し、1
語目がIR
に取り 込まれ(b
)、PC
は1
つ増加する。そして命令が何であるか、アドレッシング モードは何であるかを判断する。PC
は6
番地を指しているので、次のクロッ クでオペランドをMDR
に取り込み、PC
は次の命令を読むために1
増加する(
c
)。MDR
に取り込まれたオペランドは演算用データでとして使用される。(
2
) 絶対アドレス絶対アドレスはオペランドがメモリのアドレスとなるものである。絶対アド レスの手順を図
4.7
に示す。図
4.7
のレジスタは、IR
、PC
、MDR
とさらにメモリアドレスを保持するた めのメモリアドレス・レジスタ(MAR
)が加わっている。(a
)はメモリの10
番地から1
語目をIR
に読み込み、オペコードとアドレッシングモード、レジ スタアドレスを判断し、PC
を1
増加させた状態である。ここでクロックが入 ると、PC
が指す11
番地のオペランドをMAR
に取り込み、PC
を1
増加する(
b
)。オペランドはデータが格納されているアドレスであるので、MAR
に取 り込まれたオペランドは、メモリのアドレスとなる(c
)。仮にオペランドがメ モリの20
番地であった場合、 ロード命令や演算命令であればメモリの20
番 地からデータを読み込む動作となり、ストア命令であれば、レジスタアドレス で指定されたレジスタの内容が、20
番地に格納される。38
(
3
) インデックス修飾アドレスイ ン デ ッ ク ス 修 飾 ア ド レ ス は 、 デ ィ ス プ レ ー ス メ ン ト ( 変 位 量 :
displacement
)と基底アドレスの加算でメモリアドレスを指定するものである。基底アドレスを保持するレジスタをインデックスレジスタ(
IX
)とする。図
4.8
にインデックス修飾アドレスの手順を示す。(a
)は25
番地から1
語目IR
PC
MAR operand
ドキュメント内
卒業研究報告.PDF
(ページ 38-41)