进制转换问题 请有经验的汇编高手 进来指点一二
内容:用子程序设计的方法,从键盘输入2位16进制数,并在屏幕上以10进制数显示.然后我的编程如下
data segment
dat dw ?
rec dw 2 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
push ds
mov ax,data
mov ds,ax
mov bx,0
newchar:mov ah,1
int 21h
sub al,30h
jl ini
cmp al,10
jl add_to
sub al,27h
cmp al,0ah
cmp al,0ah
jl ini
cmp al,10h
jge ini
add_to:
mov cl,4
shl bx,cl
mov ah,0
add bx,ax
mov dat,bx
jmp newchar
ini:
mov ax,dat
mov bx,10
mov si,4
change:
mov dx,0
div bx
mov [rec+si],dl
dec si
cmp ax,0
ja change
next:
inc si
mov dl,[rec+si]
add dl,30h
mov ah,02h
int 21h
cmp si,4
jb next
mov dl,20h
mov ah,02h
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
调试时不懂怎么从键盘输入,所以也不知道程序是否可行,各位大侠帮帮忙,指点一二,万分感谢!