20135302魏静静——linux课程第四周实验及总结
2016-03-20 23:01
423 查看
linux课程第四周实验及总结
一、实验
我选择的是第20号系统调用,getpid
代码如下:
/* getpid.c */ #include <unistd.h> #include <stdio.h> int main() { pid_t pid; pid = getpid(); printf("pid = %d \n",pid); return 0; }
嵌入汇编代码后:
/* getpid_asm.c */ #include <unistd.h> #include <stdio.h> int main() { pid_t pid; pid = getpid(); asm volatile( "mov $0x14,%%eax\n\t" /* 将系统调用号20放入eax中。 */ "int $0x80\n\t" /* 中断向量号0x80,即128。int 128 执行系统调用。 */ "mov %%eax,%0\n\t" /* 返回值保存在eax中,将它赋值给pid */ : "=m" (pid) ); printf("pid = %d \n",pid); return 0; }
相关文章推荐
- linux 学习计划
- Linux内核学习篇一:引导启动
- Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
- 马哥linux学习笔记
- Linux中的设备文件与设备号
- Linux中的正则表达式
- [Linux] ubuntu remove mysql
- linux学习笔记-0
- Linux解压命令
- Linux用户管理常用命令
- Linux重定向
- Linux进程命令
- Linux软件包管理
- Linux内存管理
- Linux的一些命令整理
- Linux程序管理:yum工具
- Lesson 9 View port
- Linux安装配置SVN服务器
- Linux 虚拟内存和物理内存的理解
- CentOS系统程序包管理之---rpm、yum和编译