bcd转ascii码 流程图_bcd码转ascii码代码

编制一个无缺的程序,将一字节紧缩BCD码改换为两个ASCII码,并将作用寄存在ASC和ASC+1单元,按高位存低地址、低位存高地址的格局寄存。

一字节紧缩BCD码是两位0~9的数字,4位二进制数对应一位BCD码。所以要害是要将两个4位二进制数分脱离来。“别离”能够用移位指令和逻辑运算指令来完毕,然后用加30H的加法,便能够得到相应的ASCII码。

程序清单:

DATA SEGMENT

BCD DB 98H

ASC DB ?,?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CL,4

MOV AL,BCD ;将BCD码寄存到AL和BL

MOV BL,AL

SHR AL,CL ;右移4位,高4位移到低4位

ADD AL,30H ;得到高位的ASCII码

MOV ASC,AL

AND BL,0FH ;狷介4位

ADD BL,30H ;得到低位的ASCII码

MOV ASC+1,BL

MOV AH,4CH

INT 21H

CODE ENDS

END START

此程序经汇编后对应的列表文件

右移4位恰当于除以16,所以也可用除法指令完毕。程序段为:

MOV AL,BCD

MOV BL,16

XOR AH,AH ;拓宽到16位

DIV BL ;商在AL,余数在AH

ADD AL,30H ;高位的ASCII码

MOV ASC,AL

ADD AH,30H ;低位的ASCII码

MOV ASC+1,AH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值