「初めて読む486」って本で、

int abc(int x,long y);

ってCの関数をアセンブラで書くと
_abc proc near
push bp
mov bp,sp
mov ax,[bp+4]; 引数x の取り出し
mov ebx,[bp+6]; 引数y の取り出し
mov ax,dx; 戻り値のセット
pop bp; 終了
ret
_abc endp

となると書いてありました。C関数の引数は右から積むんですよね?
なんで、[bp+4]が引数Xになるんでしょうか・・・
long も int も4byte ですよね?
素人丸出しでごめんなさい。だれか教えてください。。。