大学汇编语言程序设计题 用汇编语言编写把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

温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言,把ASC码转换为十六进制数,能帮我解释一下这个两句指令的含义...
查 ASCII 码表,即可知道这个规律。反过来变,就是减去 30 或 37H。楼主的程序,是针对 'A'~'F',先减去7,再 和 '0'~'9' 一起,统一减去 30H。

汇编语言问题,输入4位ASCLL码转换成4位16进制数,并在屏幕上显示出来...
从键盘输入到主机的,就是 1A2F 的 ASCII 码。即:31H、41H、32H、46H。然后,不需要做任何转换,你就可以显示 31 41 32 46 了。显示 16 进制数,你应该会的。

汇编ASCII 转换
用键盘输入字符(包括数字),显示其 ASCII 码。程序,以及运行截图如下:

用汇编语言编写:从键盘输入4 位十六进制数的ASCII 码,并将其转换成4...
;功能: 用汇编语言编写:从键盘输入4 位十六进制数的ASCII 码,并将其转换成4 位十六进制数存入DX 寄存器中 ;如果不是十六进制数不传。并且提示sorry!.成功则不提示 ,并且成功后转换成16进制数存入dx中 DSEG SEGMENT BUFF DB 5,?,5 DUP(?)SORRY DB 'sorry!$'YES DB 'yes!...

51单片机编程,将ASCII码转换为十六进制数
如果是数字的话ASCII码转换为:x-'0'如果是字符的话ASCII码转换为:x-'A'或者x-'a'

汇编语言程序设计教程 16进制数转换成十六进制asc2码输出。。。_百度知...
SWAP A ;准备转换高四位 HAS1: ANL A,#0FH ;将累加器的低四位转换成ASCII码 ADD A,#90H DA A ADDC A,#40H DA A RET (15) 标号: ASCH 功能:ASCII码转换成十六进制数 入口条件:待转换的ASCII码(30H~39H或41H~46H)在A中。出口信息:转换后的十六进制数(00H~0FH)仍在累加...

急求高人指导~汇编语言~ASCII码转换成十六进制
你输入的只能是 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,a,b,c,d,e,f 你输进去之后不就直接是16进制数咯 mov dx,0 mov ah,01 int 21H mov bx,dx mov cx,4 rol bx,cx mov ah,01 int 21H or bx,dx mov cx,4 rol bx,cx mov ah,01 int 21H or bx,dx mov ...

编写一个汇编语言程序,将ASCII码位于10H~FFH对应的字符以15*16(行*...
INT 21h MOV DL,0AH int 21h POP DX B: LOOP LP MOV AH,4CH INT 21H CSEG ENDS END START 我有很多种方法,这一种代码最短。。lz是大2的吧,这个实验我几个星期前做过。。这些实验还是自己做下比较好。要是实在做不出,再看看别人怎么写。网上很多的。。。恩,是有个地方要改。。。

用汇编怎么将16进制转ASCII码?
1. 首先,我们需要了解16进制数`1aH`转换为ASCII码的过程。2. 在汇编语言中,大写字母`A`到`F`对应的ASCII码值分别是`31h`到`36h`,小写字母`a`到`f`对应的ASCII码值分别是`61h`到`66h`。3. 因此,16进制数`1aH`转换为ASCII码值是`31h`和`41h`。4. 具体的计算过程是:如果16进制...

汇编语言 十六进制转换为ASCII码
BUF 子单元的的 每个字节的 16 进制数 加上 30h

相似回答