[問題] 有關8051的中斷

看板ASM (組合語言)作者 (...)時間16年前 (2009/01/13 00:02), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
Hello~ 我最近剛學51,要寫一個中斷的作業 程式主要是有一個loop 然後當int0時會執行另一段 不過因為int0時也會call delay 所以希望用bank0, bank1來分開存兩個r1, r2 不過以我下面的寫法會當掉 可是如果不分bank的話,delay時間會重算 請問程式是那邊有錯呢? 謝謝您的幫忙 ORG 00H JMP START ORG 03H JMP INT_1 ORG 30H START: MOV IE,#10000001B MOV IP,#00000001B SETB TCON.0 MOV A,#01H LOOP: MOV P0,A CALL DELAY RL A JMP LOOP INT_1: SETB PSW.3 MOV P0,#0FFH CALL DELAY CLR PSW.3 RETI DELAY: MOV R1,#10H D1: MOV R2,#10H DJNZ R2,$ DJNZ R1,D1 RET END -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.133.227 ※ 編輯: yingfufu 來自: 125.225.133.227 (01/13 00:23)

01/13 14:54, , 1F
發現問題了...沒有移SP,蓋到了 T____T
01/13 14:54, 1F
文章代碼(AID): #19Qsc9uS (ASM)
文章代碼(AID): #19Qsc9uS (ASM)