スタックポインタとは?
スタックポインタとは、現在のスタック領域の先頭アドレスを保持するレジスタ。関数呼び出しの戻り番地、引数、ローカル変数、割込み時の退避データが積まれる位置を示す。組込みでは容量の限られたRAM上に置くため、深さの見積りを誤ると領域を突き抜けて暴走する。
応用情報技術者試験の過去問では2回出題されています(2016年度〜2020年度)。
すたっくぽいんた
スタックポインタの意味
現在のスタック領域の先頭アドレスを保持するレジスタ。関数呼び出しの戻り番地、引数、ローカル変数、割込み時の退避データが積まれる位置を示す。組込みでは容量の限られたRAM上に置くため、深さの見積りを誤ると領域を突き抜けて暴走する。
スタックポインタの具体例
多くのマイコンは特権用と非特権用で別のスタックポインタを持ち、割込み処理は専用スタックを使う。RTOSではタスクごとにスタック領域を確保し、コンテキストスイッチのたびにスタックポインタを差し替えることで各タスクの実行状態を保つ。
スタックポインタは試験でどう引っ掛けられる?
「次に積む位置」を指すか「最後に積んだ位置」を指すか、伸びる向きが上位側か下位側かはアーキテクチャごとに違う。特定のCPUの動作を一般則と思い込むと、スタック使用量の計算や境界チェックの向きを取り違える。
スタックポインタと関連する用語
スタックポインタが出た過去問
CPUのスタックポインタが示すものはどれか。
正解:サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
要点:スタックポインタは退避データを積む位置を指す
スタックポインタは、スタック領域の先頭位置を保持するレジスタである。サブルーチン呼出しや割込みの際に戻り先アドレスやレジスタ内容を退避する場所を示す。
出典:平成28年度 春期 応用情報技術者試験 午前 問8(IPA)CPUのスタックポインタが示すものとして、最も適切なものはどれか。
正解:サブルーチン呼出し時に、戻り先アドレス、レジスタの内容などを格納するメモリのアドレス
要点:スタックポインタはスタックの先頭アドレスを保持する
スタックポインタは、スタック領域の先頭(次に読み書きする位置)のアドレスを保持するレジスタである。サブルーチン呼出しや割込みの際に、戻り先アドレスやレジスタの内容を退避するのがこのスタック領域であり、その位置を示すのがスタックポインタである。
出典:令和2年度 10月 応用情報技術者試験 午前 問8(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。