首页 > Windows开发 > 详细

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

时间:2016-03-17 21:26:09      阅读:355      评论:0      收藏:0      [点我收藏+]

朱恒志 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”

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

系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl

我选择了20号:
技术分享

使用库函数API在屏幕上显示进程的ID:

技术分享

技术分享

使用C语言内嵌汇编代码:

代码:

#include <unistd.h>

#include <stdio.h>

int main()

{

pid_t pid; pid = getpid();

asm volatile(

"mov $0x14,%%eax\n\t"

"int $0x80\n\t"

"mov %%eax,%0\n\t"

 : "=m" (pid) );

printf("pid = %d \n",pid);

return 0;

}

技术分享

 

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

原文:http://www.cnblogs.com/20135314ZHU/p/5289206.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!