微机原理与接口技术

在外部RAM中BLOCK开始的单元中有一数据块,数据长度为LEN,试编程统计其中的正数、负数和零的个数分别存入内部RAM的Pcount、Mcoun和Zcount单元。

题目

在外部RAM中BLOCK开始的单元中有一数据块,数据长度为LEN,试编程统计其中的正数、负数和零的个数分别存入内部RAM的Pcount、Mcoun和Zcount单元。

参考答案和解析
正确答案: M.CS51
>                 1  ORG 0H
2  LEN EQU #10 ;  数据块长度
3  PCOUNT EQU #30H
4  MCOUNT EQU #31H
5  ZCOUNT EQU #32H
6  BLOCK EQU #40H
0000  7840      7  MOV R0,BLOCK ; BLOCK首地址
0002  790A      8  MOV R1,LEN
0004  E6        9 LOOP: MOV A,@R0
0005  C3        10  CLR C
0006  B40004    11  CJNE A,#0H,SULT1
0009  0532      12  INC 32H
000B  8009      13  SJMP SULT2
000D  33        14 SULT1: RLC A;     移出符号位以判断正负!
000E  4004      15  JC NEG
0010  0530      16  INC 30H
0012  8002      17  SJMP SULT2
0014  0531      18 NEG:// INC 31H
0016  08        19 SULT2: INC R0
0017  D9EB      20 DJNZ R1,LOOP