Use of the REPE command in a loop
Use of the REPE command in a loop
(OP)
I'm new to assembly and have been doing well, but upon analyzing this code I've been given some trouble.
Can you guys explain what REPE does, and what has to happen in this loop for DL never to be set to 0?
Can you guys explain what REPE does, and what has to happen in this loop for DL never to be set to 0?
CODE --> Assembly
00414A26 |. F3:A6 REPE CMPS BYTE PTR DS:[ESI],BYTE PTR ES:[EDI] 00414A28 |. 0F92C0 SETB AL 00414A2B |. 0F97C2 SETA DL 00414A2E |. 28C2 SUB DL,AL
RE: Use of the REPE command in a loop
I think that CMPS instruction means compare the source and destination bytes and that the E in REPE means repeat until equal.
As such I would guess that the instruction means something like : Repeat the comparison of the the bytes at DS:ESI and ES:EDI until they are equal.
Since the REP commands automatically increment DS:ESI and ES:EDI, I'm presuming that this is being used to get the appropriate byte(s) (in AL and DL) on which the following lines of code operate.