问答题 将字符串(以‘$’为结尾)中每个字符均加上偶校验位。并统计有多少奇数个‘1’字符加了偶校验位,统计结果存于N单元中。
【正确答案】DATA  SEGMENT
     A  DB  'A1CDlFGHI$'
     N  DB   0
   DATA  ENDS
   CODE  SEGMENT
     ASSUME CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV  DS,AX
          LEA  SI,A
   NEXT:  MOV  AL,[SI]
          CMP  AL,'$'    ;判断是否为结束字符'$'
          JZ   LP2   ;是,转到LP2
          CMP  AL,'1'    ;是否为字符'1'
          JNZ  LP1   ;不是,转到LP1
          INC  N    ;是,N加1
   LP1:   AND  AL,AL
          JPE  LOP    ;是偶数,跳到LOP
          OR   AL,10000000B    ;是奇数,加偶校验位
          MOV  [SI],AL
   LOP:   INC  SI
          LOOP NEXT
   LP2:   MOV AL,N    ;显示有多少'1'字符被加了校验位
          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
   OVER: MOV  AH,4CH
          INT  21H
   CODE ENDS
   END START
【答案解析】