汇编语言SP=SP
1个回答
展开全部
16位汇编:PUSH 16位(寄存器/存储器) ; SP=SP-2 POP 16位(寄存器/存储器) ; SP=SP+2SP是栈顶指针指示器(16位);32位汇编:PUSH 16位/32位(寄存器/存储器/立即数) ; ESP=ESP- 2/4POP 16位/32位(寄存器/存储器/立即数) ; ESP=ESP+ 2/4ESP是栈顶指针指示器(32位); 现在的程序都是32位的. sp是栈指针,在8086模式下都是以字为单位,压栈一次sp就减2,出栈一次sp就加2. SP=SP-2,是指堆仿旅答栈指针移动2个字节。不是一进站就要移动2个字节,这和你操作的数大小有关。如果你操作的书是字节型的(比如C语言中char型),那就只移动1个字节,即SP=SP-1;如果是双备慧字节的(比如C语镇灶言中的int型),就是SP=SP-2;如果是四字节的(比如C语言中的float型的)就是SP=SP-4.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询