スタックポインタとは
すたっくぽいんた
スタックの今の先頭の番地を指すレジスタ。RISC-Vではsp(x2)。多くのISAでスタックは番地の小さい方へ伸びる。
この用語の分野: 命令セット・アセンブリ
すたっくぽいんた
スタックの今の先頭の番地を指すレジスタ。RISC-Vではsp(x2)。多くのISAでスタックは番地の小さい方へ伸びる。
この用語の分野: 命令セット・アセンブリ
先頭位置はスタックポインタが示します。
プログラムでサブルーチン(関数)を呼び出すとき、戻り先のアドレスなどを一時的に保存するために一般的に使われる領域はどれ…引数用のレジスタはa0〜a7の8本なので、9個目以降は呼び出す側がスタックに積み、呼ばれた側はスタックポインタからの決まった位置で読みます。
RISC-Vの標準の呼び出し規約で、整数の引数が10個ある関数を呼ぶとき、9個目と10個目の引数はどこで渡されるか。実行ファイルの中に局所変数のためのセクションはなく、関数の先頭でスタックポインタを動かして領域を確保します。
C言語の関数の中で宣言した、staticの付かない局所変数(自動変数)は、実行中どこに置かれるか。呼び出し規約 スタックフレーム コンテキストスイッチ ページテーブル アセンブラ 圧縮命令 アドレッシングモード ABI(アプリケーションバイナリインターフェース) 疑似命令 条件コード