平成28年度春期 応用情報技術者試験 午前 問8
CPUのスタックポインタが示すものはどれか。
- ア サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
- イ 次に読み出す機械語命令が格納されているアドレス
- ウ メモリから読み出された機械語命令
- エ 割込みの許可状態,及び条件分岐の判断に必要な演算結果の状態
解答・解説を見る
正解:ア
AI解説
スタックポインタは、スタックの最上段(最後に格納した位置)を指すレジスタである。サブルーチン呼出し時には戻り先アドレスやレジスタの内容(退避情報)をスタックに積み、スタックポインタはその格納先メモリアドレスを示す。よってアが正解。 ア: 正解。サブルーチン呼出しや割込みの際、戻り先アドレスやレジスタ内容を退避するスタック領域のアドレスを示すのがスタックポインタである。 イ: 次に読み出す(実行する)機械語命令のアドレスを保持するのはプログラムカウンタ(命令アドレスレジスタ)である。 ウ: メモリから読み出された機械語命令を保持するのは命令レジスタである。 エ: 割込み許可状態や演算結果の状態(フラグ)を保持するのはプログラムステータスワード(PSW、フラグレジスタ)である。 💡 CPUのレジスタは「プログラムカウンタ=次の命令の場所、命令レジスタ=今の命令そのもの、スタックポインタ=スタックの先頭、PSW=状態フラグ」と役割で整理する。サブルーチンの戻り先はスタックに積まれるからこそ多重呼出し・再帰が可能になる。
出典:平成28年度 春期 応用情報技術者試験 午前 問8 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。