结构推理 从内RAM 20H单元开始存有一组带符号数(补码),其个数已存放在1FH单元。要求统计其中大于0、等于0和小于0的数的个数,并把统计结果分别存入ONE、TWO、THREE 3个单元。
【正确答案】编程如下:
   ONE   EQU 30H
   TWO   EQU 31H
   THREE EQU 32H
   STOR:MOV  R0,#20H    ;置数据区首址
   SLOP:MOV  A,@R0      ;读数据
        JZ   LP1        ;数据=0,转
        JB   Acc.7,LP2  ;数据<0,转
        INC  ONE        ;数据>0,ONE单元加1
   LP0:INC   R0         ;指向下一数据
       DJNZ  1FH,SLOP   ;判统计结束否?未结束循环
       RET              ;统计结束,返回
   LP1:INC   TWO        ;数据=0,TWO单元加1
       SJMP  LP0        ;返回循环体
   LP2:INC   THREE      ;数据<0,THREE单元加1
       SJMP  LP0        ;返回循环体
【答案解析】