你这是受了“经典教科书”的荼毒。
实际上在全面进入64位年代,寄存器传参才是主流。
至于说早年为什么要压栈?也很简单:当年的cpu就没那么多寄存器可用:最早的x86,通用寄存器也就abcd四个。而且16位机的年代一个寄存器稍大点的数就放不下——不放内存是真的没办法传啊。