プログラムの例

解説

このプログラムは、主記憶装置の10番地から13番地までのデータを加算して、14番地に保存するというものである。
実際にこのプログラムを教材のWebページを使って動かすには、以下の手順を踏むとよい。

手順1.
プログラム」の表のように、機械語命令コードを20番地から25番地に書き込む、すなわちロードする。
手順2
プログラムの実行前の主記憶装置の内容」の表のように、10番地から14番地にデータを書き込む(ロード)する。
手順3.
プログラムカウンタの内容を、プログラムのコードの開始番地の20に書き換える(セット)する。
手順4.
プログラムカウンタ、命令レジスタ、汎用レジスタ、主記憶装置の14番地の内容がどのように変わるかを確認しながら、[Next Step]ボタンのクリックを繰り返す。

※ 実際のコンピュータでは、プログラムやデータの主記憶装置への読み込み(ロード)、プログラムカウンタのセットは、マウスでダブルクリックするなどがきっかけとなって基本ソフトであるOS( Operating System)によって自動的に行われるが、この教材では、この部分は手順1、2、3として、手動で行っている。
※ この教材で手動でおこなっている手順4のプログラムカウンタの更新は、実際のコンピュータでは内蔵の時計(クロック)に合わせて自動的に行われる。手順4のプログラムカウンタの更新が速ければ速いほど実行時間は短くなるので、時計の周期が短い、すなわち振動数が大きいCPUほど性能が良いことになる。

プログラム
番地
コード
意味
20
0110
10番地のデータをロードせよ
21
1111
11番地のデータと加算せよ
22
1112
12番地のデータと加算せよ
23
1113
13番地のデータと加算せよ
24
0214
汎用レジスタのデータを14番地にストアせよ
25
2000
プログラムを終了せよ


プログラムの実行前の主記憶装置の内容
番地
10
0400
11
0300
12
0100
13
0100
14
0000



プログラム実行後の主記憶装置の内容
番地

10
0400
11
0300
12
0100
13
0100
14
0900