コンパイラの出力から少しアセンブラを学び始めたところです。
test(1);
この単純な関数呼び出しにより、次の asm 出力が作成されます (x64 でコンパイル)
000000013FFF2E76 mov ecx,1
000000013FFF2E7B call test (13FFF33C0h)
しかし、なぜそうではないのですか:
000000013FFF2E76 push 1
000000013FFF2E7B call test (13FFF33C0h)
pushed
関数パラメーターはスタックに、次に関数にあると思いましたpoped
。VSが一番上のものを好む理由を誰かが説明できますか?