美文网首页
汇编实验:格雷码转二进制(ASCII码)的实现和调试

汇编实验:格雷码转二进制(ASCII码)的实现和调试

作者: 魔娃 | 来源:发表于2019-10-06 23:07 被阅读0次

    实验说明

    实验说明

    格雷码和二进制的转换

    在这里插入图片描述

    思路

    为完成实验内容,可通过查表和格雷码计算两种方式完成,此处使用格雷码直接计算得出结果。
    SHL算术左移命令可将二进制数的高位存入CF,直接得出高位数据,通过异或操作从高位到低位逐位循环8次解出二进制数,最后加上30H即为对应的ASCII码。

    汇编代码

    DATA SEGMENT
    GRA DB ?
    BIN DB ?
    DATA ENDS
    
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
            MOV AX,DATA
            MOV DS,AX
            MOV GRA,1101b
            MOV BIN,0
            MOV BL,00h          ;record bin
            MOV DL,00h          ;record last gray bit
            MOV CX,8
            MOV AL,GRA
    A1:
            SHL BL,1
            SHL AL,1
            MOV DH,0
            ADC DH,0            ;assgin DH = CF 
            XOR DL,DH
            ADD BL,DL
            LOOP A1
            ADD BL,30h
            MOV BIN,BL
            MOV AH,0
            INT 21h
    CODE ENDS
    END START
    

    流程图

    流程图

    调试检验

    通过MOV GRA,1101b指令设定格雷码的初值。

    调试过程
    通过-u命令查看所需的程序结尾断点的地址 076F:0031 CD21 INT 21
    调试过程
    通过-g 0031调试命令直接运行到程序结尾,可以看到BX=0039,对应了1101格雷码的ASCII码,调试验证成功。

    相关文章

      网友评论

          本文标题:汇编实验:格雷码转二进制(ASCII码)的实现和调试

          本文链接:https://www.haomeiwen.com/subject/bseppctx.html