十进制到十六进制转换程序

源代码:

dectohex segment
 assume cs:dectohex

 main proc far
repeat:
 call dectobin
 call crlf
 call bintohex
 call crlf
 jmp repeat
 main endp

 dectobin proc near
 mov bx,0
newchar:
 mov ah,1
 int 21h
 sub al,30h
 jl exit
 cmp al,9d
 jg exit
 cbw

 xchg ax,bx
 mov cx,10d
 mul cx
 xchg ax,bx

 add bx,ax
 jmp newchar
exit:
 ret
 dectobin endp

 bintohex proc near
 mov ch,4
roate: mov cl,4
 rol bx,cl
 mov al,bl
 and al,0fh
 add al,30h
 cmp al,3ah
 jl printit:
 add al,7h

printit:
 mov dl,al
 mov ah,2
 int 21h
 dec ch
 jnz rotate
 ret
 bintohex endp

 crlf proc near
 mov dl,0dh
 mov ah,2
 int 21h

 mov dl,0ah
 mov ah,2
 int 21h
 ret
 crlf endp
dectohex endp
end main

你可能感兴趣的:(进制转换)