Re: [問題] Microchip PIC18 ASM 疑問

看板ASM (組合語言)作者 (喵食罐頭)時間9年前 (2016/06/09 06:23), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串7/7 (看更多)
寫組合語言很依賴硬體datasheet,強烈建議你先把硬體的部份全部看完 尤其是RAM的部份,第五章 MEMORY ORGANIZATION http://ww1.microchip.com/downloads/en/DeviceDoc/39775b.pdf ※ 引述《wasidada (dada)》之銘言: : ※ 引述《kikiqqp (喵食罐頭)》之銘言: : 謝謝 你的回文 : : 先假設你用的是這個 : : ;===================================================================== : : ; MPASM PIC18F67J50 processor include : : ; : : ; (c) Copyright 1999-2007 Microchip Technology, All rights reserved : : ;===================================================================== : : 縮排,排版爛的工程師肯定不會寫出好程式 : C是什麼? 其實 我不知道C是什麼 : 因為我不知道怎新增變數 就使用 A,B,C,D : 後來我try到E 程式就出錯了~ 所以你一開始就錯了,因為你根本沒有設定到變數,而是拿一個現有的功能暫存器來用 卻完全不在意這暫存器本來是做什麼的 這邊你得先搞懂 EQU 是做什麼用的 : : INC中是C EQU H'0000'呦 : : D是什麼? : : INC中是D EQU H'0005'呦 : : 這邊是一個LOOP : : 你在使用CPFSGT有沒有注意到手冊上 f和 a各代表什麼意思呢? : : 還有C是REG嗎? : 我是把C當成一般變數在做使用 = = 但是他不一定是你能用的變數,通常是其他週邊使用的 : :你知道執行Action_1後會接著執行Action_2嗎? : 是 要緊接著執行Action_2 : : CPFSGT是W和F(REG)比較,你改變了W當然結果會變動呀 : : 至於是不是你要的結果根本不知道 : : 你知道執行Action_3後會接著執行Action_4嗎? : : 你知道執行Action_4後會接著執行Action_1嗎?之後回到GOTO start : 忘記放return 感謝指導 : : 以下DELAY略過 : : 除非有特殊必要性,不然我會建議PIC18F先用C來實作想要的部份 : : 並利用編譯器來看組語 如果你是自己入門 MICROCHIP有免費和付費課程,會由基礎一步一步帶起,網路上也很多教學資源 如果你有師父帶你入門,那這些基本都沒教你就要你入火坑也太糟糕了點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.119.159 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1465453439.A.C19.html

06/10 01:47, , 1F
謝謝 我先花一點時間來K資料 再來try function
06/10 01:47, 1F

06/22 05:06, , 2F
變數的命名盡量不要與SFR名稱相同,因為寫inc檔的人會考量
06/22 05:06, 2F

06/22 05:06, , 3F
到可以讓使用者能快速上手,名稱會照spec走
06/22 05:06, 3F
文章代碼(AID): #1NMGj_mP (ASM)
討論串 (同標題文章)
文章代碼(AID): #1NMGj_mP (ASM)