Instrukcje CMPSx służą do porównywania kolejnych komórek dwóch tablic jako liczb 1, 2 lub 4 bajtowych.
Instrukcja CMPSB CMPSW CMPSD | "Odpowiednik" cmp [DS:ESI], [ES:EDI] add ESI, 1/2/4 add EDI, 1/2/4 |
Instrukcje SCASx przeszukują tablicę w poszukiwaniu konkretnej wartości umieszczonej w rejestrze EAX
Instrukcja SCASB SCASW SCASD | "Odpowiednik" cmp AL/AX/EAX, [ES:EDI] add EDI, 1/2/4 |
Przykład: szukanie elementu w tablicy liczb typu int
cld mov edi, tablica ; adres poczatku tablicy mov ecx, [rozmiar] ; rozmiar tablicy mov eax, [liczba] ; liczba ktorej szukamy petla: scasd je znaleziono loop petla ; nie znaleziono jmp koniec znaleziono: sub edi, 4 ; edi wskazuje teraz na miejsce ;gdzie znajduje się szukany element koniec: ... segment .data tablica dd 1, 2, 3, 4, 5, 6, 7 rozmiar dd 7 liczba dd 4