问答题 在A数据区有一个25个字符的字符串,试编程实现按ASCⅡ码值进行升序的排序。
【正确答案】DATA  SEGMENT
     A  DB  'ZYXFEGDSACBJO1GJ;LASFL;IOF'
     N  EQU 25
   DATA  ENDS
   CODE  SEGMENT
     ASSUME  CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV  DS,AX
          MOV  CX,N-1
          LEA  SI,A
   LOP1:  PUSH SI    ;保护SI,利用冒泡法排序
          MOV  DX,CX
   LOP2:  MOV  AL,[SI]
          CMP  AL,[SI+1]
          JBE  NEXT
          XCHG AL,[SI+1]
          MOV  [SI],AL
   NEXT:  INC  SI
          DEC  DX
          JNZ  LOP2
          POP  SI
          LOOP LOP1
          MOV  CX,N
          LEA  SI,A
          LOP:MOV  DL,[SI]
               MOV  AH,02H
               INT  21H
               INC  SI
               LOOP LOP
               MOV  AH,4CH
               INT  21H
   CODE ENDS
   END START
【答案解析】