当前位置: 代码迷 >> 汇编语言 >> MOV AH,10 INT 21H也可以输入字符?该如何处理
  详细解决方案

MOV AH,10 INT 21H也可以输入字符?该如何处理

热度:603   发布时间:2016-05-02 04:40:36.0
MOV AH,10 INT 21H也可以输入字符?
从键盘输入四位16进制数,以2进制、10进制输出
;=============================================
DATA SEGMENT

STR1    DB  'INPUT A HEX NUM: $'
HEX     DB  5                       ;计划输入的字符个数(含回车符)
NNN     DB  0                       ;存放实际输入的字符个数
        DB  5  DUP(?)
BIN     DW  ?                       ;输入数字的二进制形式的存放单元
ERR     DB  0AH, 0DH, ' ERROR !'
        DB  0AH, 0DH, ' I  HAVE  NO  TIME  TO  PLAY  WITH  YOU ! $'
STR2    DB  13, 10, 'BINARY IS: $'
DATA    ENDS
;--------------------------------------------
STACK SEGMENT PARA STACK  'STACK'    
   DB 100 DUP(?)
STACK ENDS
;--------------------------------------------
CODE SEGMENT
    ASSUME  CS:CODE, SS:STACK, DS:DATA
START:
    MOV  AX, DATA
    MOV  DS, AX
    MOV  AX, STACK
    MOV  SS, AX

    LEA  DX, STR1   ;'INPUT A HEX NUM'
    MOV  AH, 9      ;显示字符串
    INT  21H

    LEA  DX, HEX
    MOV  AH, 10     ;等着输入四位HEX数
    INT  21H

这个只是程序的开始的一部分,有一个地方我搞不懂,这个程序是在哪里有输入操作了?不是AH的值为01才是接收字符吗?
------解决方案--------------------
ah=10(0ah) 是输入一个字符串,按回车结束,详细说明和调用要求看该功能调用的描述吧。即便是输入字符,也不止一个 ah=01 功能调用的,ah=6 和 ah=8 都可以。
  相关解决方案