C51單片機彙編程序問題解決:

C51彙編程序出錯解決

最近開始學習了一點彙編語言,剛好應課程要求,就來編一些簡單的C51程序,結果在定時器中斷跳轉的時候出錯了,錯誤截圖如下:

demo.asm(8): error A51: TARGET OUT OF RANGE

源程序代碼塊是報錯在CJNE指令這裏

ORG   000BH
        INC    R1
        CJNE   R1,#4000,MAINLOOP
        CPL    P0.0
        MOV    R1,  #0
        RETI

錯誤原因:通俗講是因爲MAINLOOP代碼塊距離這個中斷代碼塊的地址太遠,所以超出範圍,無法跳轉過去,所以要解決就必須中間設置一個類似中轉站的地方。

錯誤解決之後的代碼如下:

ORG   000BH
        INC    R1
        CJNE   R1,#4000,0048H
        CPL    P0.0
        MOV    R1,  #0
        RETI
ORG   0048H
        JMP MAINLOOP
發佈了32 篇原創文章 · 獲贊 52 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章