我正在自学Linux汇编语言,我遇到了BSD和Linux之间的一个有趣的区别.在Unix中,在调用80h中断之前将syscall参数压入堆栈; 相反,在Linux中,您将参数传递给寄存器.
有谁知道Linux开发人员使用寄存器而不是堆栈的理由是什么?
注意:这是一个很好的页面,详细说明了这种差异:FreeBSD Developer's Handbook:System Calls,但没有解释其基本原理.