问答题 请编程实现由键盘输入你的名字(拼音名),并把它显示在屏幕上,在你的名字两端各有三个“*”号。示例:***LIMING***。
【正确答案】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在使用上的异同点。