abc Asembler - elektronski priručnik
XII dio Uslovi

Instrukcija CMP

Instrukcija CMP poredi 2 operanda. Uobičajeno se koristi kod uslovnog izvršavanja. Ova instrukcija u osnovi oduzima jedan operand od drugog za poređenje da li su operandi jednaki ili nisu. Ona ne remeti odredišne ili izvorišne operande. Ona se koristi za donošenje odluka zajedno sa instrukcijom uslovnog skoka.

Sintaksa

CMP  destination, source

CMP poredi 2 polja numeričkih podataka. Odredišni (destination) operand može biti ili u registru ili u memoriji. Izvorišni (source) operand može biti konstantni (neposredni) podatak, registar ili memorija.

Primjer

     CMP    DX,  00 	; Compare the DX value with zero
     JE     L7 		    ; If yes, then jump to label L7

L7:      ...

CMP se često koristi za poređenje da li je vrijednost brojača dostigla onaj broj koliko puta petlja treba da se izvrši. Razmotrimo sljedeći tipični uslov:

     INC    EDX
     CMP    EDX, 10 	; Compares whether the counter has reached 10
     JLE    LP1 		; If it is less than or equal to 10, then jump to LP1

Uslovi    <    Index    >    Bezuslovni skok