|
- ZEROCOUNT EQU R1 ;0记数器
- POSCOUNT EQU R2 ;正数记数器
- NEGCOUNT EQU R3 ;负数记数器
- ORG 0000H ;从0000开始
- LJMP 002BH ;跳过中断向量表
- ORG 002BH ;主程序
- MOV DPTR,#2000H ;初始化数据指针
- CLR A ;A清零
- MOV ZEROCOUNT,A
- MOV POSCOUNT,A
- MOV NEGCOUNT,A
- MOV R0,#100 ;循环初值
- START: MOVX A,@DPTR ;取数
- INC DPTR ;移动数据指针
- JNZ DWNZERO ;处理非零
- INC ZEROCOUNT ;记0的个数
- AJMP FINISH ;完成一次判断
- DWNZERO:ANL A,#80H ;判断符号位
- JZ POS ;为0则为正,跳转
- INC NEGCOUNT ;不为0,为负数计个数
- AJMP FINISH
- POS: INC POSCOUNT ;计正数个数
- FINISH: DJNZ R0,START
- END
复制代码
简单地调试了一下下,好像可以
要不您再试试,呵呵
有不对的地方欢迎指正,谢谢 |
|