怎样用汇编语言编程将30H单元的两位BCD码拆成相应的ASCII,存入31H,32H单元中?

 我来答
zirwy
推荐于2018-07-23 · TA获得超过493个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:136万
展开全部
MOV A, 30H ; 取数据,如56H
ANL A, #0FH ; 获得低位06H
ORL A, #30H ; 高位变3,成36H,即ASCII码
MOV 31H, A ; 存入指定单元

MOV A, 30H ; 取数据,如56H
SWAP A ; 高低字节交换,变65H
ANL A, #0FH ; 获得低位05H
ORL A, #30H ; 高位变3,成35H,即ASCII码
MOV 32H, A ; 存入指定单元
呀豆荚
2011-03-15 · TA获得超过3081个赞
知道小有建树答主
回答量:752
采纳率:100%
帮助的人:1347万
展开全部
mov al,[30h]
mov [31h],al ;取数并放在31h单元
mov cl,4
shr byte ptr[31h],cl ;将31h单元的字节数据右移四位。把高位bcd码移到低位上,高四位为0
or byte ptr[31h],30h ;和30h相与,将bcd码转换成ascii码

mov [32h],al ;将原数存放在32h单元
and byte ptr[32h],0fh ;高四位清零,保留第四位
or byte ptr[32h],30h ;和30h相与,将bcd码转换成ascii码

这样运行之后,31h存放的是高位bcd码对应十进制数的ascii码,32h存放的是低位ascii码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AJISky
2011-03-16 · TA获得超过1122个赞
知道小有建树答主
回答量:457
采纳率:100%
帮助的人:278万
展开全部
mov ax,30h
mov bx,ax
and bx,0ff00h
and ax,00ffh
mov si,31h
add bh,30h
mov [si],bh
inc si
add al,30h
mov [si],al
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式