어셈블리 언어에서 REP와 REPE의 차이점은 무엇입니까?


대답 1:

기계어 코드에는 차이가 없습니다. OpCode는 동일합니다.

또한 REPE와 REPZ는 동일합니다. (같음 / 영)

REPNE 및 REPNZ도 마찬가지입니다. (같지 않음 / 0 아님)

그러나 일반적으로 어셈블리에서는 제로 플래그에 영향을 줄 명령어와 함께 REPE를 사용하십시오. REPE SCASB처럼. 이 경우 AL이 [ESI]와 같고 ECX> 0 인 동안 루프가 계속됩니다.

MOVSB는 비교를 수행하지 않기 때문에 실제로 제로 플래그의 상태는 중요하지 않습니다. 그러나 REPE 또는 REPNE를 사용하려고하면 어셈블러가 불평 할 수 있습니다.