在4000~400FH中查出有几个字节是零把个数放在4100H中

来源:百度知道 编辑:UC知道 时间:2024/05/21 18:01:06
在4000~400FH中查出有几个字节是零把个数放在4100H中。谢谢

MOV DPTR ,#4000H
MOV R7,#16;定义循环次数
MOV R6,#0;暂时存放0的个数的寄存器,清零
LOOP:
MOVX A,@DPTR;4000H单元放入A
INC DPTR;指向下一单元
CJNE A,#0,NEXT;跟0比较,相等跳转
DJNZ R7,LOOP;不相等,比较下一个
MOV A,R6;循环完毕,R6送到4100H
MOV DPTR,#4100H
MOVX @DPTR,A
SJMP $
NEXT:
INC R6;等于0,加1
DEC R7;
SJMP LOOP;R7计数减1,循环

建议:一些是作业的形式的不要的问别人,自己好好的想一下该是怎么的实现,然后的用语言在功能上取实现
提示:把数据和0比较,如果是0的话,就是计数器加1,把所有的数据比较完之后,把计数器之中的数据传送给[4100H]

可以自己做嘛