汇编语言中CJNE语句是怎么判断的?

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:56:06
单片机语言中全是无符号数,那么用CJNZ语句判断时,是不是无法确定大于零还是小于零?
北航《单片机原理》一书中有一道题,统计正数、负数、零的个数,其中用到CJNE语句:
CJNE A,#0,l1 ;A不等于零跳转,且A大于零等于零或C置零,A小于零C置一。
但我觉得A 里存放的是无符号数,所以总是大于零的,所以这句的结果CJNZ C总是置一的。不知对不对??
前面写错了,CJNZ C总是置零的。
非常感谢二位的指点。我还有一个疑问:(A)- 0 结果有没有可能是负数?从而使C置一。假如单片机里用的是无符号数,那有没有小于零的A?

CJNE A,#0,l1 ;
该指令执行的操作是,首先用(A)- 0 结果不保存但影响进位C,只判断结果是否为零以确定转移与否。
另外:“单片机语言中全是无符号数”的说法是不对的,有很多数就是有符号的,视具体情况而定。

不管大小只看等于不等于零