本節は高水準プログラム言語をある程度知っている人を対象に, 高水準プログラム言語における分岐/ジャンプ文が, 機械語の分岐/ジャンプ命令とどのように関わっているかを示すために記載した。 したがって,興味のない人は読み飛ばしてもらって構わない。
高水準プログラム言語にも,if-then-else文,while-do文, do-until文などと呼ばれるいくつかの分岐/ジャンプを伴うプログラム用の文がある。
図 8.1に見られるように,これらはいずれも条件判定を行う文と,
その条件により実行される文がある。
(a)のif-then-else文はif文に記載された条件を調べ,
それが真ならばthen以下に書かれた文(一般には複数文)を,
偽ならばelse以下に書かれた文(一般には複数文)を実行する。
(b)のwhile-do文はwhile文に記載された条件を調べ,
それが真のうちはdo以下に書かれた文を実行する。
(c)のdo-until文は,まずdo文を1回実行し,続くuntil文に記載された条件を調べ,
それが偽のうちはdo以下に書かれた文を実行する。
この他,else文のないif-then文,主として回数を指定して同じことを実行するfor文, 条件が真の間はdo以下を実行するdo-while文などもあるが, いずれもここに示した三つの典型例と本質的には変わらない。
こうした条件判定により,分岐したり反復したりする文でも, 図 8.2に示すように,メモリー上には1次元的に展開されている。 これらの命令群が図 8.1と同じ動作をすることはすぐに確認できるであろう。 このメモリー上に展開された機械語のプログラムを見ると, ほとんど逐次プログラムとなっているが, 例外的に条件ジャンプ(conditional jump)と無条件ジャンプ(unconditional jump)があることがわかろう。