注册 登录
编程论坛 汇编论坛

大家看看这个汇编程序哪儿错了?

仁者无敌 发布于 2006-05-10 11:05, 638 次点击
设数据区的第一单元存放单元数的个数,从第二单元开始存放数据,在区内最后单元存放结果.先是求负数的个数,然后求零的个数,最后求正数的个数.
CODE SEGMENT
ASSUME CS:CODE
START: MOV DI,3000H
MOV CL,[DI]
XOR CH,CH
MOV BL,CH
MOV BH,CH
INC DI
A1: MOV AL,[DI]
TEST AL,80H
JE A2
INC BL
A2: TEST AL,OFFH
JNE A3
INC BH
A3: INC DI
LOOP A1
MOV [DI],BL
INC DI
MOV [DI],BH
MOV AL,CL
SUB AL,BL
SUB AL,BH
INC DI
MOV [DI],AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
1 回复
#2
公子吕2006-05-10 12:18

1:没有数据段,[di]无法寻址;
2:直接给di赋地址3000h;
3:mov cl,[di],后面用到loop的时候也没有意义.
4:判断大于0,小于0,等于0的程序有错。

1