通常情况下(一些编译器会有不同的做法,正如所指出的),普通函数调用是通过堆栈传递参数的。通常情况下,这是一系列推送指令,只需将数据放入堆栈中。还有一些特殊情况,比如系统调用,参数是通过汇编指令和寄存器传递的。在硬件情况下,它们是通过寄存器甚至某些中断信号传递的,随后写入寄存器。在具有大量寄存器的架构上,它们通常是通过寄存器传递的,例如一些RISC和64位架构。