微机原理REPZ的问题

比较STR1和STR2开头的两个字符串,两个字串完全相同,则将AL置1,否则置0。字符串长度为3。

如果两字符串不同 abc和acb;
LEA DI,STR1;
LEA SI,STR2;
CLD;
MOV CX,3;
REPZ CMPSB;
JZ MATCH;
AND AL,0;
HLTMATCH:MOV AL,1;
HLT

这时候当循环第二次时候CX=2,但ZF=0,此时执行了CMPSB但是不满足循环条件:ZF=1,所以我得CX还要自减一吗,还是说执行完串指令之后,先把CX-1,再比较CX和ZF是否为0?