スタックフレームとは

すたっくふれーむ

関数が呼ばれるたびにスタック上に確保する領域。戻り先、保存したレジスタ、局所変数などを置き、関数から戻るときに解放する。

この用語の分野: 命令セット・アセンブリ

解説の中の「スタックフレーム」

「スタックフレーム」が出てくる問題(5問)

  1. ほかの関数を呼ばない関数(葉関数、リーフ関数)では、raをスタックに保存しなくてよい場合が多い。その理由として正しいものはどれか。
  2. RISC-Vの関数の先頭で「addi sp, sp, -16」を実行する目的として正しいものはどれか。
  3. 上のコードは、ある関数の先頭(プロローグ)である。この部分が行っていることとして正しいものはどれか。
  4. 上の関数の最後の再帰呼び出しに末尾呼び出しの最適化を行うと、どのような効果があるか。
  5. C言語の関数の中で宣言した、staticの付かない局所変数(自動変数)は、実行中どこに置かれるか。

関連する用語

葉関数 命令セットアーキテクチャ(ISA) スタックポインタ アセンブラ 圧縮命令 アドレッシングモード ABI(アプリケーションバイナリインターフェース) 疑似命令 条件コード 即値

用語集の一覧へ