我正在自学Linux汇编语言,发现了BSD和Linux之间的一个有趣区别。在Unix中,在调用80h中断之前,您需要将系统调用参数推入堆栈;相比之下,在Linux中,您需要使用寄存器传递参数。
有人知道Linux开发人员决定使用寄存器而不是堆栈的原因吗?
注意:这是一个详细介绍此区别的好网页:FreeBSD Developer's Handbook:System Calls,但并没有解释其原理。
有人知道Linux开发人员决定使用寄存器而不是堆栈的原因吗?
注意:这是一个详细介绍此区别的好网页:FreeBSD Developer's Handbook:System Calls,但并没有解释其原理。