作者drag (京都念慈庵,賈詡念費翔)
看板ASM
標題Re: [問題] Microchip PIC18 ASM 疑問
時間Tue Jun 7 17:12:32 2016
※ 引述《wasidada (dada)》之銘言:
: 最近因為工作需要開始要碰觸 PIC18系列的ASM
: 在判斷式這邊搞不懂 無論我的累加器設定多少 總是會執行Action_1和Action_2
: 請問有誰可以幫忙指點一下是哪一邊有打錯
: 謝謝
我也剛好要接觸PIC18
1. 不知道這樣會不會比較好? 我猜是主程序結束端沒有擋一下,繼續跑下去
我另外好奇你有試過>25的值嗎?例如說30,
也許只會執行Act1但後面可能會掛掉,或是一直執行無法返回
MOVLW 000h
MOVWF TRISD
MOVLW .23
CPFSGT .20
call Action_1
CPFSGT .25
call Action_2
goto Finish
Action_1
:
BCF LATD,5
return
Action_2
:
BCF LATD,6
return
Finish
END
2. 另外,PIC的世界裡,好像label不用冒號,
不確定是否為真,可能要麻煩你試一下
3. 剛才又查了一下CPFSGT,他的下兩行是關聯的,照你的原code邏輯
大概是這樣
CPFSGT .20
call Action_1 (不成立,PC從此行開始跑,等等return回來繼續下一行)
CPFSGT .25 (成立,PC跳過上一行,從這行開始)
call Action_2
Action_1
..........
或這樣
CPFSGT .20
call Action_1
CPFSGT .25
call Action_2 (不成立,PC從此行開始跑,等等回來會繼續下一行...=,=;;)
Action_1 (成立,PC跳過上一行,從這行開始...遇到return可能會挫起來~)
BCF LATD,5
return
結果
Value: 19, A1 A2都會做
23, A2 A1都會做
30, A1 做完,可能掛掉或是PC不知道跑哪去了
參考資料:
http://goo.gl/1K0zJj
--
明月幾時有?把酒問青天,不知天上宮闕,今夕是何年?
我欲乘風歸去,惟恐瓊樓玉宇,高處不勝寒;
起舞弄清影,何似在人間。
轉朱閣,低綺戶,照無眠。不應有恨,何事長向別時圓?
人有悲歡離合,月有陰晴圓缺,此事古難全。
但願人長久,千里共嬋娟。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.35.170
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1465290756.A.3EB.html
※ 編輯: drag (61.220.35.170), 06/07/2016 17:37:51
※ 編輯: drag (61.220.35.170), 06/07/2016 17:38:58
※ 編輯: drag (61.220.35.170), 06/07/2016 17:43:37