问答题 在数据段中有5组字符串(分别有不同含义)。根据键入序号(1~5)输出对应序号的字符串到屏幕。要求编写为循环程序,可键入不同序号并显示相应字符串。
【正确答案】DATA  SEGMENT
   A DB  'I am S student.$'
   B DB  'Please input your name!$'
   C DB  'Shandong$'
   D DB  'Shanghai$'  E DB'Beijing$'
   DATA  ENDS
   CODE  SEGMENT
     ASSUME  CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV DS,AX
   NEXT:  MOV  AH,01H    ;输入字符
          INT  21H
          CMP  AL,'1'    ;判断输入是否为'1'
          JNZ  A1   ;不是,转到A1处
          MOV  DX,OFFSET A    ;是,显示A字符串
          CALL ABC
          JMP  NEXT    ;结束
    A1:   CMP  AL,'2'    ;判断是否为'2'
          JNZ  A2   ;不是,转到A2处
          MOV DX,OFFSET B    ;是,显示字符串B
          CALL ABC
          JMP  NEXT
   A2:    CMP  AL,'3'    ;判断是否为字符'3'
          JNZ  A3   ;不是,转到A3处
          MOV  DX,OFFSET C    ;是,显示字符串C
          CALL ABC
          JMP  NEXT
   A3:    CMP  AL,'4'    ;判断是否为字符'4'
          JNZ  A4   ;不是,转到A4处
          MOV  DX,OFFSET D    ;是,显示字符串D
          CALL ABC
          JMP  NEXT
   A4:    CMP  AL,'5'    ;判断是否为字符'5'
          JNZ  OVER    ;不是,结束
          MOV  DX,OFFSET E    ;是,显示字符串E
          CALL ABC
          JMP  NEXT
   OVER:  MOV  AH,4CH
          INT  21H
   ABC    PROC
          MOV  AH,09H
          INT  21H
          MOV  DL,0DH
          MOV  AH,02H
          INT  21H
          MOV  DL,0AH
          INT  21H
          RET
   ABC  ENDP
   CODE ENDS
   END START
【答案解析】