| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1230 人关注过本帖
标题:32位通用寄存器用途总结
只看楼主 加入收藏
firstbobo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:106
注 册:2010-1-21
结帖率:0
收藏
 问题点数:0 回复次数:0 
32位通用寄存器用途总结
32位通用寄存器用途总结
EAX - 累加,accumulator, 是很多加法乘法指令的缺省寄存器  
EBX - 基址,base, 在内存寻址时存放基地址
ECX - 计数,counter, 是重复(REP)前缀指令和LOOP指令的内定计
数器
EDX - 总是被用来放整数除法产生的余数
函数的返回值经常被放在EAX中。
ESI/EDI - source/destination index,在很多字符串操作指令中,  
DS:ESI指向源串,而ES:EDI指向目标串。
EBP - 基址指针, 最经常被用作高级语言函数调用的"框架指针"(frame pointer)。 在破解的时候,经常可以看见一个标准的函数起始代码:
  
  push ebp ;保存当前ebp
  mov ebp,esp ;EBP设为当前堆栈指针
  sub esp, xxx ;预留xxx字节给函数临时变量.
  ...
  
  这样一来,EBP 构成了该函数的一个框架, 在EBP上方分别是原来的EBP, 返回地址和参数。EBP下方则是临时变量。 函数返回时作 mov esp,ebp/pop ebp/ret 即可.
  
  ESP - 专门用作堆栈指针。
搜索更多相关主题的帖子: 用途 通用寄存器 
2010-02-15 22:59
快速回复:32位通用寄存器用途总结
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030866 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved