汇编 十六进制转十进制

来源:百度知道 编辑:UC知道 时间:2024/05/19 01:43:01
编写子程序NF10T16,从键盘接受一个四位无符号十进制数,在显示器上以十六进制开式显示其值。求程序。

可以手动修改各种进制输入输出的程序
DATAS SEGMENT
string1 db 'please input X:',0dh,0ah,'$'
string2 db 0dh,0ah,'$'

;此处输入数据段代码
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX

mov dx,offset string1
mov ah,9
int 21h

mov cl,10;此处改10OQ为8进制,10B为2进制
mov bx,0
newchar:
mov ah,1
int 21h
sub al,30h
jb disp
cbw
xchg ax,bx
mov ch,0
mul cx
xchg ax,bx
add bx,ax
jnc newchar

disp:

mov dx,offset string2
mov ah,9
int 21h
mov cx,10000;此处改1000H为16进制,10000O为8进制,1000000000000000B为2进制

again:
mov dx,0
mov ax,bx
div cx
mov bx,dx
mov dl,al
ad