汇编语言中SP寄存器是什么?

 我来答
朱丽娟朱丽华By
2020-01-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:709万
展开全部
汇编语言中SP是堆栈寄存器。堆栈——是一段按照后进先出(LIFO)原则组织起来的连续存储区域。用于程序保存或恢复数据,或用于子程序调用及中断响应时保护与恢复现场。SP是堆栈指针寄存器,存放着当前堆栈栈顶地址。
一般情况下,对SP有影响的指令,对SP的操作都是隐式的,就是说SP并不出现在指令操作数当中。
例如:
PUSH
AX;累加器AX的内容压栈保存,(SP)=(SP)-2
POP
BX;堆栈内保存的累加器AX的内容弹出到BX寄存器中,(SP)=(SP)+2
使用PUSH、POP指令使用堆栈,要注意进出栈的匹配,否则将引起不可预期的后果。
阮斯文姒湛
2020-01-14 · TA获得超过3.3万个赞
知道小有建树答主
回答量:1.2万
采纳率:29%
帮助的人:608万
展开全部
指针寄存器
32位cpu有2个32位通用寄存器ebp和esp。其低16位对应先前cpu中的sbp和sp,对低16位数据的存取,不影响高16位的数据。
寄存器ebp、esp、bp和sp称为指针寄存器(pointer
register),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。
指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。
它们主要用于访问堆栈内的存储单元,并且规定:
bp为基指针(base
pointer)寄存器,用它可直接存取堆栈中的数据;
sp为堆栈指针(stack
pointer)寄存器,用它只可访问栈顶。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式