assembly Linux系统调用文档[副本]

2nbm6dog  于 2022-11-13  发布在  Linux
关注(0)|答案(1)|浏览(143)

此问题在此处已有答案

reference of syscall in asm [duplicate](1个答案)
三个月前关门了。
我正在编写一个程序,需要在x86_64汇编中做大量工作。关于64位Linux可用的syscall的官方文档在哪里?我能找到的大多数文档要么不完整,要么是针对C系统调用的,要么是针对32位Linux的(使用int 0x80而不是syscall)。
我在哪里可以找到列出系统调用编号的文档,以及哪些寄存器中需要有哪些值才能使调用正常工作?

plupiseo

plupiseo1#

关于syscalls,我在google上找到了x86-64 Linux系统调用. -它甚至有寄存器来存放参数(你会注意到它们和上面描述的完全一样)。https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/
正如@fuz所指出的,syscalls(所有syscalls)的调用约定与常规函数调用 * 不 * 相同,本质上,参数是按照特定的顺序加载到寄存器rdi、rsi、rdx、r10、r8和r9中的。

相关问题