单选题 假设ES段中有一个字符串“12FG3LM5C”,其名为ARRAY,下面程序段执行后,CX的值是______。
   CLD
   LEA  DI, ES:ARRAY
   MOV  AL, 'G'
   MOV  CX, 9
   REPNE  SCASB
   HLT
   A.9    B.5    C.4    D.0
【正确答案】 B
【答案解析】本题程序段实现搜索字符串“12FG3LM5C”中的“G”字符,所涉及指令的说明如下。
   CLD指令:使DF=0,在执行串处理指令时可使地址自动增量。
   SCASB指令(字符串扫描指令):从AL中减去由ES: [DI]指定的串元素,结果不送任何地方,仅改变标志位,同时,根据DF和串的类型修改DI,指向串的下一个元素。REPNE指令(重复前缀指令):当不相等时重复串操作。执行步骤如下。
   1. 如果(CX)=0或ZF=1时退出,否则往下执行。
   2. (CX)-1→(CX)。
   3. 执行其后的串指令。
   4. 重复(1)~(3)。
   HLT指令:停机指令。
   当找到“G”字符,停止搜索时,(CX)=5。(CX寄存器中的值是剩下的未比较的字符个数)