为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦知道的慕友说说BP指针和SP指针的区别?

麻烦知道的慕友说说BP指针和SP指针的区别?

蛊毒传说 2023-02-11 14:10:40
CPU寄存器组中,指针寄存器BP和SP有什么区别?是不是BP指针可以访问堆栈中的任何数据,而SP指针只可以访问栈顶数据?
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

指针寄存器包括堆栈寄存器SP(stack pointer)和基数指针寄存器BP(base pointer),变 
值寄存器包括源变址寄存器SI(source index)和目的变值寄存器DI(destination index)。这 
4个寄存器都是16位寄存器,这些寄存器在运算过程中也可以用来存放操作数(只能 
以字为单位),但经常的用途是在段内寻址时提供偏移地址,SP,BP一般与段寄存器SS 
联用,以确定堆栈寄存器中某一单元的地址,SP用以指示栈顶的偏移地址,而BP可 
作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。SI,DI一般与段寄存器 
DS联用,以确定数据段中某一存储单元的地址,SI,DI具有自动增量和自动减量的功能, 
这一点使在串操作指令中用做变址非常方便,SI作为隐含的源变址DS联用,DI作为 
隐含的目的变址和ES连用,从而达到在数据段和附加段中寻址的目的

查看完整回答
反对 回复 2023-02-15
?
慕容3067478

TA贡献1773条经验 获得超3个赞

sp指针是栈顶指针,BP指针是栈内的某一单元的地址

查看完整回答
反对 回复 2023-02-15
  • 2 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信