CPUがメモリに格納されたプログラムを1ステップずつ実行し、メモリ上のデータを読んで足し算をし、結果をメモリに書き戻すまでを示します。
[スタート]のボタンを押してください。
CPU | メモリ | |||||
レジスタ名 | 内容 | 内容 | アドレス | |||
プログラムカウンタ | READ A,(10) | 1 | ||||
READ B,(11) | 2 | |||||
Aレジスタ | ADDD A,B | 3 | ||||
WRITE (12),A | 4 | |||||
Bレジスタ | STOP | 5 | ||||
3 | 10 | |||||
5 | 11 | |||||
12 | ||||||
使い方
[スタート] | メモリ上のプログラムを次々に実行します |
[ステップ実行] | 1ステップずつ実行します。 |
[リセット] | データをクリアしプログラムカウンタを1に戻します。 |
[乱数] | アドレス10,11の加算するデータを乱数で変化させます。 |
ここで扱われるプログラムは機械語と呼ばれるCPUが直接実行できるネイティブなものです。CPUの種類により単語や文法が異なります。ここに示したものは架空のものですが、実際のものに近くなっています。
プログラムは補助記憶装置などからメモリ上にコピーされ(ロードといいます)、プログラムカウンタにその開始位置を入れることで開始されます。通常プログラムカウンタは1ステップの実行ごとに次のステップのアドレスになります。
実行に必要なデータや実行中に発生する記憶しなければならないデータもメモリ上に置かれます。プログラムの範囲とデータの範囲は分けて格納されます。