我不太清楚你程序实现的是什么功能!但是就这条语句 CJNE R1,#0FFH,ADTWR2 本身来讲,是不会出现死循环的。 因为当R1从3一直减到0后,再减一的话R1内容就变成了0FFH,即此时R1=0FFH,程序执行 CJNE R1,#0FFH,ADTWR2 下面的语句!
希望对你有点帮助!
CJNE R1,#0FFH,ADTWR2 语句并不是死循环,该语句是将R1和#0FFH比较,如果不等,则跳转至ADTWR2,如相等则顺序执行下面的指令。另外,在单片机中,00H-01H=0FFH,即R1的内容减到0之后,再减1就与0FFH相等了。