執(zhí)行完了DJNZ R6,D2之后(也就是R6的值等于0之后),就會去執(zhí)行下面一行,也就是DJNZ R7,D1,請大家自行分析一下這句話執(zhí)行的結(jié)果。(轉(zhuǎn)去執(zhí)行MOV R6,#250,同時R7中的值減1),最終DJNZ R6,D2這句話將被執(zhí)行250*250=62500次,執(zhí)行這么多次同一條指令干嗎?就是為了延時。
我覺得:當(dāng)R6的值為1之后,就會執(zhí)行下一行了,并且DJNZ R6,D2只執(zhí)行了249次。
請大家?guī)兔獯鹨幌拢美Щ蟀?/div>
[此貼子已經(jīng)被admin于2008-8-9 0:34:40編輯過]
作者: cdcbz321
時間: 2011-10-1 05:06
日子不見面,不見面多一天。
作者: 新手小蘇
時間: 2018-6-10 16:07
Djnz是減一非零轉(zhuǎn),當(dāng)?shù)谝徊僮鲾?shù)(即本指令中的R6)為1時,指令還要減一然后在判斷,即此時還要在執(zhí)行一次。才會往下執(zhí)行。比如當(dāng)R6中的數(shù)字為#3時,則3-1=2(一次),2-1=1(一次),1-1=0(一次)此時跳出循環(huán),所以當(dāng)數(shù)字為3時執(zhí)行三次,當(dāng)數(shù)字為250時則執(zhí)行250次。我的理解,不知對錯,希望可以交流!
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |