私の使っているCコンパイラ(gcc)は、
スタック下位
関数の引数
auto変数
スタック上位
とスタックに積んでいるようです。
また、main()内、ediにはargcの値、rsiにはargvのアドレスが入っているのですが、
これらのレジスタはmov命令なしに最初から値が入っています。
spもbpも最初から値がセットされているようです。
mov命令なしにレジスタに値が入っているのは、コンパイラが自動的に割り当てたからでしょうか。