从键盘接受一个字符串,字符串最大长度20。
将输入字符串的数字字符删去处理后,在新一行显示。
题目链接:http://zhidao.baidu.com/question/567245908.html
2013-07-05 18:07 提问者采纳
DATAS SEGMENT
IN_N DB 21, ?, 21 DUP(?) ;含回车,共 21 字节
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
MOV AX, DATAS
MOV DS, AX
;---------------------------
LEA DX, IN_N
MOV AH, 10
INT 21H
MOV AH, 2
LEA BX, IN_N
MOV CL, IN_N + 1 ;输入字符的个数
CMP CL, 0
JZ EXIT ;零个,就结束程序
MOV CH, 0
ADD CX, 2 ;添上两个字符
MOV [BX], WORD PTR 0D0AH ;即回车换行符
LP1:CMP [BX], BYTE PTR '9'
JA DISP
CMP [BX], BYTE PTR '0'
JB DISP
JMP LP2
DISP:MOV DL, [BX] ;显示
INT 21H
LP2:INC BX
LOOP LP1 ;循环
;---------------------------
EXIT:
MOV AH, 4CH
INT 21H
CODES ENDS
END START
已经实验成功。