八进制数转换为二进制数 -80x86汇编语言

设数据区中D1, D2, D3字节单元分别有一个八进制数,其中D1是高位,D3是低位。
试编一程序把它们转换为二进制数并存入BIN字节单元中。
悬赏分:40 - 解决时间:2009-12-22 16:18
;==========================
最佳答案:
;本题,类似于BCD码转换到二进制数;把各个八进制数逐位乘以8,再相加即可。
;下列程序将 (163)8,转换成为了(1110011)2;
;需要在DEBUG环境下调试,方能看见结果73H。
;程序如下:
;==========================
DATA SEGMENT PARA
    D1   DB 1
    D2   DB 6
    D3   DB 3
    BIN DB ?
DATA ENDS
;--------------------------
CODE SEGMENT PARA
ASSUME CS: CODE, DS: DATA
START:
   MOV AX, DATA
   MOV DS, AX
   MOV AL, [D1]   ;取高位
   MOV BL, 8
   MUL BL         ;乘以8
   ADD AL, [D2]   ;加上中位
   MUL BL         ;再乘以8
   ADD AL, [D3]   ;加上低位
   MOV [BIN], AL  ;保存
;----------
   MOV AH, 4CH    ;程序结束
   INT 21H
CODE ENDS
   END START
;==========================
回答者: 做而论道  十一级
原题网址:http://zhidao.baidu.com/question/129465679.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值