求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

變更

前往: 導覽搜尋

Djnz

增加 2,217 位元組, 1 年前
rollbackEdits.php mass rollback
{| class="wikitable" align="right"
|-
| style="background: #008080" align= center|  '''<big>Djnz</big> '''
|-
|
[[File:0df431adcbef7609c01076b721dda3cc7cd99efb.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]]
|-
| style="background: #008080" align= center|
|-
| align= light|
|}
'''DJNZ''' RN,REL 是一条件转移指令,先将工作寄存器Rn中的数减“1”,判断结果是否为“0”,不为“0”程序就跳转到行标为REL的地方执行,否则,为“0”就不转移,继续执行下一条指令。
=='''简介'''==
此指令是将操作数的内容减1,然后判断操作数的结果,若操作数为零,则顺序执行程序,不为零则程序转移。根据DJNZ指令的功能:每执行一次DJNZ RO, IDATALOOP就将R0的值减1,若R0的值不为0则就跳到IDATALOOP地址去。DJNZ指令有两种格式:DJNZ Rn,rel和DJNZ direct,rel,前者为双字节指令,其中第二个字节存储rel的相对地址,范围是-128~+127,所以转移范围很窄,所以转移的位置为指令的当前PC值加上rel;第二条指令的第三个字节也是存储rel的,和第一条指令的[[转移]]方式相同,都是PC+rel。
=='''评价'''==
在单片机中,DJNZ指令的具体功能是使操作数的内容减1,并判断操作数是否等于0,如果不等于0,则跳转至标号处,如果等于0,则顺序往下执行。利用DJNZ指令,可以进行有条件的程序转移,也可控制程序执行的次数,广泛用于进行延长时间的设计。“DJNZ”指令经常被用在[[循环]]程序中,利用将寄存器中的值减1不为零跳到相对地址的标号处,实现某一部分指令的重复执行,从而达到[[延长]]时间的目的。<ref>[https://baijiahao.baidu.com/s?id=1620068695655278088&wfr=spider&for=pc Djnz]搜狗</ref>
=='''参考文献'''==
[[Category:312 電腦科學]]
39,146
次編輯