1

ウィキペディアによると、「Microsoft または GCC __fastcall 規則 (別名 __msfastcall) は、ECX および EDX に適合する最初の 2 つの引数 (左から右に評価) を渡します。残りの引数は右から左にスタックにプッシュされます。」

arg0、arg1、arg2 に EAX、ECX、EDX を使用しないことにしたのはなぜですか? 彼らが引数をレジスタにプッシュするつもりなら、なぜ 2 で止まるのですか? Borland の fast all does がこれを行うことを知っているので、Microsoft は単に違いを出すために EAX を使用しないことを選択したのでしょうか?

4

1 に答える 1