这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数DSEG SEGMENTSAVE DB 3 DUP(?)NUM DW 100 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV CX,100XOR
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 14:01:41
![这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数DSEG SEGMENTSAVE DB 3 DUP(?)NUM DW 100 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV CX,100XOR](/uploads/image/z/5255981-53-1.jpg?t=%E8%BF%99%E6%AE%B5%E6%B1%87%E7%BC%96%E7%A8%8B%E5%BA%8F%E6%9C%89%E8%BF%99%E4%B8%AA%E9%94%99%E8%AF%AFOperand+must+have+size%2C%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E6%94%B9%E5%95%8A%3F%E7%A8%8B%E5%BA%8F%E5%8A%9F%E8%83%BD%E6%98%AF%E7%AE%97%E5%87%BA%E6%AD%A3%E6%95%B0%E8%B4%9F%E6%95%B0%E5%92%8C%E9%9B%B6%E7%9A%84%E4%B8%AA%E6%95%B0DSEG+SEGMENTSAVE+DB+3+DUP%28%3F%29NUM+DW+100+DUP%28%3F%29DSEG+ENDSCSEG+SEGMENTASSUME+CS%3ACSEG%2CDS%3ADSEGSTART%3AMOV+AX%2CDSEGMOV+DS%2CAXMOV+CX%2C100XOR)
这段汇编程序有这个错误Operand must have size,应该怎么改啊?程序功能是算出正数负数和零的个数DSEG SEGMENTSAVE DB 3 DUP(?)NUM DW 100 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV CX,100XOR
这段汇编程序有这个错误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,应该怎么改啊?程序功能是算出正数负数和零的个数DSEG SEGMENTSAVE DB 3 DUP(?)NUM DW 100 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV CX,100XOR
CMP [SI],0 这句才不对
应该把[SI]付给一个寄存器里,再比较.