久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7536|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

51單片機的 POP PUSH指令研究

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:81053 發(fā)表于 2020-1-9 18:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在研究RTOS,在程序中看到一個 POP 7 POP 6 POP ... ,請問大家這個7是什么,POP執(zhí)行之后 什么會被動了什么?



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:195446 發(fā)表于 2020-1-10 00:22 | 只看該作者
7、6、5.。。。。0應(yīng)該是指工作寄存器,估計是指0組的R7、R6。。。。。R0,但POP后面直接用7表示R7的話,那必須頭文件里對R7的地址做好定義才行,其它特殊功能寄存器也是一樣。
回復(fù)

使用道具 舉報

板凳
ID:462827 發(fā)表于 2020-1-10 01:12 | 只看該作者
單步調(diào)試一下不就看得清清楚楚的么
回復(fù)

使用道具 舉報

地板
ID:158375 發(fā)表于 2020-1-10 08:53 | 只看該作者
POP PUSH指令研究: 就研究出來這樣的結(jié)果?
回復(fù)

使用道具 舉報

5#
ID:81053 發(fā)表于 2020-1-10 15:40 | 只看該作者
mffhxa 發(fā)表于 2020-1-10 00:22
7、6、5.。。。。0應(yīng)該是指工作寄存器,估計是指0組的R7、R6。。。。。R0,但POP后面直接用7表示R7的話,那 ...

好的,多謝指教
回復(fù)

使用道具 舉報

6#
ID:81053 發(fā)表于 2020-1-10 15:41 | 只看該作者
hantu 發(fā)表于 2020-1-10 01:12
單步調(diào)試一下不就看得清清楚楚的么

對匯編不太熟悉,仔細調(diào)試一下
回復(fù)

使用道具 舉報

7#
ID:81053 發(fā)表于 2020-1-10 15:41 | 只看該作者
笨笨兔 發(fā)表于 2020-1-10 08:53
POP PUSH指令研究: 就研究出來這樣的結(jié)果?

抱歉,還沒有啥結(jié)果
回復(fù)

使用道具 舉報

8#
ID:401564 發(fā)表于 2020-1-11 15:20 | 只看該作者
以常用的匯編中斷處理來說吧:
PUSH          ACC                      ;把ACC壓入棧
PUSH          PSW                     ;把PSW壓入棧

---------中間是某段代碼-----
POP           PSW                     ;把棧的值彈回PSW
POP           ACC                      ;把棧的值彈回ACC
這就是匯編中的堆棧,它是一個處理事件的方
你不用管它是進入中斷還是要干嘛,你只要知道它是這么一個過程就可以了:
1,把ACC壓入棧,這個時候ACC在棧的最上面的地址,假設(shè)這個地址是:0   (PUSH          ACC)
2,把PSW壓入棧,這個時候,PSW就在剛才ACC呆的地址,ACC就被壓到了下一個地址,那么:PSW在0地址,ACC在1地址,(PUSH          PSW)
如果還有PUSH指令,之前入棧的值就會不斷的向下壓,壓過頭了,就沒了,這就是常說的"溢出"
在8051系統(tǒng)里,堆棧是軟件堆棧,它是由系統(tǒng)自動處理的,理論上來說程序空間有多大,它就能入棧多少次,但實際就100多地址可以放,足夠絕大多數(shù)的程序了
而有的單片機系統(tǒng)是硬件堆棧,它有的只有三四層的堆棧,也就是說它只能PUSH三四次而已,像這種可以算是堆棧資源非常有限,編程就會有要求:禁止使用遞歸,中斷里最好不有函數(shù),處理什么東西最好是在中斷外處理
3,POP           PSW     ;這個指令是:把堆棧的最頂層的數(shù)據(jù)彈回PSW,理解這個很重要,它是把地址0的數(shù)據(jù)傳送到PSW,這是出棧的順序
4,POP           ACC     ;把地址1的數(shù)據(jù)彈回ACC,這兩條指令的順序是不能變的
總的來說,就是網(wǎng)上說的那樣:先進后出,自己慢慢理解一下,字打多了,我自己不知道自己在說什么了

回復(fù)

使用道具 舉報

9#
ID:835796 發(fā)表于 2021-5-20 09:42 | 只看該作者
Y_G_G 發(fā)表于 2020-1-11 15:20
以常用的匯編中斷處理來說吧:
PUSH          ACC                      ;把ACC壓入棧
PUSH          PSW                ...

說的很清楚,哈哈,領(lǐng)教了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲一区二区三区 | 国内精品久久久久久久影视简单 | 99视频在线免费观看 | 精品少妇一区二区三区日产乱码 | 国产成人免费网站 | 国产欧美一区二区精品久导航 | 日本午夜在线视频 | 天堂网色 | 欧美一级观看 | 亚洲综合色视频在线观看 | 国产亚洲一区二区三区在线观看 | 成人免费看黄网站在线观看 | www视频在线观看 | 亚洲网在线 | 亚卅毛片| 久久久精品视频免费看 | www.日本在线观看 | 欧美性一区二区三区 | www日韩 | 97影院在线午夜 | 免费h在线| 亚洲视频二 | wwww.8888久久爱站网 | 91玖玖| 精品一区av| 狠狠久| 久久久久久久亚洲精品 | 中文字幕一区二区三区四区五区 | 成人av高清| 日韩午夜电影 | 久久久久久久久淑女av国产精品 | 免费观看av | av中文字幕网站 | 国产精品人人做人人爽 | www.亚洲 | 国产精品国产精品 | 国产精品精品视频一区二区三区 | 亚洲精品91| 中文精品视频 | 日本天天操 | 亚洲精品一区二区三区在线观看 |