【正确答案】DATA SEGMNET
A DB'***$'
B DB'Please,input your name! $'
C DB 20
DB ?
DB 20DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET B ;显示提示输入
MOV AH,09H
INT 21H
MOV DL,OAH ;输出换行符,即回车
MOV AH,02H
INT 21H
MOV DL,0DH
INT 21H
LEA DX,C ;输入姓名
MOV AH,OAH
INT 21H
MOV DX,0FFSET A ;输出“***”
MOV AH,09H
INT 21H
MOV CH,00H
MOV CL,C+1 ;把姓名字符串的字符个数送入CX
LEA SI,C+2
NEXT: MOV DL,[SI] ;输出姓名
INC SI
MOV AH,02H
INT 21H
LOOP NEXT
MOV DX,OFFSET A ;输出“***”
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
【答案解析】本题重点训练INT 21H的09号和0AH号子功能的使用,注意区分02H号和09号的差异以及01H和OAH在使用上的异同点。