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ステップの実行ごとに次のステップのアドレスになります。
実行に必要なデータや実行中に発生する記憶しなければならないデータもメモリ上に置かれます。プログラムの範囲とデータの範囲は分けて格納されます。