我是靠谱客的博主 追寻紫菜,这篇文章主要介绍= 问题 = 请问如何把16进制数转化为10进制数显示输出?谢谢! ,现在分享给大家,希望可以做个参考。

 = 问题 =
  请问如何把16进制数转化为10进制数显示输出?谢谢! 
 

--------------------------------------------------------------------------------
  16进制数在内存INPUT处,使用大写字母,结果在OUTPUT中 
最大为双字 
大致如下: 

input  db  "23AF ",0 
w1     dw 1 
w2     dw 0 
output db 20 dup(0) 

    xor ax,ax 
    mov si,offset input 
    call h_to_b 
    mov di,offset output 
    mov cx,10 
    call b_to_d 
    xor ax,ax 
    stosb 

h_to_b: 
    lodsb 
    push ax 
    or ax,ax 
    jz b03 
    call h_to_b 
    pop cx 
    cmp cl, "9 " 
    ja b01 
    sub cx, "0 " 
    jmp b02 
b01:sub cx, "A " 
b02:mov ax,w2 
    mul cx 
    mov w2,ax 
    mov ax,w1 
    mul cx 
    mov w1,ax 
    add w2,dx 
b03:ret 

b_to_d: 
    mov ax,w2 
    xor dx,dx 
    div cx 
    mov w2,dx 
    mov dx,ax 
    mov ax,w1 
    div cx 
    mov w1,ax 
    or ax,dx 
    jz w11 
    push dx 
    call b_to_d 
    pop ax 
    add ax,030h 
    stosb 
w11: 
    ret
 
 

最后

以上就是追寻紫菜最近收集整理的关于= 问题 = 请问如何把16进制数转化为10进制数显示输出?谢谢! 的全部内容,更多相关=内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(122)

评论列表共有 0 条评论

立即
投稿
返回
顶部