スポンサーリンク

ADD命令

識別番号

00111

 

IR2の値の使い方

メモリ回路の読込み先アドレス番号

 

動作の詳細

ADD命令ではメモリ回路の「IR2」で指定されたアドレスの内容と「WR」の値を足し算します。計算の結果は再び「WR」へと書き込まれます。またこの時フラグの書き換えも同時に行われます。フラグの値は計算の結果に桁あふれが発生した時は「1」、桁あふれが発生しなかった時は「0」になります。

※桁あふれとは計算の結果が8ビットで表せる範囲を超えた場合のことを言います。足し算の結果が255よりも大きい結果になった場合は桁あふれの状態となります。

 

実際の回路の詳細動作

RAM読込1 ※全命令共通動作 JUMP命令の詳細動作ページを参照

IR1読込 ※全命令共通動作 JUMP命令の詳細動作ページを参照

RAM読込2 ※全命令共通動作 JUMP命令の詳細動作ページを参照

 

IR2読込

「IR2」レジスタへクロック信号を送り、命令の8ビット分(読込み先アドレス番号)を「IR2」へ記憶する。同時に今後の動作に備えて「M1」と「M3」は上側の経路に接続された状態にしておき、ALUのコントロール端子は足し算の結果が出力されるよう設定しておく。

スポンサーリンク

 

実行1

この段階では「HR」レジスタの値と「IR2」レジスタの値が連結した状態で16ビットのアドレス番号となり、「M3」を通して「RAM」のアドレス入力端子へと接続されている。この状態で「RAM」へ読出し用クロック信号を送り、指定されたアドレス番号の内容が出力端子へ読み出されるようにしておく。さらにこの段階では「PC」の値に+1だけカウントアップされた値が「M2」を通して「PC」の入力端子へと接続されている。この状態で「PC」へクロック信号を送り、「PC」の値を+1だけカウントアップする。

 

実行2

この段階では「RAM」の出力信号がB端子へ、「WR」の値がA端子へと接続されている。この状態で「ALU」へクロック信号を送り、B端子とA端子の足し算結果が「ALU」の出力端子へ出力された状態にしておく。

 

実行3

この段階では「ALU」の出力信号が「M1」を通して「WR」の入力端子へと接続されている。この状態で「WR」へクロック信号を送り、「ALU」の出力信号が「WR」へ記憶されるようにする。さらに次の命令に備えて「M3」は下側の経路に接続された状態に戻しておく。

 

CPUの設計図

 

<戻る       次へ>

 

スポンサーリンク