generated at
ベースポインタ
スタック領域上で、Call Stackの開始位置を常に指しているポインタ
リターンアドレスの上に積まれる
関数フレーム内のローカル変数にアクセスする際に使用する
1つ目の変数は「ベースポインタの指す値(アドレス)−8」だね、みたいな

なぜ関数内のローカル変数などを見るときに
スタックポインタからのoffsetではなく、ベースポインタからのoffsetを使うのか
結論から言えば、どっちでもいけるわけだが、
Call Stackのサイズがわかるのがコンパイル過程の後半だというのがある
何が言いたいのかというとスタックポインタからのoffsetを取るのが後半になる
一方でベースポインタの場所は常に固定されているので、早い時期にoffsetを取ることが出来る
なので、ベースポインタ付近に仮パラメータや局所変数をおいておくと扱いやすい タイガーブック p.118
仮パラメータって実引数のこと?仮引数のこと?


参考