编写一个程序,从键盘输入一个 0~65535 之间的 10 进制无符号数,然后以 16 进制形式显示出所 输入的数。

本文介绍了一个简单的10进制数转换为16进制数的程序示例,使用了Intel汇编语言进行实现。程序首先通过DOS中断读取键盘输入的十进制数,并将其存储在寄存器中;然后,通过循环操作将十进制数值转换为对应的十六进制字符并输出。
DATAS SEGMENT
    
DATAS ENDS

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

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    mov bx,0
    newChar:		;10进制输入	
    	mov ah,1
    	int 21h
    	sub al,30h
    	jl next
    	cmp al,9
    	jg next
    	cbw
    	xchg bx,ax
    	mov cx,10
    	mul cx
    	xchg bx,ax
    	add bx,ax
    	jmp newChar
    next:		;16进制输出
    	mov ch,4
    rotate:
    	mov cl,4
    	rol bx,cl
    	mov ax,bx
    	and ax,0fh
    	cmp ax,0ah
    	jl here
    	add al,7
    here:
    	add al,30h
    	mov dl,al
    	mov ah,2
    	int 21h
    	dec ch
    	jnz rotate
    	
    	mov dl,'H'
    	mov ah,2
    	int 21h
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值