;正数、0、负数的个数分别存放在R5、R6、R7中
;指令JZ或者JNZ是判断0的指令,正负可以通过判断ACC.7这一位,为1是负数。
ORG 0000H
START:
MOV R0,#30H;起始地址30H
MOV R4,#32;32个数据
CLR A
MOV R5,A
MOV R6,A
MOV R7,A
LOOP:
MOV A,@R0
JNZ LOOP1;非0则跳转
INC R6 ;0的个数累计
SJMP LOOP_NEXT
LOOP1:
JB ACC.7,LOOP2 ;最高位为1(说明是负数)则跳转
INC R5;正数个数累计
SJMP LOOP_NEXT
LOOP2:
INC R6;负数个数累计
LOOP_NEXT:
INC R0
DJNZ R7,LOOP
SJMP $
END
温馨提示:答案为网友推荐,仅供参考