问答题 已知:在16位空间的数据段内,有一个首地址为210H的数据区,其中存放着一个以0结尾的字符串。试编写一个486程序段,统计该字符串中的字母、数字和其他字符的个数,并将统计结果分别存放在字节单元(200H)、(201H)和(202H)中。
【正确答案】MOV  BYTE PTR[200HI,0    ;清字母个数计数器
   NOV  BYTE PTR[201H],0    ;清数字个数计数器
   NOV  BYTE PTR[202H],0    ;清其他字符个数计数器
   MOV  SI,210H    ;SI指向数据区首地址
   REPEAT:MOV    AL,[SI]    ;取一字符ci
   CMP    AL,0
   JE    OVER    ;若ci=0转OVER结束
   CMP    AL,'0'
   JB  OTHER    ;若ci<'0'转OTHER
   CMP    AL,'9'
   JA    cKALPH    ;若ci>'9'转CKALPH
   INC  BYTE PTR[201H]    ;数字字符计数
   JMP    NEXT
   CKALPH:OR    AL,20H    ;将大写字母转成小写字母
   CMP    AL,'a'
   JB    OTHER    ;若ci<'a'转OTHER
   CMP    AL,'z'
   JA    OTHER    ;若ci>'z'转OTHER
   INC  BYTE PTR[200H]    ;字母字符计数
   JMP    NEXT
   OTHER:  INC  BYTE PTR[202H]    ;其他字符计数
   NEXT:  INC  SI    ;SI指向下一字符
   JMP    REPEAT
   OVER:  …
【答案解析】