题目

编程以十六进制形式显示BX的值(假设为无符号数)。
如(BX)=20,那么显示0014H。

程序

CODE    SEGMENT                 
   ASSUME CS:CODE
START: 
        MOV  BX,20  ;BX中存放的是要显示的数
        MOV  CH,4
NEXT:   
    MOV   CL,4
    ROL  BX,CL     ;将最高4位二进制值移至低4位
    MOV  DL,BL
    AND  DL,0FH ;仅保留本次要显示的数值
    OR   DL,30H   ;得到要显示的字符的ASCII值
    CMP  DL,39H   ;是小于‘9’
    JBE  DISPHEX    
    ADD  DL,7   ;得到A~F所对应的字符ASCII值
DISPHEX:
    MOV  AH,2
    INT  21H        ;利用DOS功能调用,显示字符
    DEC  CH
  JNZ  NEXT ;显示下一位十六进制数字
    MOV  DL,'H' ;显示字符'H'
    MOV  AH,2
    INT  21H
    MOV  AH,4CH
    INT  21H
CODE    ENDS
    END     START
0
Posted in 汇编语言

Leave a Comment:

电子邮件地址不会被公开。