输入两个一位十六进制,输出其乘积(8086汇编程序)

本文介绍了一个十六进制数输入、运算,并转换为ASCII码输出的过程,包括对字母A-F的特殊处理,以及如何将运算结果从十进制转换回十六进制表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASSUME CS:CODES
CODES SEGMENT
START:
mov ah,01h ;输入第一个数
int 21h
mov bl,al

mov ah,01h ;输入第二个数
int 21h

cmp bl,’9’ ;判断是1-9还是A-F
ja ne1
sub bl,’0’

s: cmp al,’9’
ja ne2
sub al,’0’
jmp mu

ne1:sub bl,’A’ ;对A-F处理
add bl,10
jmp s

ne2:sub al,’A’ ;对A-F处理
add al,10

mu: mul bl
mov bl,al ;结果放在al中
and al,0Fh
mov cl,4
shr bl,cl ;把al中的八个二进制位分开

cmp bl,9 ;转换成ASII码输出(1-9和A-F)
ja n1
add bl,’0’
jmp n2
n1: add bl,37h
n2: cmp al,9
ja n3
add al,’0’
jmp n4
n3: add al,37h

n4: mov cl,al

mov dl,bl ;输出高位
mov ah,2
int 21h

mov dl,cl ;输出低位
mov ah,2
int 21h

mov ax,4c00h
int 21h
CODES ENDS
END START

运行结果如图所示,mov ah,01h int 21h 输入并回显,把值放在al中 mov ah,02h int 21h 输出,预先把值放在dl中,值为asii码,要转换并进行运算
2*3=06 2*A=14(均为十六进制表示)运行结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值