欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4412|回復: 7
收起左側

單片機C語言求教,關于push和pop函數

[復制鏈接]
ID:958976 發表于 2021-9-26 15:22 | 顯示全部樓層 |閱讀模式
1.png
這個是STC8的一個官方寫的I2C的中斷函數,其中pop和push函數是什么意思?網上查找的說法是拿出和放進數據,但在這具體的程序里面還是不能明白?望大佬們不吝賜教
回復

使用道具 舉報

ID:824490 發表于 2021-9-26 16:06 | 顯示全部樓層
就是入棧和出棧。
回復

使用道具 舉報

ID:624769 發表于 2021-9-26 16:21 來自觸屏版 | 顯示全部樓層
出入棧的,其實可以不寫,進出中斷,C語言編程的話本來就自動出入棧的。
回復

使用道具 舉報

ID:958976 發表于 2021-9-26 16:22 | 顯示全部樓層
188610329 發表于 2021-9-26 16:21
出入棧的,其實可以不寫,進出中斷,C語言編程的話本來就自動出入棧的。

明白了  謝謝
回復

使用道具 舉報

ID:401564 發表于 2021-9-26 17:08 | 顯示全部樓層
堆棧在8051的C語言中不需要學,8051用的是軟件堆棧,原理你要知道
一堆其它的單片機用的是硬件堆棧,這個就要了解了,特別是那種只有4層的低端單片機,很容易就溢出了,一溢出了,程序就跑飛了
回復

使用道具 舉報

ID:958976 發表于 2021-9-26 17:10 | 顯示全部樓層
Y_G_G 發表于 2021-9-26 17:08
堆棧在8051的C語言中不需要學,8051用的是軟件堆棧,原理你要知道
一堆其它的單片機用的是硬件堆棧,這個就要 ...

謝謝了
回復

使用道具 舉報

ID:57657 發表于 2021-9-27 12:23 | 顯示全部樓層
_push_() 與 _pop_() 函數,位于頭文件 intrins.h 內。
編譯后轉換成PUSH POP匯編指令。
只能操作寄存器 且不能是變量、立即數。
回復

使用道具 舉報

ID:624769 發表于 2021-9-27 20:18 | 顯示全部樓層
npn 發表于 2021-9-27 12:23
_push_() 與 _pop_() 函數,位于頭文件 intrins.h 內。
編譯后轉換成PUSH POP匯編指令。
只能操作寄存器  ...

站在C語言的角度來講, PUSH 和 POP 是可以操作變量的,只要這個變量存在于直接地址中。

PUSH  是把直接地址  推入到  SP+1后  所指向的間接地址。
POP   是把SP指向的間接地址的內容, 取出到直接地址后  SP -1。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表