全站数据
8 4 2 0 5 8 1

单片机里DJNZ代表什么啊

做自考的小陈老师 | 简单学习,快乐成才!         
问题更新日期:2024-10-11 02:44:53

问题描述

单片机里DJNZ代表什么啊求高手给解答
精选答案
最佳答案

cjne的意思是Compare Jump Not Equal 比较不相等转移指令。参与比较的两个数,若不相等,则转移,若相等则程序顺序执行;利用这条指令,就可以判断两数是否相等。djnz的意思是减一不为零转移指令。djnz指令是将操作数的内容减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。

cjne作用是Rn中的数与data比较,如果Rn=data,顺序执行,否则转移到指定的标号处。

由于这是一条3字节指令,程序的转移范围应以(PC)+3为起始地址的+127~-128共256字节单元地址。

其他回答

djnz是减1不为0跳转指令,一般应用方法为: djnz a; 程序执行到这一句的时候,a减1,如果减1后不为0,那么程序继续往下执行;如果减1后为0,那么程序停止执行。 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

其他回答

这是51单片机的汇编语言的一种指令,DJNZ R0,LOOP1这条指令的表示的是,如果R0寄存器中的数(小于256)减去1之后,如果不是0则跳转到标号LOOP1所在的程序行,如果减去1之后结果是0那么就继续执行DJNZ 这条指令的下一行继续执行程序。这个教材里有说明。