作业帮 > 综合 > 作业

这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/16 04:17:56
这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数
DSEG SEGMENT
SAVE DB 3 DUP(?)
NUM DW 100 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:MOV AX,DSEG
MOV DS,AX
MOV CX,100
XOR BX,BX
XOR DX,DX
LEA SI,NUM
SUB SI,2
(这是错误的行数)NEx:ADD SI,2
CMP [SI],0
JNZ NZ
INC BL ;存放零的个数
JMP OK
NZ:TEST [SI],8000H
JNZ N
INC DH ;存放正数的个数
JMP OK
N:INC DL ;存放负数的个数
OK:LOOP NEx
MOV SAVE,DH ;将结果传送到内存保存
MOV SAVE+1,DL
MOV SAVE+2,BL
MOV AH,4CH
INT 21H
CSEG ENDS
END START
这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数
CMP [SI],0 这句才不对
应该把[SI]付给一个寄存器里,再比较.