单片机汇编语言编程100个无符号数,放在外部RAM1000开始的区域,编程统计其中的正数

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:15:02
帮帮忙,救急,在快,谢谢了

;题目,让人看不懂。
;既然是“无符号数”,怎么还要统计“正数”?
;统计结果,放到何处,也不明不白的。

MOV DPTR, #1000
MOV R2, #0
MOV R3, #0
MOV R4, #100
LOOP:
MOVX A, @DPTR
INC DPTR
JB ACC.7, FU ;符号为1转移,即负数转移
MOV A, R2
ADD A, #1
MOV R2, A
MOV A, R3
ADDC A, #0
MOV R3, A
FU:
DJNZ R4, LOOP
RET
;正数的个数在R3R2中。
;完

可以用R1作为地址计数器,初值=99;R2作为正数计数器,初值=0。然后设置高位地址为1000H,就可以直接使用R1既作地址计数器,又作为低8位地址,按照分页方式快速完成计算要求。