大学汇编语言程序设计题 用汇编语言编写把ASCII转化为十六进制的程序

我知道是30H 37H的关系,但是不知道怎么写,求解感谢感谢

这里要分清楚,你ascii码 是10进制的数字序列 还是 16进制的数字序列?
如果是16进制的数字序列,只需要每一位减30h或37h得到对应的16进制数位,再通过左移4位 与转换下一位相或即可。如此循环。
如果是10进制的数字序列,则需要每一位减30h得到对应的10进制数位,通过乘10再相加转换的下一位即可。如此循环。追问

哦哦哦忘写了不好意思,是10进制的数字序列

追答        CODE  SEGMENT
              ASSUME    CS:CODE

        STR1  DB        '255'       ; 不超过65535
           N  EQU       $-STR1
           X  DW        0

      START:  PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES

              LEA       SI,STR1
              MOV       CX,N
              MOV       DI,0
              CLD
         @1:
              SHL       DI,1
              MOV       BP,DI
              SHL       DI,1
              SHL       DI,1
              ADD       DI,BP
              LODSB
              AND       AL,0FH
              XOR       AH,AH
              ADD       DI,AX
              LOOP      @1
              MOV       X,DI

              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START

温馨提示:答案为网友推荐,仅供参考
相似回答