質問<734>2001/12/19
from=まっちゃん
「レジスタについて」


武田先生 ありがとうございました。具体的なデ-タも入っていて僕に
でも解り易いプログラムです。ところで すみませんがもう1つ質問させ
て下さい。
コンピュ-タの演算のしくみ(レジスタと記憶番地の内容とPCの値の関係)
がよくわかりません。例えば 主記憶装置の30番地に置かれた減算命令は,
演算レジスタとしてGR3を指定し,番地部には40が置かれている。
いまGR3の内容が50、40番地の内容が60であると仮定した場合
(1)この減算命令を実行する為にはPCの値をいくつに設定
   すればよいか。
(2)減算命令後 GR3の内容はいくつになるか。
といった問題に答えられません。
こんな僕にでも解るように教えて下さい。お願いします.


お返事2001/12/27
from=武田


コンピュータの仕組みについては、よくわからないので、
未解決問題に移します。
hiro-kimさんからアドバイスを頂きました。感謝!!


お便り2002/2/13
from=hiro-kim


アセンブラの基本的な命令語は次のような固まりで構成されており,
  | 命令 | レジスタ | 番地部 |
質問文にあるアセンブラの基本的な減算命令は次のような演算をおこないます。
  レジスタの内容 - 番地部の指す内容 → レジスタの内容
また,
  PC(Program Counter)は実行しようとする命令語の格納番地を指す
特別なレジスタで,CPUはPCの指す番地から命令語を取り出します。

(1) PC =  30。減算命令は30番地に格納されている。
(2) GR3= -10。汎用レジスタ3番の内容-(40番地の内容) = 50-60 = -10
       ※GR:汎用レジスタ(General Register)