PUSH命令(機械語)

機械語において、PUSH命令とは、最も単純化した場合、指定したプロセッサレジスタ(以降、レジスタ)の値をプロセッサのスタックにPushする命令のことです。

PUSH命令のオペランド

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

・レジスタを指定するオペランド

PUSH命令の実行の流れ

機械語の命令の実行を基礎として、PUSH命令は、以下の流れで実行されます。

1. スタックポインタの値からPushするデータのバイト数を引いたものがアドレスバスに出力される。

2. 「レジスタを指定するオペランド」を制御信号として、対応するレジスタの値がデータバスに出力される。(詳細は、レジスタの指定を参照)

3. メインメモリがアドレスバスとデータバスからメモリアドレスとデータを受け取り、メインメモリにそのデータを書き込む。(詳細は、メモリアドレスによる複数バイトのデジタルデータへのアクセスを参照)

4. スタックポインタの値がPushしたデータのバイト数分減る。