
8051单片机 PUSH POP指令的作用
这两条指令什么时候能用上?我平时在编写汇编程序的时候,用ACALL等指令,貌似都是编译器自动帮我进栈出栈,不用我操心。不知道这两条指令在什么时候能用上请高手指导一下。谢谢...
这两条指令什么时候能用上?
我平时在编写汇编程序的时候, 用ACALL等指令,貌似都是编译器自动帮我进栈出栈, 不用我操心。不知道这两条指令在什么时候能用上
请高手指导一下。谢谢! 展开
我平时在编写汇编程序的时候, 用ACALL等指令,貌似都是编译器自动帮我进栈出栈, 不用我操心。不知道这两条指令在什么时候能用上
请高手指导一下。谢谢! 展开
2个回答
展开全部
一、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
三、什么是堆栈
堆栈被定义为一种先进后出的数据结构,即最后进栈的元素将被最先弹出来.这很像许多人进入一条窄得只能 容纳一个人通过的小道,如果要从这条道往回退出来的话,那么最先退出来的人是最后一个进入小道的人。

2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询