下面的程序用来删除字符串’’AABA’’中第1个出现的由DAT单元指定的字符,删除字符后,后面字符前移,并在字符串尾部添加字符’’$’’(24H)。DSEG SEGMENT BUF DB ’’AABA’’ CNT DW $-BUF DAT DB 41H DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG,ES:DSEG START PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DSEG MOV DS,AX MOV ES,AS CLD LEA DI,BUF MOV CX,CNT MOV AL,DAT REPNE SCASB JE DEL JMP EXIT DEL: JCXZ FILL NEXT: MOV BL,[DI] MOV [DI-1],BL INC DI LOOP NEXT FILL: MOV 【 】 ,24H EXIT RET START ENDP CSEG ENDS END START
程序执行到DEL:JCXZFILL指令时,CX寄存器的内容是 【 】 。
参考答案:3(或03或03H)
解析:程序执行到DEL:JCXZFILL指令表明找到字符以后,如果该字符不在字符串的尾部,需要把后面的字符前移,否则不需要前移,直接在字符串结尾加上‘$’(24H)。由于字符串的第一个字符就是要找的字符所以CX中的内容是03H。