找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

Handler of Interruput

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-13 01:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式



在內(nèi)存中開(kāi)辟棧保護(hù)區(qū),對(duì)中斷現(xiàn)場(chǎng)進(jìn)行保護(hù),然而在C中這些工作編譯器已經(jīng)做了,但是匯編要自己做保護(hù)。值得注意的是PC指針的低位已經(jīng)壓入硬件棧中無(wú)需保護(hù),只需要保護(hù)當(dāng)前的狀態(tài)字和累加器還有高位的PC指針值就好了,有的堆?梢杂肞USH和POP處理,有的卻只能開(kāi)辟內(nèi)存,但是他們的共同點(diǎn)就是都會(huì)對(duì)PC指針壓棧處理,不這樣也談不上跳轉(zhuǎn)和斷點(diǎn)了,由此可見(jiàn)用匯編寫(xiě)一段保護(hù)代碼也是很慎重的事情,當(dāng)然取決于自己的想法,對(duì)就是對(duì),錯(cuò)就是錯(cuò),事實(shí)騙不了人吧我想。有些重要的變量在中斷現(xiàn)場(chǎng)也應(yīng)該做保護(hù),這就看需要,這只是最基本的,對(duì)于用匯編寫(xiě)程序來(lái)說(shuō)沒(méi)有什么函數(shù)和變量,無(wú)窮無(wú)盡的地址,內(nèi)存是地址,程序也是地址,局部變量全局變量的分配釋放都是自己控制,函數(shù)也是地址等等,用匯編編寫(xiě)驅(qū)動(dòng)是極好的,因?yàn)榭刂品浅>珳?zhǔn),精確到每條指令,非常接近與物理狀態(tài),但是用匯編編寫(xiě)算法就........,就算是一個(gè)很簡(jiǎn)單的算法,就夠折騰好一會(huì)的,程序的靈魂是算法,故而還是選擇C語(yǔ)言吧,但是學(xué)點(diǎn)匯編是絕對(duì)沒(méi)有壞處的,匯編使你看到的計(jì)算機(jī)更加的清晰。夫鵠不日浴而白,烏不日黔而黑!不知鵠歟而或?yàn)鯕e?嘻!

;///////////////////////// Interrupt_Handler_Start///////////////////////////////////***********************************************
;/////////////////////////////////////////////////////////////***********************************************

INTEERUPUT_HIGHT:
MOVWF W_TEMP
SWAPF STATUS,0
CLRF STATUS
MOVWF STATUS_TEMP     ;中斷現(xiàn)場(chǎng)壓入內(nèi)存
MOVF PCLATH,0
MOVWF PCLATH_TEMP
CLRF PCLATH
;............(中斷程序的核心部分)

;choose branch


;............(中斷程序的核心部分)
MOVF PCLATH_TEMP,0
MOVWF PCLATH
SWAPF STATUS_TEMP,0
MOVWF STATUS;    ;中斷現(xiàn)場(chǎng)彈出內(nèi)存
SWAPF W_TEMP,1;
SWAPF W_TEMP,0;
RETURN
;/////////////////////////Interrupt_Handler  end///////////////////////////////////***********************************************
;/////////////////////////////////////////////////////////////***********************************************


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表