8051单片机 PUSH POP指令的作用
这两条指令什么时候能用上?我平时在编写汇编程序的时候,用ACALL等指令,貌似都是编译器自动帮我进栈出栈,不用我操心。不知道这两条指令在什么时候能用上请高手指导一下。谢谢...
这两条指令什么时候能用上?
我平时在编写汇编程序的时候, 用ACALL等指令,貌似都是编译器自动帮我进栈出栈, 不用我操心。不知道这两条指令在什么时候能用上
请高手指导一下。谢谢! 展开
我平时在编写汇编程序的时候, 用ACALL等指令,貌似都是编译器自动帮我进栈出栈, 不用我操心。不知道这两条指令在什么时候能用上
请高手指导一下。谢谢! 展开
展开全部
一、PUSH、POP指令的作用:
PUSH和POP 都是堆栈操作指令。实现压入操作的指余散令是PUSH指令;实现弹出操作的指令是POP指令。
二、PUSH的操作过程是: (SP)<--(SP)-2,((sp))<--OPRD 即先修改堆栈指针SP(压入时为自动减2),然后,将指定 的操作数送入新的栈顶位置.
此处的((SP))<--OPRD,也可以理解为:
[(SS)*16+(SP)]<--OPRD 或 [SS:SP]<--OPRD
三、什么是堆栈
堆栈被定义为一种先进后出的数据结构,即最后进栈的元素将被最先弹出来.这很像许多人进入一条窄得只能 容纳一个人通过的小道,如果要从这条道往回退衫毁樱出来的或丛话,那么最先退出来的人是最后一个进入小道的人。
PUSH和POP 都是堆栈操作指令。实现压入操作的指余散令是PUSH指令;实现弹出操作的指令是POP指令。
二、PUSH的操作过程是: (SP)<--(SP)-2,((sp))<--OPRD 即先修改堆栈指针SP(压入时为自动减2),然后,将指定 的操作数送入新的栈顶位置.
此处的((SP))<--OPRD,也可以理解为:
[(SS)*16+(SP)]<--OPRD 或 [SS:SP]<--OPRD
三、什么是堆栈
堆栈被定义为一种先进后出的数据结构,即最后进栈的元素将被最先弹出来.这很像许多人进入一条窄得只能 容纳一个人通过的小道,如果要从这条道往回退衫毁樱出来的或丛话,那么最先退出来的人是最后一个进入小道的人。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询