②重复控制前缀 重复前缀REP 当相等重复前缀REPZ/REPE 当不相等重复前缀 REPNZ/ REPNE
② 重复控制前缀 重复前缀REP 当相等重复前缀REPZ /REPE 当不相等重复前缀REPNZ /REPNE
●重复前缀REP 执行过程: CX=0 (1)当CX)=0,结束REP, 执行REP下一条指令 (CX)=(CX)-1 (2)当(CX)≠0,将CX的内容减1 执行REP后的串指令,返回(1)。 REP后的 例LEAD, destination 串指令 LEA SI source MOV CX 20 REP MOVSB MOV AX. O ◆只在(CX)=0时退出循环 REP执行流程
⚫重复前缀REP 执行过程: (1)当(CX)= 0 ,结束REP, 执行REP下一条指令。 (2)当(CX)≠0,将CX 的 内容减1, 执行REP后的串指令,返回 (1)。 例 LEA DI, destination LEA SI, source MOV CX,20 REP MOVSB MOV AX, 0 ◆ 只在(CX)=0时退出循环 REP 执行流程 (CX)=(CX)-1 REP 后的 串 指 令 Y N CX=0 ?
●当相等重复前缀REPZ C_0 y 执行过程: (1)当(CX)=0,结束REPZ (Cx=(CX)-1 执行REPZ下一条指令 (2)当(CX≠0,将CX的内容减1, REPZ后的 执行REPZ后的串指令; 串指令 (3)当ZF=1,返回(1) (4)当ZF≠1,则结束REPZ, ZF=I 执行REPZ下一条指令。 ◆(CX)减1操作不影响标志 ◆Z标志由串操作决定 REPZ执行流程
⚫当相等重复前缀REPZ 执行过程: (1) 当(CX)= 0 , 结束REPZ, 执行REPZ下一条指令; (2) 当(CX)≠0,将CX 的内容减1, 执行REPZ后的串指令; (3) 当ZF = 1, 返回 (1) ; (4) 当ZF≠1, 则结束REPZ, 执行REPZ下一条指令。 ◆ (CX)减1操作不影响标志 ◆ ZF标志由串操作决定 REPZ 执行流程 (CX)=(CX)-1 REPZ 后的 串 指 令 Y N Y N CX=0? ZF=1 ?