当前位置: 代码迷 >> 汇编语言 >> 编写程序把从键盘输入的随便一个键的ASCII代码输出到屏幕中
  详细解决方案

编写程序把从键盘输入的随便一个键的ASCII代码输出到屏幕中

热度:84   发布时间:2016-05-02 04:23:56.0
编写程序把从键盘输入的任意一个键的ASCII代码输出到屏幕中
如 按”A” 键,输出41H
模板:
DATAS SEGMENT
    ;此处输入数据段代码  
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START


刚接触汇编,连个小程序都不会写,求帮助!!!
------解决思路----------------------
当输入A时,以字符串形式,系统会以41H的形式保存
但是输出41H是以'41H','$'(09H型输出)形式,系统保存是34H,31H,48H
我刚学汇编3个礼拜,觉得这已经不算是小程序了。。
我用除法做的,当然用ROL,ROR移位更加简单
;这是自动生成的代码模板
      STACKS  SEGMENT   STACK       ;堆栈段
              DW        128 DUP(?)  ;注意这里只有128个字节
      STACKS  ENDS
       DATAS  SEGMENT               ;数据段
;请在这里定义您的数据
         BUF  DB        10
              DB        ?
              DB        10 DUP(?)
       DATAS  ENDS
       CODES  SEGMENT               ;代码段
              ASSUME    CS:CODES,DS:DATAS
      START:  MOV       AX,DATAS    ;初始化
              MOV       DS,AX
;请在这里添加您的代码
              MOV       AH,01H
              INT       21H         ;接受数据
              MOV       AH,0H
              MOV       BX,16
              DIV       BX          ;4、1分开到AX,DX
              XCHG      AX,DX
              MOV       CX,AX
              ADD       DX,30H      ;输出4,以34H形式
              MOV       AH,02H
              INT       21H         ;输出完毕
              MOV       DX,CX       ;调入1
              ADD       DX,30H      ; 31H形式
              MOV       AH,02H
              INT       21H         ;输出41完毕
              
              MOV       AX,48H
              MOV       DX,AX       ;48H是'H'的ascii码
              MOV       AH,02H
              INT       21H
              MOV       AH,0AH      ;等待输入,可以检验看一下
              LEA       DX,BUF
              INT       21H
              MOV       AX,4C00H    ;退出程序
              INT       21H
       CODES  ENDS
              END       START
 
  相关解决方案