汇编小问题(高手门帮忙啊)!

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:32:12
message db 'quite by q$'
DATAS ENDS

CODES SEGMENT
main proc far
ASSUME CS:CODES,DS:DATAS
START:
push ds
sub ax,ax
push ax

MOV AX,DATAS
MOV DS,AX
more:
call inhex
call hexdec
mov dx,offset message
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'q'
jnz more
ret
main endp

inhex proc near
mov bx,0
again:
mov ah,1
int 21h
cmp al,30h
jl exit
cmp al,39h
jle doit
cmp al,41h
jl exit
cmp al,46h
jg exit
sub al,37h
jmp makedata
doit:
sub al,30h
makedata:
mov ah,0
xchg bx,ax
mov cl,10h
mul cl
add bx,ax
jmp again
exit:
ret
inhex endp

he

问题出在过程hexdec中做div的时候,有时间的话我再帮你好好看下
刚看到留言:
……
hexdec proc near
mov dx,0;==============================
mov ax,bx
mov cl,0ah
mov ch,0
mov bx,0
again1:
……
只需要添加后面有========注释的那句,你的第一次除法没有给DX置0,这是有问题的,我运行了一下,可以了