4. 分岐を使ったプログラム

ED21に付属のサンプルプログラム "(4) n番地の内容の絶対値をとる" を使って,分岐について説明します.ED21上部のプルダウンメニューから "(4) n番地の内容の絶対値をとる" のサンプルプログラムを選択して,プログラムをメインメモリに読み込んでください.

1. "SUB 4" の実行

SUB命令は

という命令です.ここでは "SUB 4" なので,"アキュムレータ" の初期状態の値 "0" から4番地の値である "−5" を 引き,結果を "アキュムレータ" に格納します.

1. "SUB 4" の実行

2. "JM 3" による条件つきのジャンプ

JM命令は

という命令です.ここでは "アキュムレータ" の値は負ではないので,ジャンプせずに次の命令を実行します.

2. "JM 3" による条件つきのジャンプ

かりに "アキュムレータ" の値が負だった(4番地の値が正だった)場合は, "プログラムカウンタ" の値を "3" にすることで,3番地の命令が実行されます.

3. "STORE 4" の実行

"アキュムレータ" の値,この場合は "5"を, "メインメモリ"の4番地に書き出します.

3. "STORE 4" の実行

4. "STOP 0" によるプログラム終了

STOP命令によって,プログラムが終了します.このとき4番地に格納されている値は、プログラム開始時の4番地の値の絶対値となっています.

4. "STOP 0" によるプログラム終了

分岐命令

分岐を行う命令には,以下のようなものがあります.

演習: 分岐命令の動きを確かめる

上で説明したサンプルプログラム"(4) n番地の内容の絶対値をとる" の,4番地の値を "−5" から自分の誕生月に変えるとどうなるか,確かめてみましょう.