[問題] 8051問題??

看板ASM (組合語言)作者 (嚕嚕替雅)時間16年前 (2008/05/26 19:04), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
ORG 0H L3: MOV R5,#3 DJNZ R5,L2 L1: SJMP L1 L2: SJMP L3 END 寫了一個很簡單的程式 但是現在有一個問題 我R5一開始給3 執行完第二行R5-1 變成2 這時候他不是應該執行第三行(L1這邊) 然後就L1一直跑 所以R5會一直停在2 問題來了 為什麼不會執行第三行(L1那行) 而會跳到L2標籤然後SJMP到L3 所以又從頭R5又變成3 就是不會再L1標籤那一直跑 DJNZ不是當R5變成0他才會跳到L2 可是現在R5應該是2 為什麼會跳到L2 組譯沒有錯 哪位大大可以跟我說一下為什麼嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.171.45

05/26 19:43, , 1F
DJNZ是-1之後判斷是否為零,是的話就往下執行
05/26 19:43, 1F

05/26 19:45, , 2F
否的話就跳到標籤,因此DJNZ R5,L2,如果R5不為零
05/26 19:45, 2F

05/26 19:45, , 3F
跳到L2是對的
05/26 19:45, 3F

05/26 20:15, , 4F
OK了= = 感謝 剛學不久把DJNZ記錯了
05/26 20:15, 4F
文章代碼(AID): #18EfakQ4 (ASM)
文章代碼(AID): #18EfakQ4 (ASM)