单片机中PUSH 2 PUSH 1 是什么意思

发布网友

我来回答

4个回答

热心网友

表示两条压栈指令,为:
PUSH 02H 及PUSH 01H的简写形式。
其中的02H、01H,都是片内RAM的地址号码,工作寄存器区0的R2、R1的地址。
这两条指令是将R1和R2的内容压栈,进行保护

热心网友

PUSH 是51汇编的堆栈指令,与之相对应的有POP出栈指令。
是用来为程序运行期间保护某些寄存器数据时候用的。
比如:你的主程序程序用了R1寄存器,然后调用的子程序也需要用到R1寄存器此时你又不想主程序的R1寄存器数据被覆盖,此时可以PUSH R1,跳出子程序前POP R1就可以还原到未调用前R1的数据了。
就像你的杯子本来是装水的,但是现在想冲咖啡喝,所以你就把这杯水装到碗里面去。喝完咖啡再把水从碗里面倒回杯子去。不知道这个比喻合不合适呢···

热心网友

是两条压栈指令,是:
PUSH 02H
PUSH 01H
的简写形式。

其中的02H、01H,都是片内RAM的地址号码,它们是工作寄存器区0的R2、R1的地址。
这两条指令,实际上是把R2、R1压入了堆栈。

热心网友

就是将R1和R2的内容压栈,进行保护。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com