分岐命令(機械語)

機械語において、分岐命令とは、ある条件もしくは無条件でプログラムカウンタの値を変更する命令のことです。

つまり、分岐命令は、ある条件もしくは無条件で次に実行する命令のメモリアドレスを指定できます。

無条件分岐命令

指定したメモリアドレスをプログラムカウンタに書き込む命令のことを無条件分岐命令と言います。

無条件分岐命令のオペランド

無条件分岐命令では、少なくとも以下の一つのオペランドを指定します。

・●メモリアドレスを指定するオペランド

無条件分岐命令の実行の流れ

1. アドレッシングモードと「●メモリアドレスを指定するオペランド」の値で決まるメモリアドレスをデータバスに出力する。(詳細は、メモリアドレスの指定を参照)

2. 命令デコーダの制御信号でプログラムカウンタの書き換えを有効にする。

3. クロックの立ち上がりエッジでプログラムカウンタにデータバスの値が書き込まれる。

(※機械語の命令の実行が基礎になっています)

条件分岐命令

ある条件を満たすとき、指定したメモリアドレスをプログラムカウンタに書き込む命令のことを条件分岐命令と言います。

ある条件には、「ステータスレジスタのフラグの状態」や「あるプロセッサレジスタの値が0かどうか」があります。

それらの条件によって、オペコードが変わります。

条件分岐命令のオペランド

条件分岐命令では、少なくとも以下の一つのオペランドを指定します。

・●メモリアドレスを指定するオペランド

条件分岐命令の実行の流れ

1. アドレッシングモードと「●メモリアドレスを指定するオペランド」の値で決まるメモリアドレスをデータバスに出力する。(詳細は、メモリアドレスの指定を参照)

2. 分岐の条件を満たすとき、プログラムカウンタの書き換えを有効にする。

3. クロックの立ち上がりエッジでプログラムカウンタにデータバスの値が書き込まれる。

(※機械語の命令の実行が基礎になっています)