令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問2
【問題2】
命令アドレスレジスタ(プログラムカウンタ)に関する記述として、適切なものはどれか。
条件分岐命令を実行すると、命令アドレスレジスタの内容が書き換えられることがある。
転送命令では、転送元アドレス、転送先アドレス及び転送バイト数を全て命令アドレスレジスタにセットしてから転送を実行する。
分岐命令の実行前に、命令アドレスレジスタの内容が命令バッファに保存され、実行後に復帰される。
命令アドレスレジスタで示された番地の主記憶には、実行すべき命令のアドレスが格納されている。
【解説】
ア: 条件分岐命令を実行すると、命令アドレスレジスタの内容が書き換えられることがある。
正しい。条件分岐命令を実行すると、条件が成立した場合に命令アドレスレジスタ(プログラムカウンタ)が次に実行すべき命令のアドレスに変更されます。
イ: 転送命令では、転送元アドレス、転送先アドレス及び転送バイト数を全て命令アドレスレジスタにセットしてから転送を実行する。
誤り。命令アドレスレジスタは次に実行すべき命令のアドレスを指すため、転送命令のパラメータ設定には使用されません。
ウ: 分岐命令の実行前に、命令アドレスレジスタの内容が命令バッファに保存され、実行後に復帰される。
誤り。この記述は関数呼び出しなどに関連するスタック操作の説明に近く、命令アドレスレジスタの直接的な動作説明ではありません。
エ: 命令アドレスレジスタで示された番地の主記憶には、実行すべき命令のアドレスが格納されている。
誤り。命令アドレスレジスタは次に実行すべき命令の番地そのものを指し、命令自体が格納されているわけではありません。
【答え】
ア: 条件分岐命令を実行すると、命令アドレスレジスタの内容が書き換えられることがある。
出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問2