80x86 汇编语言编程:BCD 码转二进制

本文介绍了一个使用86x86汇编语言编写的程序,该程序能够将五位BCD码转换为二进制数,并将结果存储在DI寄存器中。程序适用于不超过65535的BCD码。

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


前几天,用 51 汇编语言,写了一个把 BCD 码转换成二进制数的程序。


下面则是一个用 86x86 汇编语言写的。


题目:汇编语言 BCD 码转二进制


将一个 BCD 码转换成二进制数。


条件:


五位 BCD 码由高到低放在:

 BH 00

 BL 万位

 DH 千位百位

 DL 十位个位


要求:转换结果放在DI寄存器中。


转换结果放在DI寄存器中。谢谢各位大神!


题目链接:http://zhidao.baidu.com/question/1795940692907266707.html


2013-11-15 08:53   提问者采纳


条件,还应该有一句:BCD 码总数,不超过 65535 吧?


转换程序如下:


    MOV   CX, DX

    MOV   AX, 10000

    MUL   BX

    MOV   DI, AX

    

    MOV   AL, CL    ;十位个位

    MOV   AH, 0

    MOV   BL, 16

    DIV   BL

    MOV   DL, AH    ;个位

    MOV   BL, 10

    MUL   BL

    ADD   AL, DL

    MOV   AH, 0

    ADD   DI, AX

    

    MOV   AL, CH    ;千位百位

    MOV   AH, 0

    MOV   BL, 16

    DIV   BL

    MOV   DL, AH    ;百位

    MOV   BL, 10

    MUL   BL

    ADD   AL, DL

    

    MOV   BL, 100

    MUL   BL

    ADD   DI, AX

    RET


提问者评价:十分感谢


后记:


80x86 是 16 位机,编程就能比 51 的简单一些,所以本程序,就比较容易理解。


看懂了这个,再看 51 的,虽然复杂了一些,也就应该能看懂了。


http://hi.baidu.com/do_sermon/item/1323522cf6b1c8162b0f1cc2


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值