码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2016-03-17 21:28:13      阅读:270      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!