応用情報暗記無料で始める

スタックポインタとは?すたっくぽいんた

スタックポインタとは、後入れ先出しで積まれるスタック領域の、いま有効な先頭位置を保持するレジスタ。関数呼出しの戻り番地、引数、ローカル変数、割込み時の退避データが、ここを基準に積み下ろしされる。RAMの限られた組込みでは、深さの見積りを誤ると隣の領域を壊して暴走する。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では2回出題されています(2016年度〜2020年度)。

応用情報技術者試験の頻出用語/テクノロジ系

この語が出る過去問を解く →

背景

関数の呼出しは入れ子になり、しかも深さは実行時にしか決まらない。戻り番地を固定の場所へ置く方式では、再帰も割込みの多重化も成り立たない。後入れ先出しの領域を1本用意し、その先頭位置だけをレジスタで持つ形にしたことで、呼出しの深さに上限を設けずに済むようになった。

具体例

多くのマイコンは特権用と非特権用で別のスタックポインタを持ち、割込み処理は専用スタックを使う。RTOSではタスクごとにスタック領域を確保し、コンテキストスイッチのたびにスタックポインタを差し替えることで各タスクの実行状態を保つ。

試験での引っ掛け

「次に積む位置」を指すのか「最後に積んだ位置」を指すのか、伸びる向きが上位側か下位側かはアーキテクチャごとに異なる。特定のCPUの動作を一般則と思い込むと、使用量の計算や境界チェックの向きを取り違える。プログラムカウンタとの役割の混同も狙われる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では2回出題(2016年度〜2020年度)
  • 分野:テクノロジ系
  • 「次に積む位置」を指すのか「最後に積んだ位置」を指すのか、伸びる向きが上位側か下位側かはアーキテクチャごとに異なる。