Re: 請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
版主
|
給你一個 Home work 編譯成功後,看一下 view 下的 Disassemblty Listing 看一下組語就知道中斷存了哪些東西。
發表於: 2008/8/1 9:44
|
|||
|
Re: 請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
版主
|
要不要做 TempData 的儲存主要是看你在中斷服務函數裡有沒有用到 + - * / 等一些數學計算的功能。如果只是很單純的中斷處理並沒有修改到別人目前所使用的變數的話連存都不用存。只要是看你在中斷裡要改變哪些東西。ㄧ般用C處理是可以不用太刻意去儲存,因為 C 會自動處理ㄧ些該儲存的暫存器。
發表於: 2008/8/1 9:41
|
|||
|
Re: 請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
高級會員
|
請問在宣告的中斷程式後加上 nosave=section(".tmpdata") ,
是指將各個暫存器的值存在記憶體的某 section 中,等中斷程式 執行完再取出還原嗎? 還是將目前的暫存器的值另外儲存以供中斷程式執行時使用?
發表於: 2008/7/31 11:05
|
|||
|
Re: 請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
版主
|
有 C 的及組合語言的 context saving 需求,自行參閱:
http://www.microchip.com.tw/modules/n ... t_id=19914#forumpost19914 http://www.microchip.com.tw/modules/n ... t_id=19709#forumpost19709 http://www.microchip.com.tw/modules/n ... t_id=17996#forumpost17996
發表於: 2008/7/30 18:15
|
|||
|
Re: 請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
版主
|
先講一下用 C 或組語? 各有不同的玩法。
發表於: 2008/7/30 17:02
|
|||
|
請問執行中斷前怎麼儲存各暫存器的值?
|
||||
---|---|---|---|---|
高級會員
|
請問各位一個問題,今天我們老師跟我說,執行中斷前要先儲存
各個暫存器的值用以在執行完中斷程式後能再繼續正常的運算 執行其它的運算,所要儲存的暫存器,我們老師跟我說,如:什麼 w register,state register....等的 register 的值!! 等執行完中斷程式後再取出這些值回復原本在中斷前的狀態來 繼續運算!! 請問需要嗎? 我在W401 的課程投影片中並沒有看到這部份,請問有必要儲存 暫存器的值嗎? (在執行中斷程式之前) 如果需要的話要儲存哪些的 register 的值呢?
發表於: 2008/7/30 16:36
|
|||
|