admin 管理员组

文章数量: 1087139


2024年1月4日发(作者:域名备案html网页模板)

bcd码转ascii码代码

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

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

程序清单:

DATASEGMENT

BCDDB98H

ASCDB?,?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVCL,4

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

1

MOVBL,AL

SHRAL,CL;右移4位,高4位移到低4位

ADDAL,30H;得到高位的ASCII码

MOVASC,AL

ANDBL,0FH;狷介4位

ADDBL,30H;得到低位的ASCII码

MOVASC+1,BL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

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

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

MOVAL,BCD

MOVBL,16

XORAH,AH;拓宽到16位

DIVBL;商在AL,余数在AH

ADDAL,30H;高位的ASCII码

2

MOVASC,AL

ADDAH,30H;低位的ASCII码

MOVASC+1,AH

3


本文标签: 地址 程序 能够 对应 完毕