问答题 两个字符串A和B均长100个字符,试比较它们的大小(按ASCⅡ码值)。如果相等则MARK单元置0;如果不相等则指出是第几个字符不同并将其存入MARK单元。
【正确答案】DATA  SEGMENT
   A    DB 100DUP('A')
   B    DB 50DUP('AB')
   MARK  DB 0
   DATA  ENDS
   CODE    SEGMENT
     ASSUME CS: CODE,DS: DATA
   START: MOV  AX,DATA
          MOV  DS,AX
          LEA  SI,A    ;置数据区地址指针
          LEA  DI,B
          MOV  CX,100   ;置计数初值
          MOV  BL,1   ;BH为标志位
   NEXT:  MOV  AL,[SI]    ;取A中字符
          CMP  AL,[DI]    ;判断是否等于B中字符
          JNZ  A1   ;不等于,转到A1
          INC  SI    ;调整指针
          INC  DI
          INC  BL
          LOOP NEXT    ;未完,转NEXT
          JMP  A2   ;转到A2
   A1:    MOV  MARK,BL    ;不相等,把下标存入MARK中
   A2:    MOV  AL,MARK    ;显示MARK
          MOV  AH,0
          MOV  BL,10
          DIV  BL
          ADD  AX,3030H
          MOV  DL,AL
          MOV  DH,AH
          MOV  AH,02H
          INT  21H
          MOV  DL,DH
          INT  21H
          MOV  AH,4CH
          INT  21H
   CODE   ENDS
   END    START
【答案解析】