Re: MPLAB C18 to Assembly 有個小問題請教
|
||||
---|---|---|---|---|
高級會員
|
一般W及STATUS是使用中斷時才存就可以了 , 因為你不曉得中斷會不會從正在處理有關W或運算時的C或Z的區間產生 , 所以要存這些東西 ,而你呼叫副程式時不會故意挑在這些時侯來執行CALL或GOTO吧 ! 有的話也是特意這麼做的 ,
EXTERN是讓COMPIER知道這個變數是在其它檔案宣告的 , 不然你程式中沒有宣告這個變數 , COMPILER怎麼看得懂 , 而GLOBAL則是告訴COMPILER這個變數是在這裡宣告的 , 當有其它程式在找這個變數時才找得到 , 所以這兩個指令是相對的 , 相關細節在C18的USER'S GUIDE中找得到 , 變數的宣告要從那裡開始都可以 , 不要重複就好了 ,
發表於: 2005/6/13 17:05
|
|||
|
MPLAB C18 to Assembly 有個小問題請教
|
||||
---|---|---|---|---|
中級會員
|
-------以下是 Assembly---------------
list p=18f458 #include <p18f458.inc> global ADDNum global Var1,Var2,Var3 udata_acs 0x00 Var1 res 1 Var2 res 1 Var3 res 1 code ADDNum: movf Var1,w,0 addwf Var2,w,0 movwf Var3,0 return end 1.請問進入 Assembly 是否要備份 W,與status 等暫存器? 2.變數宣告 extern Var1與 global Var1有何差異? 3.udata_acs 不宣告從0x00 開始是否可以?
發表於: 2005/6/13 16:19
|
|||
|