是int 0x80是在linux汇编编程中使用的唯一的中断号码?

我们在汇编编程中只用80H来请求一个linux内核的服务吗?

其他中断号码在Linux中的效用是什么?

我正在从Windows过渡到Linux。

int3 (调试断点)和int 80h (旧系统调用)是linux上常用的两个软件中断。 设备驱动程序使用硬件中断,但这些中断可能不关心你。

也就是说,在32位系统上,内核提供了映射到每个进程的代码,可以调用这些代码来执行系统调用,并且会自动使用最合适的机制( syscallsysenterint 80h )。 由于所有64位系统都支持syscall指令,所以这是长时间模式下通常使用的指令。 请注意,64位系统呼叫号码与32位不同。

最后,你通常不使用Linux上的汇编程序进行系统调用。 你要么使用C库,要么完全避免系统调用,因为它们很慢,而且组装的主要用途之一就是速度。 当然也有例外,例如安全相关代码或编译器/语言开发。