单片机JNB指令只能判断1和0吗?比如我在寄存器R1里面存了一个小于16的数字,然后慢慢减到0,JNB会生效吗

如题所述

jnb 用来判断位的,为 0 则跳转。
你可以用cjne 比如cjne R0,#0, lp 不等于0 就跳转。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-24
单片机JNB指令是位操作指令,只能判断1和0。
在寄存器R1里面存了一个小于16的数字,然后慢慢减到0,JNB会生效吗?
不能这样用,那是语法错误。
可用CJNE去比较R1里的数据。
第2个回答  2011-07-24
......很奇怪的问题呃....

你是不是该考虑用DJNZ 而不是 JNB捏?
具体方法如下:

F5:MOV R1, (.....)
F4:DJNZ R1,F5

JNB是判0转移.....
第3个回答  2011-07-24
JNB就是JUMP NOT BELOW。主要是用于两个数的比较。当然不是只能判断1和0。如果要跟0比较,应该是用JZ或者JNZ么~
第4个回答  2011-07-26
会,JNB指令是位寻址,而R1中数字不是位,是数据
第5个回答  2011-07-24
哦,JNB指令是位指令,而R1是字节数据,一共8位,所以你那种用法是错误的,可考虑DJNZ和CJNE中的一种来实现你说的功能。
相似回答