ebx和ebp这两个寄存器到底有什么不同?

dchere 2011-08-05 01:24:25
什么时候应该使用ebx这个寄存器? 如果说,ebx是通用寄存器,用作基址指针时,默认段寄存器是ds,那么edx又有什么用?
...全文
1445 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2011-08-05
  • 打赏
  • 举报
回复
fs和gs是给操作系统用的,一般的程序不会自己去用它们
TitanQuest 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lactoferrin 的回复:]

ebp一般放栈帧基地址,缺省段寄存器是ss,用于参数和局部变量的寻址,和调试时的栈追踪
你用来干别的也可以
[/Quote]
你原来在这里啊,到处找你
dchere 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 minitoy 的回复:]

[/Quote]
大虾,图片里面的Disp8/Disp16我上课的时候没有见到过啊,这两个是干什么用的?

还有就是FS:GS对于32位程序是必须的么,这两个新寄存器到底做了什么事情?
minitoy 2011-08-05
  • 打赏
  • 举报
回复

Lactoferrin 2011-08-05
  • 打赏
  • 举报
回复
ebp一般放栈帧基地址,缺省段寄存器是ss,用于参数和局部变量的寻址,和调试时的栈追踪
你用来干别的也可以
TitanQuest 2011-08-05
  • 打赏
  • 举报
回复
貌似某人说过ebx 在函数调用前和调用后值必须一样。
ms系统上?不太确定
zara 2011-08-05
  • 打赏
  • 举报
回复
有什么用,通用寄存器有什么用,它就有什么用;总不能就一个通用寄存器吧。
另外,不同的通用寄存器,在些特定的场合还有其独特的作用。比如 edx,就进行乘法时,结果的高 dword 就保存到 edx 而不能是其它的;loop/rep 指令只能用 ecx 来作为寄存器;xlat 只能拿 ebx 作为码表的起始地址;……

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧