汇编语言SP=SP-2是什么意思
SP=SP-2这个是什么意思,具体点,我的理解能力不是很强这个是不是一个公式?SP-2又是什么意思,是不是进栈一次就要-2我看其他人都是SP-4很多例子,在线等,高手来解...
SP=SP-2 这个是什么意思,具体点,我的理解能力不是很强 这个是不是一个公式? SP-2又是什么意思,是不是进栈一次就要-2 我看其他人都是SP-4 很多例子,在线等,高手来解
展开
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
透过STM32您的嵌入式应用将得益于意法半导体优秀的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM Cortex-M0、M0+、M3、M4、M33、M7及A7内核并具备...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
SP=SP-2,是指堆栈指针移动2个字节。不是一进站就要移动2个字节,这和你操作的数大小有关。如果你操作的书是字节型的(比如C语言中char型),那就只移动1个字节,即SP=SP-1;如果是双字节的(比如C语言中的int型),就是SP=SP-2;如果是四字节的(比如C语言中的float型的)就是SP=SP-4.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sp是栈指针,在8086模式下都是以字为单位,压栈一次sp就减2,出栈一次sp就加2.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-09-27
展开全部
16位汇编:
PUSH 16位(寄存器/存储器) ; SP=SP-2
POP 16位(寄存器/存储器) ; SP=SP+2
SP是栈顶指针指示器(16位);
32位汇编:
PUSH 16位/32位(寄存器/存储器/立即数) ; ESP=ESP- 2/4
POP 16位/32位(寄存器/存储器/立即数) ; ESP=ESP+ 2/4
ESP是栈顶指针指示器(32位);
现在的程序都是32位的.
PUSH 16位(寄存器/存储器) ; SP=SP-2
POP 16位(寄存器/存储器) ; SP=SP+2
SP是栈顶指针指示器(16位);
32位汇编:
PUSH 16位/32位(寄存器/存储器/立即数) ; ESP=ESP- 2/4
POP 16位/32位(寄存器/存储器/立即数) ; ESP=ESP+ 2/4
ESP是栈顶指针指示器(32位);
现在的程序都是32位的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该先了解一下什么是 “栈空间”对这个问题就不难理解了:
假设 一个栈段的长度是:10000---1FFFF,两个数相减等于 FFFF,首先需知道指向栈顶的SS:SP 指针所指向的地址是多少,因为栈顶总是指向栈空间最高单元的下一个单元。知道了SS:SP也就知道了栈空间的大小,即 SP-2 (减两个单元)如:SP=2E ,那么2E-2=2C,栈空间是 0000----2C, 共计 13个单元。
假设 一个栈段的长度是:10000---1FFFF,两个数相减等于 FFFF,首先需知道指向栈顶的SS:SP 指针所指向的地址是多少,因为栈顶总是指向栈空间最高单元的下一个单元。知道了SS:SP也就知道了栈空间的大小,即 SP-2 (减两个单元)如:SP=2E ,那么2E-2=2C,栈空间是 0000----2C, 共计 13个单元。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询