我找不到错误。我是汇编语言的新手。我使用“MASM”到“DOSBOX”并已经制作了七个成功的程序,我只需要后者但是找不到我的错误。
MODEL TINY
.LISTALL
.386
.CODE
.STARTUP
MOV EAX, 123455H
CALL DISPE
.EXIT
DISPE PROC NEAR
MOV EBX, 10
PUSH BX
MOV CL, 0
.WHILE 1
MOV EDX, 0
DIV EBX
ADD DL, 30H
PUSH DX
.BREAK .IF EAX==0
INC CL
.IF CL==3
MOV CL, 0
.ENDIF
.ENDW
.WHILE 1
POP DX
.BREAK
MOV AH, 2
INT 21H
.ENDW
RET
DISPE ENDP
END
答案 0 :(得分:1)
好吧,如果你缩进你的代码,你会马上发现问题!用" good"来看看你的过程。压痕...
DISPE PROC NEAR
MOV EBX, 10
PUSH BX
MOV CL, 0
.WHILE 1
MOV EDX, 0
DIV EBX
ADD DL, 30H
PUSH DX
.BREAK
.IF EAX==0
INC CL
.IF CL==3
MOV CL, 0
.ENDIF
.ENDW
.WHILE 1
POP DX
.BREAK
MOV AH, 2
INT 21H
.ENDW
RET
DISPE ENDP
发现缺少什么?您有2 .if
个但只有一个.endif
。可能是您的拼写错误,也许第二个.if
应该是.elseif
或.else
?