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

[求助]我都看晕了,也没找出错误!

双面人 发布于 2007-05-06 22:17, 1182 次点击
DATA SEGMENT
X DB ?
Y DB ?
S DB ?,?
mess1 db "Input x=(0 quit)","$"
mess3 db 'Input y=','$'
mess2 db 'x+y=$'
DATA ENDS
stack segment para stack 'stack'
dw 100 dup(?)
stack ends
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ss:stack
START: MOV AX,DATA
MOV DS,AX
l1: lea dx,mess1
mov ah,9
int 21h
MOV AH,1
INT 21H
cmp al,'0'
jl exit
cmp al,'9'
ja exit
cmp al,'0'
je l2
MOV X,AL
call cr_lf
lea dx,mess3
l4: mov ah,9
int 21h
MOV AH,1
INT 21H
cmp al,'0'
jl l3
cmp al,'9'
ja l3
MOV Y,AL
MOV AL,X
AND AL,0FH
MOV BL,Y
AND BL,0FH
ADD AL,BL
cbw
mov bl,10
div bl
or al,30h
mov s,al
or ah,30h
mov [s+1],ah
call cr_lf
mov dx,offset mess2
mov ah,9
int 21h
MOV AH,2
MOV DL,s
INT 21H
mov ah,2
mov dl,[s+1]
int 21h
call cr_lf
jmp l1
exit : mov ah,61h
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
jmp l1
l3: mov ah,61h
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
jmp l4
l2: MOV AH,4CH
INT 21H

cr_lf proc
push ax
push dx
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
pop dx
pop ax
ret
cr_lf endp
CODE ENDS
END START
10 回复
#2
双面人2007-05-06 22:19
大家帮忙看看,到底是程序有问题没?难道真的是我编译器的问题?
#3
菜鸟上路2007-05-06 22:52
没错
只有本站会员才能查看附件,请 登录

#4
爱以走远2007-05-06 23:19
我给你说过没错的嘛 昏拉
#5
双面人2007-05-06 23:24
回复:(菜鸟上路)没错[upload=bmp]UploadFile/2007-...
我是想完成出错判断后换行,就是说如果输入的不是数字时,不是要从新输入吗?就是在这次从新输入时换行
#6
双面人2007-05-06 23:28
你可能没懂我说的意思
比如说要输入X= ,而我输入了:X=A ,这不是错误的吗?然后换行的下一行继续要求输入X=
是这个样子的
#7
爱以走远2007-05-06 23:29
能换拉的撒  
#8
爱以走远2007-05-06 23:30
你看看是不是你的编译器的问题
好拉 睡觉去拉
#9
summer137202007-05-07 12:45

这段程序好像是不对啊!我也没编译过去?

#10
爱以走远2007-05-07 15:54
怎么会 我把我用的编译器传上来
只有本站会员才能查看附件,请 登录

这里有三个 有说明 自己看
#11
双面人2007-05-07 23:31
谢谢啦!!!
1