Operacje na łańcuchach/tablicach
Przedrostki instrukcji REPx

Przedrostki REPx informują procesor, że ma wykonywać daną instrukcję tablicową określona liczbę razy, ewentualnie sprawdzając dodatkowy warunek.

Liczbę powtórzeń umieszczamy w rejestrze ECX

REP        ; powtarza instrukcje ECX razy
 
REPE/REPZ   ; powtarza instrukcję jeżeli flaga ZF jest ustawiona, 
            ; conajwyżej ECX razy 
 
REPNE/REPNZ ; powtarza instrukcję jeżeli flaga ZF jest wyzerowana, 
            ; conajwyżej ECX razy 

Przykład: kopiowanie tablicy

    cld
    mov esi, zrodlo
    mov edi, cel
    mov ecx, [rozmiar]
 
    rep movsd

Przykład: porównanie dwóch tablic

    cld
    mov esi, tablica1
    mov edi, tablica2
    mov ecx, [rozmiar]
 
    repe cmpsb        ; powtarzaj jeżeli są równe
 
    je rowne          ; jeżeli ZF==0 to tablice są rowne
 
    ; blok kodu gdy tablice są różne
    jmp koniec
 
rowne:
    ;  blok kodu gdy tablice są takie same
koniec:

Tomasz Kapela, Kraków 2011-2020