用汇编实现格雷码与二进制数的转换

      格雷码,又称反射二进制码、循环二进制码。将二进制码转换成格雷码,是编码,反过来,是解码。下面阐述的是解码。先来说一下它的解码过程。

      假设内存中有20个八位无符号格雷码,转换方法是:二进制码的最高位D7与格雷码的最高位G7相同,二进制码的其余位Dk(k=6,...,0)是二进制码的Dk+1(k=6,...,0)与格雷码Gk(k=6,...,0)异或的结果。

 

                                                             G7 =  D7

                                              G6   XOR  D7 = D6

                                              G5   XOR  D6 = D5

                                                      .....

                                              G0   XOR  D1 = D0

 

也就是说要得到D6,必先得到D7;要得到D5,必先得到D6...。

      现在我们可以描述程序的轮廓了。用AX寄存器低八位AL存放要转换的格雷码,BX寄存器低八位BL存放转换后的二进制码。AH、BH的最低位分别存放异或用的二进制位Dk和格雷码位Gk。

      用汇编语言实现的转换过程如下:

                  MOV     DI,OFFS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值