问答题 试编写一递归子程序,完成指数函数Xn的运算。X和n在主程序中给定。
   (1)把其中的字母字符取出存放在ALPH起的单元中。
   (2)把已取出的字母字串中重复的字符删除,并向前递补。
   (3)在不重复的字母串中,把小写字母改为大写字母。如有重复的大写字母,先删除重复大写字母并由后续字符向前递补。
   (4)统计不重复大写字母总数,并显示大写字母串。
   (5)显示处理后的字符串。
   按上述要求分别编写子程序。并构成一个主程序、子程序和具有嵌套调用关系的程序。
【正确答案】DADA SEGMENT
   FUN  DW ?
   M    DW 12
   N    DW 4
   DADA ENDS
   CODE SEGMENT
   ASSUME  CS: CODE,DS: DATA
   MAIN:   MOV  AX,DATA
           MOV  DS,AX
           MOV  AX,1
           MOV  BX,M
           MOV  CX,N
           CALL MEN
           MOV  FUN,AX
           MOV  AH,4CH
           INT  21H
   CODE    ENDS
   MEN     PROC
   MM:     MUL  BX
           LOOP MM
           RET
           ENDP
   ENDMA   TN
【答案解析】本题中,X和n可以在DATA数据段定义,也可以通过键盘输入,参考答案中采用前者。为了编写程序方便,现假设结果小于等于65535。