第二篇:人工堆棧
在單片機(jī)的指令集中,一類(lèi)指令是專(zhuān)門(mén)與堆棧和PC指針打道的,它們是
rcall相對(duì)調(diào)用子程序指令
icall間接調(diào)用子程序指令
ret子程序返回指令
reti中斷返回指令
對(duì)于ret和reti,它們都可以將堆棧棧頂?shù)膬蓚€(gè)字節(jié)被彈出來(lái)送入程序計(jì)數(shù)器PC中,一般用來(lái)從子程序或中斷中退出。其中reti還可以在退出中斷時(shí),重開(kāi)全局中斷使能。
有了這個(gè)基礎(chǔ),就可以建立我們的人工堆棧了。
例:
#include voidfun1(void) { unsignedchari=0; while(1) { PORTB=i++; PORTC=0x01<<(i%8); } } unsignedcharStack[100];//建立一個(gè)100字節(jié)的人工堆棧 voidRunFunInNewStack(void(*pfun)(),unsignedchar*pStack) { *pStack--=(unsignedint)pfun>>8;//將函數(shù)的地址高位壓入堆棧, *pStack--=(unsignedint)pfun;//將函數(shù)的地址低位壓入堆棧, SP=pStack;//將堆棧指針指向人工堆棧的棧頂 __asm____volatile__("RET t");//返回并開(kāi)中斷,開(kāi)始運(yùn)行fun1() } intmain(void) { RunFunInNewStack(fun1,&Stack[99]); } RunFunInNewStack(),將指向函數(shù)的指針的值保存到一個(gè)unsignedchar的數(shù)組Stack中,作為人工堆棧。并且將棧頂?shù)臄?shù)值傳遞組堆棧指針SP,因此當(dāng)用"ret"返回時(shí),從SP中恢復(fù)到PC中的值,就變?yōu)榱酥赶騠un1()的地址,開(kāi)始運(yùn)行fun1(). 上面例子中在RunFunInNewStack()的最后一句嵌入了匯編代碼"ret",實(shí)際上是可以去除的。因?yàn)樵赗unFunInNewStack()返回時(shí),編譯器已經(jīng)會(huì)加上"ret"。我特意寫(xiě)出來(lái),是為了讓大家看到用"ret"作為返回后運(yùn)行fun1()的過(guò)程。
上一篇:AVR下載線(xiàn)存在問(wèn)題
下一篇:AVR常用庫(kù)函數(shù)介紹
推薦閱讀
史海拾趣
福祿克(Fluke)公司在電子行業(yè)中的發(fā)展歷程充滿(mǎn)了創(chuàng)新與突破,以下是五個(gè)與福祿克公司發(fā)展相關(guān)的故事:
1. 創(chuàng)立與初期發(fā)展
1948年,John Fluke先生在美國(guó)康涅狄格州的家中地下室創(chuàng)立了福祿克公司,并親自設(shè)計(jì)了公司的第一款產(chǎn)品——VAW Meter(伏特、安培、瓦數(shù)表)。這一創(chuàng)舉標(biāo)志著福祿克在電子測(cè)試測(cè)量領(lǐng)域的初步探索與嘗試。隨著產(chǎn)品的不斷推出和市場(chǎng)認(rèn)可度的提升,福祿克逐漸在電子行業(yè)中站穩(wěn)了腳跟。
2. 技術(shù)創(chuàng)新與市場(chǎng)拓展
多年來(lái),福祿克公司一直致力于技術(shù)創(chuàng)新和產(chǎn)品升級(jí)。例如,福祿克推出的手持式電流表、接地阻抗測(cè)量?jī)x表等產(chǎn)品,憑借其高精度和可靠性,在電力、通信、工業(yè)控制等多個(gè)領(lǐng)域得到了廣泛應(yīng)用。同時(shí),福祿克還不斷拓展其銷(xiāo)售和服務(wù)網(wǎng)絡(luò),覆蓋全球多個(gè)國(guó)家和地區(qū),為全球客戶(hù)提供優(yōu)質(zhì)的測(cè)試測(cè)量解決方案。
3. 新能源汽車(chē)領(lǐng)域的涉足
隨著新能源汽車(chē)產(chǎn)業(yè)的快速發(fā)展,福祿克公司也積極涉足這一領(lǐng)域。新能源汽車(chē)中的鋰電池、光纖等關(guān)鍵部件需要在使用過(guò)程中進(jìn)行連續(xù)的溫度監(jiān)測(cè)。福祿克憑借其可靠的耐用性,為多家新能源汽車(chē)企業(yè)提供了安全可靠的測(cè)試測(cè)量產(chǎn)品及解決方案。這一舉措不僅拓展了福祿克的市場(chǎng)領(lǐng)域,也進(jìn)一步鞏固了其在電子測(cè)試測(cè)量行業(yè)的領(lǐng)先地位。
4. 應(yīng)對(duì)國(guó)際計(jì)量系統(tǒng)變革
當(dāng)前國(guó)際計(jì)量系統(tǒng)正在經(jīng)歷歷史性變革,福祿克公司密切關(guān)注這一世界熱議話(huà)題。作為全球知名的電子測(cè)試儀器公司,福祿克已做好準(zhǔn)備隨時(shí)對(duì)應(yīng)調(diào)整,以應(yīng)對(duì)計(jì)量單位量子化等挑戰(zhàn)。福祿克的這一舉措體現(xiàn)了其作為行業(yè)領(lǐng)導(dǎo)者的前瞻性和應(yīng)變能力。
5. 智能化與網(wǎng)絡(luò)化發(fā)展
近年來(lái),福祿克公司不斷推動(dòng)產(chǎn)品的智能化和網(wǎng)絡(luò)化發(fā)展。例如,福祿克推出的在線(xiàn)式紅外熱像儀、帶有Fieldsense技術(shù)的鉗表等產(chǎn)品,不僅提高了測(cè)試測(cè)量的精度和效率,還實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)傳輸和分析。這些創(chuàng)新產(chǎn)品滿(mǎn)足了客戶(hù)對(duì)智能化、網(wǎng)絡(luò)化測(cè)試測(cè)量解決方案的需求,進(jìn)一步推動(dòng)了福祿克在電子行業(yè)中的發(fā)展。
以上五個(gè)故事展示了福祿克公司在電子行業(yè)中的發(fā)展歷程和成就。從創(chuàng)立初期的艱難探索到如今的行業(yè)領(lǐng)導(dǎo)者地位,福祿克始終秉持著創(chuàng)新、質(zhì)量和服務(wù)的理念不斷前行。
在電子行業(yè)的早期,EOREX公司由一群熱衷于技術(shù)創(chuàng)新的工程師創(chuàng)立。他們專(zhuān)注于研發(fā)高性能的半導(dǎo)體芯片,以滿(mǎn)足當(dāng)時(shí)市場(chǎng)對(duì)更快、更穩(wěn)定電子產(chǎn)品的需求。通過(guò)不斷的技術(shù)創(chuàng)新和產(chǎn)品迭代,EOREX逐漸在半導(dǎo)體領(lǐng)域樹(shù)立了良好的口碑,吸引了眾多合作伙伴和投資者的關(guān)注。隨著公司規(guī)模的擴(kuò)大,EOREX不斷加大對(duì)研發(fā)的投入,推出了更多具有競(jìng)爭(zhēng)力的產(chǎn)品,逐漸在電子行業(yè)中嶄露頭角。
在電子行業(yè)競(jìng)爭(zhēng)日益激烈的背景下,EOREX公司敏銳地洞察到智能家居市場(chǎng)的巨大潛力。他們及時(shí)調(diào)整戰(zhàn)略方向,將研發(fā)重心轉(zhuǎn)向智能家居領(lǐng)域,推出了一系列具有創(chuàng)新性和實(shí)用性的智能家居產(chǎn)品。同時(shí),EOREX還積極布局全球市場(chǎng),通過(guò)與海外企業(yè)的合作與交流,不斷引進(jìn)先進(jìn)的技術(shù)和設(shè)計(jì)理念,提升自身的競(jìng)爭(zhēng)力。這些舉措使得EOREX在智能家居領(lǐng)域迅速崛起,成為行業(yè)內(nèi)的佼佼者。
在成立后的幾年里,BB公司逐漸在國(guó)內(nèi)市場(chǎng)站穩(wěn)了腳跟。然而,創(chuàng)始人并沒(méi)有滿(mǎn)足于此,他看到了更廣闊的國(guó)際市場(chǎng)。1961年,BB公司首次進(jìn)入國(guó)際市場(chǎng),憑借其高品質(zhì)的產(chǎn)品和專(zhuān)業(yè)的服務(wù),迅速贏得了國(guó)際客戶(hù)的青睞。此后,BB公司不斷加快國(guó)際化步伐,先后在英國(guó)和日本設(shè)立子公司,進(jìn)一步擴(kuò)大了市場(chǎng)份額。這一系列的國(guó)際化舉措,不僅提升了BB公司的知名度,也為其帶來(lái)了豐厚的回報(bào)。
在自動(dòng)駕駛技術(shù)快速發(fā)展的同時(shí),AURORA公司也積極尋找商業(yè)化突破口。公司創(chuàng)始人認(rèn)為,自動(dòng)駕駛卡車(chē)商業(yè)化是一個(gè)具有巨大潛力的市場(chǎng)。因此,AURORA優(yōu)先瞄準(zhǔn)了自動(dòng)駕駛卡車(chē)商業(yè)化領(lǐng)域,與FedEx、Paccar、Schneider、Werner和Xpress等多家平臺(tái)公司建立了試點(diǎn)合作關(guān)系。通過(guò)在實(shí)際場(chǎng)景中測(cè)試和驗(yàn)證自動(dòng)駕駛技術(shù),AURORA不斷積累經(jīng)驗(yàn)和數(shù)據(jù),為未來(lái)的商業(yè)化落地奠定了堅(jiān)實(shí)基礎(chǔ)。
這五個(gè)故事展示了AURORA公司在電子行業(yè)中的發(fā)展歷程和取得的成就。從初創(chuàng)時(shí)期的挑戰(zhàn)與機(jī)遇到技術(shù)實(shí)力的不斷提升,再到與汽車(chē)制造商的深度合作、垂直產(chǎn)業(yè)鏈的整合與布局以及自動(dòng)駕駛卡車(chē)商業(yè)化的探索,AURORA公司憑借其卓越的技術(shù)實(shí)力和前瞻性的戰(zhàn)略眼光,在電子行業(yè)中逐漸嶄露頭角。未來(lái),我們有理由相信AURORA將繼續(xù)在自動(dòng)駕駛領(lǐng)域取得更多突破和創(chuàng)新。
這些天連續(xù)低溫大霧,紅外對(duì)射的外罩上結(jié)了一層冰,為了解決這個(gè)問(wèn)題絞盡腦汁,自制了一個(gè)加熱器,就是用電褥子上的電爐絲。剪下一段,在一塊小塑料板上繞幾圈就行了… 查看全部問(wèn)答∨ |
基于PDA移動(dòng)導(dǎo)航定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf 基于PDA移動(dòng)導(dǎo)航定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf… 查看全部問(wèn)答∨ |
菜鳥(niǎo)這廂有禮了,關(guān)于flash的基本概念想不明白,求教于各位。 1)扇區(qū)sector 和 塊block 是什么關(guān)系?我用的flash芯片是am29lv160DB,據(jù)手冊(cè)有若干不同大小的sector,但是block大小沒(méi)有定義,不知道每個(gè)sector包含多少個(gè)block。 2)擦除大小erase ...… 查看全部問(wèn)答∨ |
|
Bitmap MyImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); &nbs ...… 查看全部問(wèn)答∨ |
嵌入式系統(tǒng)“中國(guó)制造”走向“中國(guó)創(chuàng)造” 嵌入式系統(tǒng)是先進(jìn)的半導(dǎo)體技術(shù)、計(jì)算機(jī)技術(shù)、電子技術(shù)以及各種具體應(yīng)用相結(jié)合的產(chǎn)物,是技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的新型集成知識(shí)系統(tǒng)。涵蓋了電子信息技術(shù)、微電子技術(shù)、計(jì)算機(jī)軟件和硬件等多項(xiàng)技術(shù)等領(lǐng)域方面的應(yīng)用。下面就由福州卓 ...… 查看全部問(wèn)答∨ |
轉(zhuǎn)自http://blog.cechina.cn/ting123/226060/message.aspx# 科普貼收藏了 Quartus II中的Safe State Machine編譯選項(xiàng)對(duì)FSM在FPGA中的實(shí)現(xiàn)方式有很大影響。 riple 這一影響在RTL視圖中不可見(jiàn)。 riple 這一選項(xiàng)是否引 ...… 查看全部問(wèn)答∨ |
|
上海詣闊 EQ一卡通 EQ2011-64,項(xiàng)目剩余,基本全新,90包郵非偏遠(yuǎn)。 http://2.taobao.com/item.htm?id=42249016068&spm=686.1000925.0.0.QNQGoJ&mt= … 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線(xiàn) 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線(xiàn)微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開(kāi)發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹(shù)莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動(dòng)駕駛安全性
- 曉鶯說(shuō):線(xiàn)控制動(dòng)變革風(fēng)云
- 大眾商用車(chē)推出AirConsole 將其信息娛樂(lè)系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺(jué)傳感器 可使機(jī)器人對(duì)極端光照做出超快反應(yīng)
- 蘋(píng)果獲沉浸式虛擬顯示器相關(guān)的專(zhuān)利
- 英特爾汽車(chē)“折戟”,十年布局一夜歸零
- 寶馬自動(dòng)充電機(jī)器人概念驗(yàn)證成功,引領(lǐng)無(wú)人充電新時(shí)代
- 智駕模式下LQR最優(yōu)算法在EPS中的應(yīng)用研究
- 6月超17款人形機(jī)器人新品推出
- 瑞薩電子最新觸控微控制器R7F0C208入門(mén)套件免費(fèi)申請(qǐng),參與申請(qǐng)還能贏好禮!
- 【EEWORLD第三十五屆】2012年02月社區(qū)明星人物揭曉!
- 直播已結(jié)束|富士通鐵電隨機(jī)存儲(chǔ)器無(wú)加密算法真贗驗(yàn)證解決方案
- 評(píng)論贏好禮|TI SK-AM64評(píng)估套件測(cè)評(píng)
- 已結(jié)束 |TI 新一代 MSP430™ 產(chǎn)品在低成本超聲波水表中的方案介紹及快速應(yīng)用指南
- 直播|TI 最新 Sitara 處理器 支持多網(wǎng)絡(luò)協(xié)議 兼容更廣
- 再續(xù)點(diǎn)評(píng)Vishay視頻 搶樓拿獎(jiǎng)進(jìn)行到底
- 力源&安森美有獎(jiǎng)直播:RSL15 - 安森美更高效更智能更安全的 BLE 5.2 藍(lán)牙芯片
- 51單片機(jī)學(xué)習(xí)筆記——基于匯編語(yǔ)言(2)
- 51單片機(jī)學(xué)習(xí)筆記——基于匯編語(yǔ)言(1)
- 基于匯編語(yǔ)言單片機(jī)的時(shí)鐘設(shè)計(jì)
- 28課:單片機(jī)音樂(lè)程序設(shè)計(jì)
- 27課:關(guān)于單片機(jī)的一些基本概念
- 應(yīng)用固態(tài)電池的純電動(dòng)汽車(chē)駕駛安全性是否會(huì)提高?
- 2019年智能座艙發(fā)展趨勢(shì)
- 捷豹路虎研發(fā)自動(dòng)車(chē)門(mén)技術(shù) 為殘疾人提供便利
- 佛吉亞選用Qt框架和工具鏈 開(kāi)發(fā)下一代數(shù)字駕駛艙
- WayRay“開(kāi)源”AR SDK 車(chē)載全息增強(qiáng)現(xiàn)實(shí)進(jìn)行時(shí)
- 急切求助!為什么我定義了m_osWrite還報(bào)錯(cuò)undeclared identifier?
- CC2530+PA入網(wǎng)和按鍵有關(guān)????
- 彩色液晶接口電路設(shè)計(jì)及觸摸屏的編程與調(diào)試
- 大功率型LED封裝技術(shù)
- 周立功SmartEDA實(shí)驗(yàn)中用到的常用模塊(EDA_Component)
- 最新發(fā)布:PCB轉(zhuǎn)SCH使用方法
- 【GD32L233C-START評(píng)測(cè)】RTX操作系統(tǒng)
- ndisprot這個(gè)DDK例子是運(yùn)行在NDIS哪個(gè)層的?
- 電流測(cè)試,冒煙了是怎么回事?
- HART475手操器菜單中英文對(duì)照及使用維護(hù)