A-A+
已知外RAM 1000H单元开始存有一组数据 其长度存放在该数据区首字节 要求统计出其中大于
问题详情
已知外RAM 1000H单元开始存有一组数据,其长度存放在该数据区首字节,要求统计出其中大于10、等于10和小于10的数的个数,并把统计结果分别存入内RAM 30H~32H单元。
参考答案
编程如下:
STOR:MOV DPTR,#1000H ;置数据区首址
MOVX A,@DPTR ;读数据长度
MOV R2,A ;存数据长度
SLOP:INC DPTR ;指向下一数据
MOVX A,@DPTR ;读数据
CNE A,#10,NEXT ;数据与10比较
INC 31H ;数据=10,31H+1→31H
SCOM:DJNZ R2,SLOP ;判统计结束否?未结束循环
RET ;统计结束,返回
NEXT:JNC SLP1 ;C=0,数据大于10,转
INC 32H ;C=1,数据小于10,32H+1→32H
SJMP SCOM ;转判统计结束否?
SLP1:INC 30H ;数据大于10,30H+1→30H
SJMP SCOM ;转判统计结束否?