看板 ASM 關於我們 聯絡資訊
我的程式編譯的時候都沒有錯誤 但是開始跑DEBUG讓他一段一段跑的時候 跑到DELAY的時候就跑出 error 65 好像是說在C:0xC864發生存取衝突之類的 WHILE: MOV ARG, #100 PUSH ARG MOV ARG, #200 PUSH ARG CALL delay CALL TEST_DISCONT JMP WHILE 下面是DELAY的部份 delay: POP ARG2 POP ARG1 MOV ARG, ARG1 MOV TH1, #(256-17) MOV TL1, #(256-17) SETB TR1 while_i1: while_i0: while_TF1: JNB TF1, while_TF1 CLR TF1 DJNZ ARG1, while_i0 MOV ARG1, ARG DJNZ ARG2, while_i1 CLR TR1 RET 剛開始學一陣子而已 一直想不出會發生錯誤的原因 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.71.232.251
eentut:為什麼用計時中斷作delay迴圈? 05/13 20:53
eentut:而且你先push 然後call 接著pop ARG2和ARG1不會=200和100 05/13 21:03
eentut:call是會存PC值進堆疊的 請先翻書... 05/13 21:04