2016 - 2024

感恩一路有你

push和pop指令例题 51单片机汇编程序详解:POP是干什么的?

浏览量:3659 时间:2021-03-10 12:57:51 作者:admin

51单片机汇编程序详解:POP是干什么的?

Pop是一条Pop堆栈指令。在编写程序的过程中,有时会使用寄存器冲突。例如,我们只是将一个数据存储在a中,但是我们必须进行加法。我们不希望数据丢失。我们该怎么办?当我们这样做时,我们可以使用push指令在SP指向的空间中打开堆栈空间,按a中的内容等等,这样就完成了工作,保护了场景。欢迎多交流,纯手工玩。。。。

什么是push ,pop?

推就是推,延伸到推。

这是组装说明。当然,你可以在其他语言中看到它。

它的意思几乎是一样的,即在堆栈上放置一个元素。

您可以想象堆栈是一种有底部但没有盖子的盒子。先推入的碟片总是在后推入的碟片之后取出。

Pop与push相反。意思是弹出窗口。它意味着从堆栈中弹出一个元素。每次弹出窗口都是堆栈顶部的元素(CD盒顶部的元素,即最后放入的元素)。

在JS中,数组还具有这两个功能。如果未指定参数,则会在数组末尾添加或删除元素。指定参数后,将添加或删除指定的元素。

在汇编中为什么PUSHCS是正确的?但是POPCS是错误的?

在汇编程序中,指定寄存器的内容可以通过push指令放入堆栈进行保护,堆栈的内容也可以通过pop指令装入寄存器。对于代码段寄存器CS,用户程序只有pushcs操作,如编写popcs,编译器会报错。这是因为随意改变CS寄存器的内容会导致程序紊乱,从而导致系统瘫痪。当程序调用发生时,由CP∪跟随调用类型完成对场景的保护。对于段内呼叫,只保存偏移地址IP。对于段间调用,段地址寄存器CS和偏移地址寄存器IP同时受到保护。返回指令根据场景的远近来决定如何恢复场景。当用户编写调用程序时,不需要保护或恢复CS和IP,只需要保护其他相关寄存器。如果只想得到程序中当前的CS值,可以通过pushcs将CS值放入堆栈,然后通过pop操作将其放入其他寄存器。

push和pop指令例题 栈的push和pop图解 push和pop怎么用

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。