|
DJNZ指令的執行過程是這樣的,它將其后面的第一個參數中的值減1,然后看一下,這個值是否等于0,如果等于0,就往下執行,如果不等于0,就轉到第二個參數所指定的地方去。
那么51網老師講的是
執行完了DJNZ R6,D2之后(也就是R6的值等于0之后),就會去執行下面一行,也就是DJNZ R7,D1,請大家自行分析一下這句話執行的結果。(轉去執行MOV R6,#250,同時R7中的值減1),最終DJNZ R6,D2這句話將被執行250*250=62500次,執行這么多次同一條指令干嗎?就是為了延時。
我覺得:當R6的值為1之后,就會執行下一行了,并且DJNZ R6,D2只執行了249次。
請大家幫忙解答一下,好困惑啊
[此貼子已經被admin于2008-8-9 0:34:40編輯過]
|