push和pop指令例題51單片機(jī)匯編程序詳解:POP是干什么的?-創(chuàng)新互聯(lián)

51單片機(jī)匯編程序詳解:POP是干什么的?Pop是一條Pop堆棧指令。在編寫程序的過(guò)程中,有時(shí)會(huì)使用寄存器沖突。例如,我們只是將一個(gè)數(shù)據(jù)存儲(chǔ)在a中,但是我們必須進(jìn)行加法。我們不希望數(shù)據(jù)丟失。我們?cè)撛趺崔k?當(dāng)我們這樣做時(shí),我們可以使用push指令在SP指向的空間中打開堆??臻g,按a中的內(nèi)容等等,這樣就完成了工作,保護(hù)了場(chǎng)景。歡迎多交流,純手工玩。。。。push和pop指令例題 51單
片機(jī)匯編程序詳解:POP是干什么的?什么是push,pop?

推就是推,延伸到推。

金鄉(xiāng)網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),金鄉(xiāng)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為金鄉(xiāng)1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的金鄉(xiāng)做網(wǎng)站的公司定做!

這是組裝說(shuō)明。當(dāng)然,你可以在其他語(yǔ)言中看到它。

它的意思幾乎是一樣的,即在堆棧上放置一個(gè)元素。

您可以想象堆棧是一種有底部但沒(méi)有蓋子的盒子。先推入的碟片總是在后推入的碟片之后取出。

Pop與push相反。意思是彈出窗口。它意味著從堆棧中彈出一個(gè)元素。每次彈出窗口都是堆棧頂部的元素(CD盒頂部的元素,即最后放入的元素)。

在JS中,數(shù)組還具有這兩個(gè)功能。如果未指定參數(shù),則會(huì)在數(shù)組末尾添加或刪除元素。指定參數(shù)后,將添加或刪除指定的元素。

在匯編中為什么PUSHCS是正確的?但是POPCS是錯(cuò)誤的?

在匯編程序中,指定寄存器的內(nèi)容可以通過(guò)push指令放入堆棧進(jìn)行保護(hù),堆棧的內(nèi)容也可以通過(guò)pop指令裝入寄存器。對(duì)于代碼段寄存器CS,用戶程序只有pushcs操作,如編寫popcs,編譯器會(huì)報(bào)錯(cuò)。這是因?yàn)殡S意改變CS寄存器的內(nèi)容會(huì)導(dǎo)致程序紊亂,從而導(dǎo)致系統(tǒng)癱瘓。當(dāng)程序調(diào)用發(fā)生時(shí),由CP∪跟隨調(diào)用類型完成對(duì)場(chǎng)景的保護(hù)。對(duì)于段內(nèi)呼叫,只保存偏移地址IP。對(duì)于段間調(diào)用,段地址寄存器CS和偏移地址寄存器IP同時(shí)受到保護(hù)。返回指令根據(jù)場(chǎng)景的遠(yuǎn)近來(lái)決定如何恢復(fù)場(chǎng)景。當(dāng)用戶編寫調(diào)用程序時(shí),不需要保護(hù)或恢復(fù)CS和IP,只需要保護(hù)其他相關(guān)寄存器。如果只想得到程序中當(dāng)前的CS值,可以通過(guò)pushcs將CS值放入堆棧,然后通過(guò)pop操作將其放入其他寄存器。

網(wǎng)頁(yè)名稱:push和pop指令例題51單片機(jī)匯編程序詳解:POP是干什么的?-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article14/dsesge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)站維護(hù)、Google靜態(tài)網(wǎng)站、App開發(fā)建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管