如何将十六进制数转换为十进制数
2005-10-07 09:52
148 查看
code segment
assume cs:code
hexidec proc far
push ds
sub ax,ax
push ax
start: call hexibin
cmp al,1bh
jz exit
call crlf
call binidec
call crlf
jmp start
exit: ret
hexidec endp
hexibin proc near
mov bx,0
inhex: mov ah,1
int 21h
cmp al,1bh
jz hexend
sub al,30h
jl hexend
cmp al,10h
jl add_to
sub al,7
cmp al,10
jl hexend
cmp al,16
jl add_to
sub al,20h
cmp al,10
jl hexend
cmp al,16
jge hexend
add_to: mov cl,4
shl bx,cl
mov ah,0
add bx,ax
jmp inhex
hexend: ret
hexibin endp
binidec proc near
mov cx,10000
call dec_div
mov cx,1000
call dec_div
mov cx,100
call dec_div
mov cx,10
call dec_div
mov cx,1
call dec_div
ret
binidec endp
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
crlf proc near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
ret
crlf endp
code ends
end hexidec
assume cs:code
hexidec proc far
push ds
sub ax,ax
push ax
start: call hexibin
cmp al,1bh
jz exit
call crlf
call binidec
call crlf
jmp start
exit: ret
hexidec endp
hexibin proc near
mov bx,0
inhex: mov ah,1
int 21h
cmp al,1bh
jz hexend
sub al,30h
jl hexend
cmp al,10h
jl add_to
sub al,7
cmp al,10
jl hexend
cmp al,16
jl add_to
sub al,20h
cmp al,10
jl hexend
cmp al,16
jge hexend
add_to: mov cl,4
shl bx,cl
mov ah,0
add bx,ax
jmp inhex
hexend: ret
hexibin endp
binidec proc near
mov cx,10000
call dec_div
mov cx,1000
call dec_div
mov cx,100
call dec_div
mov cx,10
call dec_div
mov cx,1
call dec_div
ret
binidec endp
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
crlf proc near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
ret
crlf endp
code ends
end hexidec
相关文章推荐
- Java如何将十六进制数转换为十进制数的自编程序
- 十进制数转换成十六进制数~C语言
- 将十进制数转换为十六进制数
- 十进制数转换为二进制,八进制,十六进制数的算法
- VC中,如何将十六进制字符串转换为十进制数?
- 十进制数转换为八进制数/十六进制数
- 把十进制数转换成十六进制后如何分割高低字节
- 将十进制数转换为二进制数和十六进制数
- 十进制数转换为十六进制数
- 【数值转换】-十进制数转换成八、十六进制数
- 二进制数与十六进制数之间如何互相转换
- 八、十六进制数转换到十进制数
- 二进制数与十六进制数之间如何互相转换
- 十六进制数转换为十进制数
- 二进制数 八进制数 十进制数 十六进制数 之间的相互转换!!!!
- 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
- 数制转换:如何将十进制数N转换为x进制数?(用栈实现)
- 二进制数与十六进制数之间如何互相转换
- 十进制数转换成十六进制数
- 十进制数转换为十六进制数