Vergleichs-Befehle |
---|
Die PCMPEQ-Befehle vergleichen die Datenelemente des Zieloperanden mit den Datenelementen des Quelloperanden. Sind die Datenelemente gleich groß, dann werden alle Bits für alle gleichen Datenelemente im Zieloperanden auf 1 gesetzt. Entsprechend werden alle Bits im Zieloperanden gelöscht, wo die Datenelemente unterschiedliche Werte aufweisen.
Der PCMPEQB-Befehl vergleicht die gepackten Byte-Werte des Zieloperanden mit den gepackten Byte-Werten des Quelloperanden. Für alle Datenelemente die gleich sind, wird der Wert FFh (255d) im Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0 für alle ungleichen Datenelemente im Zieloperanden.
Der PCMPEQW-Befehl vergleicht die gepackten Wortwerte des Zieloperanden mit den gepackten Wortwerten des Quelloperanden. Für alle Datenelemente die gleich sind, wird der Wert FFFFh (65535d) im Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0 für alle ungleichen Datenelemente im Zieloperanden.
Der PCMPEQD-Befehl vergleicht die gepackten Doubleword-Werte des Zieloperanden mit den gepackten Doubleword-Werten des Quelloperanden. Für alle Datenelemente die gleich sind, wird der Wert FFFF FFFFh im Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0 für alle ungleichen Datenelemente im Zieloperanden.
MM0= 03 70 00 20 01 A1 E2 F2h ; Zieloperand MM1= 04 70 45 67 89 A1 E0 42h ; Quelloperand PCMPEQB MM0, MM1 Ergebnis in MM0= 00 FF 00 00 00 FF 00 00h
Die PCMPGT-Befehle vergleichen die Datenelemente des Zieloperanden mit den Datenelementen des Quelloperanden. Für alle vorzeichenbehafteten Datenelemente des Zieloperanden, die größer als die vorzeichenbehafteten Datenelemente des Quelloperanden sind, werden alle Bits im Zieloperanden auf 1 gesetzt. Entsprechend werden alle Bits im Zieloperanden gelöscht, wenn die Datenelemente des Zieloperanden kleiner oder gleich den entsprechenden Datenelementen des Quelloperanden sind.
Der PCMPGTB-Befehl vergleicht alle gepackten Byte-Werte des Zieloperanden mit den gepackten Byte-Werten des Quelloperanden. Für alle Datenelemente des Zieloperanden, die größer als die des Quelloperanden sind, wird der Wert FFh (255d) im Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0 für alle kleineren oder gleichen Datenelemente im Zieloperanden.
Der PCMPGTW-Befehl vergleicht alle gepackten Wortwerte des Zieloperanden mit den gepackten Wortwerten des Quelloperanden. Für alle Datenelemente des Zieloperanden, die größer als die des Quelloperanden sind, wird der Wert FFFFh (65535d) im Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0 für alle kleineren oder gleichen Datenelemente im Zieloperanden.
Der PCMPGTD-Befehl vergleicht alle gepackten Doubleword-Werte
des Zieloperanden mit den gepackten Doubleword-Werten des Quelloperanden.
Für alle Datenelemente des Zieloperanden, die größer als
die des Quelloperanden sind, wird der Wert FFFF FFFFh im Zieloperanden
eingetragen. Entsprechend befinden sich die Werte 0 für alle
kleineren oder gleichen Datenelemente im Zieloperanden.
(Anmerkung: Alle PCMPGT-Befehle interpretieren die Datenelemente
als vorzeichenbehaftet)
MM0= 03 71 00 20 01 A1 E2 F2h ; Zieloperand MM1= 04 70 45 67 89 A1 E0 42h ; Quelloperand PCMPGTB MM0, MM1 Ergebnis in MM0= 00 FF 00 00 FF 00 FF 00h