DATAS SEGMENT
;此处输入数据段代码
x dw 0
mess1 db 0dh,0ah,'Input DecNumber = $'
mess2 db 0dh,0ah,'output HexNumber= $'
hex db '0123456789ABCDEF'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
let0:
mov x,0
mov dx,offset mess1;显示输入提示信息
mov ah,9
int 21h
call let1
call let2
jmp let0
let1:
mov ah,1
int 21h ; 输入->al
cmp al,27;是ESC?
jz out1
sub al,30h
jl exit;是其它字
cmp al,9
jg exit
mov ah,0
xchg ax,x;交换x,ax的值,形成十进制数
mov cx,10
mul cx
add x,ax;相加并保存
jmp let1
exit:
ret
let2:
mov dx,offset mess2;显示输出信息
mov ah,9
int 21h
mov bx,x
mov ch,4;控制循环次数,显示4位字符
mov cl,4
rept1:
rol bx,cl
mov ax,bx
and ax,000fh
mov si,ax
mov dl,hex[si];查表显示十六进制数字符
mov ah,2
int 21h
dec ch
jnz rept1
ret
out1:
MOV AH,4CH
INT 21H
CODES ENDS
END START
汇编--十进制转化为十六进制
原文作者:yxbkl
原文地址: https://blog.csdn.net/qq_41844449/article/details/107524408
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_41844449/article/details/107524408
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。