社区
汇编语言
帖子详情
ebx和ebp这两个寄存器到底有什么不同?
dchere
2011-08-05 01:24:25
什么时候应该使用ebx这个寄存器? 如果说,ebx是通用寄存器,用作基址指针时,默认段寄存器是ds,那么edx又有什么用?
...全文
1445
7
打赏
收藏
ebx和ebp这两个寄存器到底有什么不同?
什么时候应该使用ebx这个寄存器? 如果说,ebx是通用寄存器,用作基址指针时,默认段寄存器是ds,那么edx又有什么用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 作为码表的起始地址;……
详细解析ESP
寄存器
与
EBP
寄存器
详细解析ESP
寄存器
与
EBP
寄存器
最近在看汇编码,经常在程序的开头看到ESP和
EBP
寄存器
的出现,由于本人基础知识的不牢靠,便上网查阅相关的资料,可惜网上的资料都不给力,都只是流于形式,没有好好的解释这
两个
东西是什么.终于通过google国外的网站,得到一个相当不错的网页,上面解释的很清晰http://www.tenouk.com/Bufferoverflowc/Buffer
ebx
与
ebp
的作用 ---- 总线接口部件
ebx
是基址
寄存器
,比如存放的数组的首地址。 https://wenda.so.com/q/1537807204213369 很简单的啊,基址
寄存器
存放的是相当于某内存空间的首地址,而基址指针存放的是偏移量,类似其他编程语言中的索引,
不同
的是基址指针的单位是字节,而索引的单位是依赖于数据类型宽度,比如C++中int类型的宽度为4字节,因此索引必须乘以4才能换算成字节单位。 假设BX=1000,BP=102 ,则 计算后的地址为 BX+BP=1102;而如果假设数组int A[XXXX]的首地址也是.
这些最常见的
寄存器
你了解过吗?
一、常见
寄存器
的分类 1.通用
寄存器
(EAX
EBX
ECX EDX
EBP
ESP ESI EDI) 2.段
寄存器
(CS DS SS ES FS GS) 3.指令指针
寄存器
(EIP) 4.标志
寄存器
(EFLAGS) 二、通用
寄存器
通用
寄存器
分为前加上字母E表示32位
寄存器
,普通的32位
寄存器
分为高16位和低16位,低16位通用
寄存器
有具体名称,分别叫做AX、BX、CX、DX、SI(源指针
寄存器
)、DI、(目的指针
寄存器
)、SP 、BP。 那么各种
寄存器
的作用分别是什么呢?这里简要介绍一下。 (一)数
EAX、
EBX
、ECX、EDX、ESI、EDI、ESP、
EBP
寄存器
详解
参考一: EAX、ECX、EDX、
EBX
寄存器
的作用 一般
寄存器
:AX、BX、CX、DX AX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI、DI SI:来源索引暂存器,DI:目的索引暂存器 堆叠、基底暂存器:SP、BP SP:堆叠指标暂存器,BP:基底指标暂存器 EAX、ECX、EDX、
EBX
:為ax,bx,cx,
EAX、ESP、
EBP
等
寄存器
的作用
参考一: 一般
寄存器
:AX、BX、CX、DX AX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI、DI SI:来源索引暂存器,DI:目的索引暂存器 堆叠、基底暂存器:SP、BP SP:堆叠指标暂存器,BP:基底指标暂存器 EAX、ECX、EDX、
EBX
:為ax,bx,cx,dx的延伸,各為32位元 ESI、EDI、ESP、
EBP
:為si,di,sp,bp的延伸,32位元 eax,
ebx
, ecx, edx, esi, edi,
ebp
, esp等都是X86 汇编语言中
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章