Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1019733
  • 博文数量: 297
  • 博客积分: 11721
  • 博客等级: 上将
  • 技术积分: 3431
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-25 10:21
文章分类

全部博文(297)

文章存档

2016年(9)

2011年(71)

2010年(137)

2009年(80)

分类: LINUX

2011-06-16 23:02:27

 软中断指令int 0x80执行时,系统
调用号会被放进eax寄存器,同时,sys_call_table每一项占用4个字节(64系统占8字节)。这样,如图5.5所示,system_call函数可以读取eax寄存器获得当前系统调用的系统调用号,将其乘以4(64位系统乘以8)天生偏移地址,然后以sys_call_table为基址,基址加上偏移地址所指向的内容即是应该执行的系统调用服务例程的地址。
阅读(455) | 评论(0) | 转发(0) |
0

上一篇:task_struct 数据结构

下一篇:寄存器

给主人留下些什么吧!~~