您的位置:首页 > 其它

数字 0 - 9 转换成对应的格雷码

2016-01-25 11:52 741 查看
数字 0 - 9 对应的格雷码为:18H, 31H, 05H, 06H, 09H, 0AH, 0CH, 11H, 12H, 14H。
要求用汇编语言编程序,将 0 - 9 数字转换成格雷码。
提问者:亻夕 | 悬赏分:25 | 2011-10-25 16:14
;程序编写如下:
;==============================================
DATA  SEGMENT          ;数据段
 GR   DB  18H, 31H, 05H, 06H, 09H
      DB  0AH, 0CH, 11H, 12H, 14H
 ASC  DB  '0123456789ABCDEF'
MSG1  DB  13, 10, 'Please input a num (0~9) : $' 
MSG2  DB  13, 10, 'The  GR code is : $' 
MSG3  DB  13, 10, 'Oh ! my  god ! $' 
DATA  ENDS
;----------------------------------------------
CODE   SEGMENT         ;代码段
    ASSUME  CS:CODE, DS:DATA 
START: 
    MOV  AX, DATA 
    MOV  DS, AX 
;------------------------------
    MOV  DX, OFFSET  MSG1
    MOV  AH, 9        ;9号功能调用,显示提示.
    INT  21H          ;显示
    MOV  AH, 1        ;1号功能调用,键入、显示.
    INT  21H          ;
    CMP  AL, '0'
    JB   ERR
    CMP  AL, '9'
    JBE  L1           ;小于等于9转移
ERR:
    MOV  DX, OFFSET  MSG3
    MOV  AH, 9        ;9号功能调用,显示提示.
    INT  21H          ;显示
    JMP  EXIT
;------------------------------
L1:
    PUSH AX
    MOV  DX, OFFSET  MSG2
    MOV  AH, 9        ;9号功能调用,显示提示.
    INT  21H          ;显示
    POP  AX
 
    AND  AL, 0FH
    MOV  AH, 0
    MOV  BX, OFFSET GR
    ADD  BX, AX
    MOV  AL, [BX]    ;查出格雷码
;------------------------------
    MOV  AH, 0
    MOV  BL, 16      ;
    DIV  BL          ;分离出高低四位
    PUSH AX
    MOV  AH, 0
    MOV  BX, OFFSET ASC
    ADD  BX, AX
    MOV  DL, [BX]    ;变换成ASCII码
    MOV  AH, 2       ;显示高四位
    INT  21H
;------------------------------
    POP  AX
    MOV  AL, AH
    MOV  AH, 0
    MOV  BX, OFFSET ASC
    ADD  BX, AX
    MOV  DL, [BX]    ;变换成ASCII码
    MOV  AH, 2       ;显示低四位
    INT  21H
;------------------------------
    MOV  DL, 'H'
    MOV  AH, 2       ;显示'H'
    INT  21H
;------------------------------
EXIT:   
    MOV  AH, 4CH
    INT  21H
;----------------------------------------------
CODE  ENDS
    END  START
;==============================================
后记:
简单的实验一下本程序,即可知能够满足题目要求。
但是提问者,却选择了一个完全不对路的答案,呵呵,大家可以到原题网址去鉴赏一下,“最佳”是什么 !
;----------------------------------------------
原题网址:http://zhidao.baidu.com/question/333986396.html
;----------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: