メモリーアクセス / 非公式訳
Chapter 4, p.64
メモリーアクセス
どのマシン語にも、選択したメモリーロケーションにアクセスして何らかの操作するための手段が備わっています。こうした目的には一般に「アドレスレジスタ」が用いられます。このアドレスレジスタを「A」と呼ぶことにしましょう。たとえば17番地に値1にセットする場合を考えましょう。これは、下の2つの命令を実行すれば可能です。
load A, 17 -- アドレスレジスタの値を17にセットして、 load M, 1 -- アドレスレジスタが指し示しているアドレス(ここでは17番地)のメモリーを1をセットする。
M
は、A
によって指定されたメモリーレジスタ(つまりアドレスがA
の現在の値であるメモリーレジスタのこと)を表します。このことを念頭に置いて、200~249番地の50個のメモリーロケーションに1をセットするための操作を考えてみましょう。これは下の命令を実行すれば可能です。
load A, 200 -- アドレスレジスタの値を200にセットして、 LOOP 50 times: load M, 1 -- アドレスレジスタが指している番地のメモリーを1にセットして、 add A, A, 1 -- アドレスレジスタの値を1インクリメント(A ← A + 1)して、を繰り返す。