int f(int x, int y)
  {
    int a, b=3, c[3], d=5;
    ...
  }
  f(7,9);

? スタックサイズが6に等しい4つのローカル変数があります。
は 6 に等しいスタックサイズと共にある 4 つのローカル変数、を持ちます。
? ry 関数が入力されると、スタックは次の値を ry :
この関数が開始されると、スタックは下記の値を持ちます:

  ... y[9] x[7] [return_address] [saved_bp] a[?] b[3] c0[?] c1[?] c2[?] d[5] ...
                   ^             ^
                   (bp)             (sp)

コンパイラは、bpからの各変数のオフセットについて知っています。


?14?

Page 15


可変オフセット
  y   -3
  x   -2
  a   1
  b   2
  c   3
  d   6