系统调用的API以及汇编代码实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统调用的API以及汇编代码实现相关的知识,希望对你有一定的参考价值。

作者:严哲璟

原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

系统调用过程为getpid()即返回当前进程的ID

使用汇编代码

技术分享

技术分享

用库函数实现

技术分享

技术分享

参数传递方式:eax传递系统调用号,库函数的参数按照从左至右传递到ebx,ecx,edx,esi,edi的顺序存储,返回值为eax.当参数个数大于6个的时候,需要制定一个寄存器来存放一段内存地址的起始地址,将所有的参数都放入这段地址中.

 

系统调用的3个基本层次:1 API即应用程序接口    2.库函数产生软中断进入内核态,int80指令进入内核态,之前需保存所有的现场   3.调用内核函数计算

 

以上是关于系统调用的API以及汇编代码实现的主要内容,如果未能解决你的问题,请参考以下文章

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(李鹏举)

实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用