当我尝试研究内核系统调用的返回值时,我找到描述它们的表以及我需要放入不同的寄存器以让它们工作的表。然而,我没有找到任何文件,它说什么是我从系统调用返回的值。我只是在不同的地方发现,我收到的将会在EAX寄存器中。汇编中系统调用的返回值是什么?
结果通常在EAX寄存器返回。
汇编语言步骤一步:由杰夫Duntemann的Linux书编程在他的计划指出很多次:
看SYS_READ的返回值在EAX
复制sys_read的安全保存返回值
任何网站我有没有这个返回值说明的。有没有互联网来源?或者有人可以向我解释这个价值吗?
尝试使用Google搜索“sys_read”。这是我发现的东西。 http://asm.sourceforge.net/syscall.html –
@MarkLakata我试过但没有帮助。正如我所说的,它只是说我需要在不同的寄存器中放入什么,以便系统调用起作用。 (例如[here](http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html)和[here](http://blog.rchapman.org/post/36801038863/linux -system-call-table-for-x86-64)。) –
如果你的谷歌“sys_read”的第四个链接是这样的:https://lwn.net/Articles/604287/,它有所有的血淋淋的细节。 –