Alle Anweisungen der SSE-Familie arbeiten mit 128-Bit-XMM-Registern. PBXB64 unterstützt SSE bis SSE4.2 mit vollständiger Intel-Syntax.
Alle Anweisungen der SSE-Familie arbeiten mit 128-Bit-XMM-Registern. PBXB64 unterstützt SSE bis SSE4.2 mit vollständiger Intel-Syntax.
Original SSE (KNI/Katmai neue Anleitung). Gleitkommaoperationen mit einfacher Genauigkeit auf XMM-Registern.
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
MOVAPS | Ausgerichtetes, gepacktes Einzelstück verschieben (16-Byte-ausgerichtet) | xmm, xmm/mem128 / mem128, xmm |
MOVUPS | Move unaligned packed single | xmm, xmm/mem128 / mem128, xmm |
MOVSS | Move scalar single | xmm, xmm/mem32 / mem32, xmm |
MOVLPS | Niedrig gepackte Single verschieben (untere 64 Bit) | xmm, mem64 / mem64, xmm |
MOVHPS | Hochgepackte Single verschieben (obere 64 Bit) | xmm, mem64 / mem64, xmm |
MOVLHPS | Bewegen Sie sich von unten nach oben einzeln | xmm, xmm |
MOVHLPS | Bewegen Sie sich einzeln von oben nach unten | xmm, xmm |
MOVMSKPS | Vorzeichenmaske nach GPR verschieben (4 Vorzeichenbits → GPR) | reg, xmm |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
ADDPS | Fügen Sie verpackte Single hinzu | xmm, xmm/mem128 |
ADDSS | Skalare Single hinzufügen | xmm, xmm/mem32 |
SUBPS | Gepackte Single subtrahieren | xmm, xmm/mem128 |
SUBSS | Subtrahieren Sie den Skalar einzeln | xmm, xmm/mem32 |
MULPS | Mehrfach gepackte Single | xmm, xmm/mem128 |
MULSS | Skalar-Single multiplizieren | xmm, xmm/mem32 |
DIVPS | Teilweise einzeln verpackt | xmm, xmm/mem128 |
DIVSS | Teilen Sie den Skalar einfach | xmm, xmm/mem32 |
SQRTPS | Quadratwurzelgepackte Single | xmm, xmm/mem128 |
SQRTSS | Quadratwurzel-Skalar-Single | xmm, xmm/mem32 |
RCPPS | Reziprok gepacktes Single (ungefähr) | xmm, xmm/mem128 |
RCPSS | Reziproker Skalar Single (ungefähr) | xmm, xmm/mem32 |
RSQRTPS | Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr) | xmm, xmm/mem128 |
RSQRTSS | Reziproker Quadratwurzelskalar einfach (ungefähr) | xmm, xmm/mem32 |
MAXPS | Maximal gepacktes Einzelstück | xmm, xmm/mem128 |
MAXSS | Maximaler Skalar-Single | xmm, xmm/mem32 |
MINPS | Mindestens einzeln verpackt | xmm, xmm/mem128 |
MINSS | Minimaler Skalar-Single | xmm, xmm/mem32 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
ANDPS | Bitwise AND of packed singles | xmm, xmm/mem128 |
ANDNPS | Bitwise AND-NOT of packed singles | xmm, xmm/mem128 |
ORPS | Bitwise OR of packed singles | xmm, xmm/mem128 |
XORPS | Bitwise XOR of packed singles | xmm, xmm/mem128 |
CMPPS | Vergleichen Sie gepackte Singles (imm8-Prädikat) | xmm, xmm/mem128, imm8 |
CMPSS | Skalare Single vergleichen (imm8-Prädikat) | xmm, xmm/mem32, imm8 |
COMISS | Vergleichen Sie geordnete Skalar-Singles (Setzt Flags) | xmm, xmm/mem32 |
UCOMISS | Ungeordnete Skalar-Single vergleichen (setzt Flags) | xmm, xmm/mem32 |
CMPPS/CMPSS-Direktprädikate:
| Imm | Prädikat | Beschreibung |
|---|---|---|
| 0 | EQ | Gleich |
| 1 | LT | Weniger als |
| 2 | LE | Kleiner oder gleich |
| 3 | UNORD | Ungeordnet |
| 4 | NEQ | Ungleich |
| 5 | NLT | Nicht weniger als |
| 6 | NLE | Nicht kleiner oder gleich |
| 7 | ORD | Bestellt |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
SHUFPS | Shuffle packed single | xmm, xmm/mem128, imm8 |
UNPCKHPS | Unpack high packed single | xmm, xmm/mem128 |
UNPCKLPS | Unpack low packed single | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung |
|---|---|
STMXCSR | MXCSR-Register speichern (Steuerung/Status) |
LDMXCSR | MXCSR-Register laden |
FXRSTOR | Stellen Sie den x87- und SSE-Status wieder her |
FXSAVE | Speichern Sie den x87- und SSE-Status |
Fügt Gleitkomma- und Ganzzahl-SIMD-Operationen mit doppelter Genauigkeit hinzu (MMX-ähnlich bei XMM).
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
ADDPD | Fügen Sie das verpackte Doppel hinzu | xmm, xmm/mem128 |
ADDSD | Skalardoppel hinzufügen | xmm, xmm/mem64 |
SUBPD | Subtrahieren Sie das gepackte Doppel | xmm, xmm/mem128 |
SUBSD | Subtrahiere das Skalardoppel | xmm, xmm/mem64 |
MULPD | Mehrfach gepacktes Doppeltes | xmm, xmm/mem128 |
MULSD | Skalar mit dem Doppelten multiplizieren | xmm, xmm/mem64 |
DIVPD | Doppelt verpackt teilen | xmm, xmm/mem128 |
DIVSD | Teilen Sie den Skalar durch das Doppelte | xmm, xmm/mem64 |
SQRTPS | Quadratwurzel gepackt (PS-Variante in SSE) | xmm, xmm/mem128 |
SQRTPD | Quadratwurzel doppelt gepackt | xmm, xmm/mem128 |
SQRTSD | Quadratwurzel-Skalar-Double | xmm, xmm/mem64 |
MAXPD | Maximal doppelt bepackt | xmm, xmm/mem128 |
MAXSD | Maximales Skalar-Double | xmm, xmm/mem64 |
MINPD | Mindestens doppelt verpackt | xmm, xmm/mem128 |
MINSD | Minimales Skalardoppel | xmm, xmm/mem64 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
MOVAPD | Move aligned packed double | xmm, xmm/mem128 / mem128, xmm |
MOVUPD | Move unaligned packed double | xmm, xmm/mem128 / mem128, xmm |
MOVSD | Move scalar double | xmm, xmm/mem64 / mem64, xmm |
MOVLPD | Move low packed double | xmm, mem64 / mem64, xmm |
MOVHPD | Move high packed double | xmm, mem64 / mem64, xmm |
MOVMSKPD | Vorzeichenmaske nach GPR verschieben (2 Bits) | reg, xmm |
MOVDQ2Q | Verschieben Sie XMM in das MMX-Register (niedriges Quadwort). | mm, xmm |
MOVQ2DQ | MMX in das XMM-Register verschieben (niedriges Quadword) | xmm, mm |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
MOVD | Move doubleword to/from XMM | xmm, reg32/mem32 / reg32, xmm |
MOVQ | Move quadword to/from XMM | xmm, reg64/mem64 / reg64/rm, xmm |
MOVDQA | Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet) | xmm, xmm/mem128 / mem128, xmm |
MOVDQU | Move unaligned double quadword | xmm, xmm/mem128 / mem128, xmm |
PADDB | Fügen Sie gepackte Byte-Ganzzahlen hinzu | xmm, xmm/mem128 |
PADDW | Fügen Sie gepackte Wort-Ganzzahlen hinzu | xmm, xmm/mem128 |
PADDD | Fügen Sie gepackte Doppelwort-Ganzzahlen hinzu | xmm, xmm/mem128 |
PADDQ | Fügen Sie gepackte Quadword-Ganzzahlen hinzu | xmm, xmm/mem128 |
PSUBB | Subtrahieren Sie gepackte Byte-Ganzzahlen | xmm, xmm/mem128 |
PSUBW | Subtrahieren Sie ganze Zahlen gepackter Wörter | xmm, xmm/mem128 |
PSUBD | Subtrahieren Sie gepackte Doppelwort-Ganzzahlen | xmm, xmm/mem128 |
PSUBQ | Subtrahieren Sie gepackte Quadword-Ganzzahlen | xmm, xmm/mem128 |
PMULLW | Multiplizieren Sie gepackte Wort-Ganzzahlen (niedrige 16 Bits) | xmm, xmm/mem128 |
PMULHW | Multiplizieren Sie gepackte Wort-Ganzzahlen (hohe 16 Bits) | xmm, xmm/mem128 |
PMULHUW | Multiplizieren Sie gepackte Wort-Ganzzahlen (hohe 16 Bit, ohne Vorzeichen) | xmm, xmm/mem128 |
PMULUDQ | Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort | xmm, xmm/mem128 |
PMADDWD | Multiplizieren Sie das gepackte Wort und addieren Sie es zum Doppelwort | xmm, xmm/mem128 |
PSADBW | Sum of absolute differences | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PAND | Bitweises UND von gepackten ganzen Zahlen | xmm, xmm/mem128 |
PANDN | Bitweises UND-NICHT von gepackten ganzen Zahlen | xmm, xmm/mem128 |
POR | Bitweises ODER gepackter Ganzzahlen | xmm, xmm/mem128 |
PXOR | Bitweises XOR gepackter Ganzzahlen | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PSLLW | Logisch gepacktes Wort nach links verschieben | xmm, imm8 / xmm |
PSLLD | Logisch gepacktes Doppelwort nach links verschieben | xmm, imm8 / xmm |
PSLLQ | Verschieben Sie das logisch gepackte Quadwort nach links | xmm, imm8 / xmm |
PSRLW | Verschieben Sie das logisch gepackte Wort nach rechts | xmm, imm8 / xmm |
PSRLD | Verschieben Sie das logisch gepackte Doppelwort nach rechts | xmm, imm8 / xmm |
PSRLQ | Verschieben Sie das logisch gepackte Quadwort nach rechts | xmm, imm8 / xmm |
PSRAW | Verschieben Sie das arithmetisch gepackte Wort nach rechts | xmm, imm8 / xmm |
PSRAD | Nach rechts verschieben arithmetisch gepacktes Doppelwort | xmm, imm8 / xmm |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
CMPPD | Vergleichen Sie gepacktes Doppel (imm8-Prädikat) | xmm, xmm/mem128, imm8 |
CMPSD | Skalar-Double vergleichen (imm8-Prädikat) | xmm, xmm/mem64, imm8 |
COMISD | Vergleichen Sie das geordnete Skalar-Double (Setzt Flags) | xmm, xmm/mem64 |
UCOMISD | Ungeordnetes Skalar-Double vergleichen (setzt Flags) | xmm, xmm/mem64 |
PCMPEQB | Vergleichen Sie gepackte Bytes auf Gleichheit | xmm, xmm/mem128 |
PCMPEQW | Vergleichen Sie gepackte Wörter auf Gleichheit | xmm, xmm/mem128 |
PCMPEQD | Vergleichen Sie gepackte Doppelwörter auf Gleichheit | xmm, xmm/mem128 |
PCMPGTB | Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) | xmm, xmm/mem128 |
PCMPGTW | Vergleichen Sie gepackte Wörter für größer als | xmm, xmm/mem128 |
PCMPGTD | Vergleichen Sie gepackte Doppelwörter für größer als | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
CVTPD2PS | Wandeln Sie gepacktes Doppel in gepacktes Einzel um | xmm, xmm/mem128 |
CVTPS2PD | Wandeln Sie gepacktes Einzel in gepacktes Doppel um | xmm, xmm/mem64 |
CVTSD2SS | Wandeln Sie Skalar-Doppel in Skalar-Einfach um | xmm, xmm/mem64 |
CVTSS2SD | Konvertieren Sie den einfachen Skalar in den doppelten Skalar | xmm, xmm/mem32 |
CVTDQ2PD | Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort | xmm, xmm/mem64 |
CVTPD2DQ | Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort | xmm, xmm/mem128 |
CVTDQ2PS | Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort | xmm, xmm/mem128 |
CVTPS2DQ | Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort | xmm, xmm/mem128 |
CVTTPD2DQ | Gepacktes Doppel zu gepacktem Doppelwort abschneiden | xmm, xmm/mem128 |
CVTTPS2DQ | Gepacktes Einzelwort in gepacktes Doppelwort kürzen | xmm, xmm/mem128 |
CVTTSD2SI | Truncate scalar double to integer | reg32/64, xmm/mem64 |
CVTTSI2SD | Ganzzahl auf Skalardoppel kürzen | xmm, reg32/64/mem32 |
CVTSD2SI | Konvertieren Sie das Skalar-Double in eine ganze Zahl (rund) | reg32/64, xmm/mem64 |
CVTSI2SD | Convert integer to scalar double | xmm, reg32/64/mem32 |
CVTSS2SI | Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund) | reg32/64, xmm/mem32 |
CVTSI2SS | Convert integer to scalar single | xmm, reg32/64/mem32 |
CVTTSS2SI | Truncate scalar single to integer | reg32/64, xmm/mem32 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PACKSSWB | Vorzeichenbehaftete Wörter in Bytes packen (gesättigt) | xmm, xmm/mem128 |
PACKSSDW | Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) | xmm, xmm/mem128 |
PACKUSWB | Vorzeichenlose Wörter in Bytes packen (unsigned sat) | xmm, xmm/mem128 |
PUNPCKHBW | Entpacken Sie High-Bytes | xmm, xmm/mem128 |
PUNPCKHWD | Packen Sie hohe Wörter aus | xmm, xmm/mem128 |
PUNPCKHDQ | Hohe Doppelwörter auspacken | xmm, xmm/mem128 |
PUNPCKHQDQ | Entpacken Sie hohe Quadwords | xmm, xmm/mem128 |
PUNPCKLBW | Low-Bytes entpacken | xmm, xmm/mem128 |
PUNPCKLWD | Packen Sie niedrige Wörter aus | xmm, xmm/mem128 |
PUNPCKLDQ | Entpacken Sie niedrige Doppelwörter | xmm, xmm/mem128 |
PUNPCKLQDQ | Entpacken Sie niedrige Quadwords | xmm, xmm/mem128 |
SHUFPD | Shuffle packed double | xmm, xmm/mem128, imm8 |
PSHUFD | Mischen Sie gepackte Doppelwörter | xmm, xmm/mem128, imm8 |
PSHUFHW | Mischen Sie gepackte hohe Wörter | xmm, xmm/mem128, imm8 |
PSHUFLW | Mischen Sie gepackte niedrige Wörter | xmm, xmm/mem128, imm8 |
PSHUFB | Gepackte Bytes mischen (SSSE3) | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
MASKMOVDQU | Maskierter Speicher gepackter Ganzzahlen | xmm, xmm |
MOVNTDQ | Nichtzeitlicher Speicher gepackter Ganzzahlen | mem128, xmm |
MOVNTI | Nicht-temporäre Speicherung von Ganzzahlen (Doppelwort/Vierwort) | mem32/64, reg |
MOVNTPD | Nichtzeitlicher Speicher von gepacktem Doppel | mem128, xmm |
PAUSE | Spin-Loop-Hinweis (verbessert Leistung/Power) | keiner |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
ADDSUBPD | Gepacktes Doppel addieren/subtrahieren (alternierend) | xmm, xmm/mem128 |
ADDSUBPS | Gepackte Single addieren/subtrahieren (alternierend) | xmm, xmm/mem128 |
HADDPD | Horizontal add packed double | xmm, xmm/mem128 |
HADDPS | Horizontal add packed single | xmm, xmm/mem128 |
HSUBPD | Horizontal subtract packed double | xmm, xmm/mem128 |
HSUBPS | Horizontal subtract packed single | xmm, xmm/mem128 |
MOVDDUP | Verschieben und duplizieren (eines auf beide Hälften von XMM) | xmm, xmm/mem64 |
MOVSHDUP | Move and duplicate high singles | xmm, xmm/mem128 |
MOVSLDUP | Move and duplicate low singles | xmm, xmm/mem128 |
LDDQU | Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile) | xmm, mem128 |
FISTTP | FPU: Ganzzahl abschneiden und speichern (x87-Stapel platzen lassen) | mem16/32/64 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PSIGNB | Vorzeichen gepackter Bytes (negativ oder null) | xmm, xmm/mem128 |
PSIGNW | Zeichen gepackter Wörter | xmm, xmm/mem128 |
PSIGND | Zeichen für gepackte Doppelwörter | xmm, xmm/mem128 |
PSHUFB | Gepackte Shuffle-Bytes (Permutationstabelle) | xmm, xmm/mem128 |
PMULHRSW | Verpackt mehrfach hoch mit Rundung und Skala | xmm, xmm/mem128 |
PABSB | Gepackter absoluter Bytewert | xmm, xmm/mem128 |
PABSW | Verpackter absoluter Wortwert | xmm, xmm/mem128 |
PABSD | Gepackter Absolutwert von Doppelwörtern | xmm, xmm/mem128 |
PHADDSW | Gepackte horizontale Wörter mit Sättigung hinzufügen | xmm, xmm/mem128 |
PHSUBW | Gepackte horizontale Subtraktionswörter | xmm, xmm/mem128 |
PHSUBD | Gepackte horizontale Subtraktionsdoppelwörter | xmm, xmm/mem128 |
PHADDD | Gepackte horizontale Doppelwörter hinzufügen | xmm, xmm/mem128 |
PHADDW | Gepackte horizontale Wörter hinzufügen | xmm, xmm/mem128 |
PMADDUBSW | Multiply unsigned bytes, add adjacent, saturate | xmm, xmm/mem128 |
PALIGNR | Gepackt rechts ausrichten (verketten und verschieben) | xmm, xmm/mem128, imm8 |
PHSUBSW | Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung | xmm, xmm/mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PMULLD | Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit) | xmm, xmm/mem128 |
PMULDQ | Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern | xmm, xmm/mem128 |
PCMPEQQ | Vergleichen Sie gepackte Quadwords auf Gleichheit | xmm, xmm/mem128 |
PCMPGTQ | Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) | xmm, xmm/mem128 |
PMAXSB | Maximale Anzahl gepackter signierter Bytes | xmm, xmm/mem128 |
PMAXSW | Maximal gepackte vorzeichenbehaftete Wörter | xmm, xmm/mem128 |
PMAXSD | Maximal gepackte signierte Doppelwörter | xmm, xmm/mem128 |
PMAXUB | Maximal gepackte Bytes ohne Vorzeichen | xmm, xmm/mem128 |
PMAXUW | Maximal gepackte Wörter ohne Vorzeichen | xmm, xmm/mem128 |
PMAXUD | Maximal gepackte vorzeichenlose Doppelwörter | xmm, xmm/mem128 |
PMINSB | Minimum an gepackten signierten Bytes | xmm, xmm/mem128 |
PMINSW | Mindestens gepackte vorzeichenbehaftete Wörter | xmm, xmm/mem128 |
PMINSD | Mindestens gepackte signierte Doppelwörter | xmm, xmm/mem128 |
PMINUB | Minimum an gepackten vorzeichenlosen Bytes | xmm, xmm/mem128 |
PMINUW | Minimum an gepackten Wörtern ohne Vorzeichen | xmm, xmm/mem128 |
PMINUD | Mindestens gepackte, vorzeichenlose Doppelwörter | xmm, xmm/mem128 |
PINSRB | Byte einfügen (aus GPR oder Speicher) | xmm, reg/mem32, imm8 |
PINSRD | Doppelwort einfügen | xmm, reg/mem32, imm8 |
PINSRQ | Quadword einfügen | xmm, reg/mem64, imm8 |
PEXTRB | Byte in GPR oder Speicher extrahieren | reg/mem8, xmm, imm8 |
PEXTRD | Doppelwort extrahieren | reg/mem32, xmm, imm8 |
PEXTRQ | Quadword extrahieren | reg/mem64, xmm, imm8 |
INSERTPS | Gepackte Single einfügen (aus der Quelle zusammenführen) | xmm, xmm/mem32, imm8 |
EXTRACTPS | Extrahieren Sie gepackte Singles in GPR/Speicher | reg/mem32, xmm, imm8 |
PHMINPOSUW | Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition | xmm, xmm/mem128 |
PMOVSXBW | Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern | xmm, xmm/mem64 |
PMOVSXBD | Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter | xmm, xmm/mem32 |
PMOVSXBQ | Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords | xmm, xmm/mem16 |
PMOVSXWD | Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern | xmm, xmm/mem64 |
PMOVSXWQ | Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter | xmm, xmm/mem32 |
PMOVSXDQ | Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern | xmm, xmm/mem64 |
PMOVZXBW | Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern | xmm, xmm/mem64 |
PMOVZXBD | Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter | xmm, xmm/mem32 |
PMOVZXBQ | Verschieben Sie Bytes mit der Erweiterung Null in Quadwords | xmm, xmm/mem16 |
PMOVZXWD | Verschieben Sie Wörter ohne Erweiterung in Doppelwörter | xmm, xmm/mem64 |
PMOVZXWQ | Verschieben Sie Wörter ohne Erweiterung in Quadwörter | xmm, xmm/mem32 |
PMOVZXDQ | Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter | xmm, xmm/mem64 |
PBLENDVB | Variable Mischung gepackter Bytes (nach XMM0-Maske) | xmm, xmm/mem128 |
PBLENDW | Mischung aus gepackten Wörtern (Sofortmaske) | xmm, xmm/mem128, imm8 |
BLENDPD | Mischung verpackt doppelt (sofortige Maske) | xmm, xmm/mem128, imm8 |
BLENDPS | Blend verpackte Single (Sofortmaske) | xmm, xmm/mem128, imm8 |
BLENDVPD | Variable Mischung doppelt gepackt (durch XMM0-Maske) | xmm, xmm/mem128 |
BLENDVPS | Variable Mischung gepackt einzeln (nach XMM0-Maske) | xmm, xmm/mem128 |
DPPS | Skalarprodukt der gepackten Einzelmenge | xmm, xmm/mem128, imm8 |
DPPD | Skalarprodukt des gepackten Doppels | xmm, xmm/mem128, imm8 |
MPSADBW | Mehrfachsumme absoluter Differenzen (8-Bit) | xmm, xmm/mem128, imm8 |
ROUNDPS | Rund verpackte Single | xmm, xmm/mem128, imm8 |
ROUNDSS | Runde Skalar-Single | xmm, xmm/mem32, imm8 |
ROUNDPD | Rund verpackt, doppelt | xmm, xmm/mem128, imm8 |
ROUNDSD | Rundes Skalardoppel | xmm, xmm/mem64, imm8 |
PTEST | Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF) | xmm, xmm/mem128 |
PACKUSDW | Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) | xmm, xmm/mem128 |
MOVNTDQA | Nicht-temporäre Last (Streaming-Lasthinweis) | xmm, mem128 |
| Gedächtnisstütze | Beschreibung | Operanden |
|---|---|---|
PCMPGTQ | Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) | xmm, xmm/mem128 |
PCMPEQQ | Vergleichen Sie gepackte Quadwords auf Gleichheit | xmm, xmm/mem128 |
CRC32 | Akkumulieren Sie den CRC32C-Wert | reg32/64, reg/mem8/16/32/64 |
POPCNT | Bevölkerungszahl (Anzahl der 1-Bits) | reg, reg/mem |
PCMPESTRI | Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen | xmm, xmm/mem128, imm8 |
PCMPESTRM | Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske | xmm, xmm/mem128, imm8 |
PCMPISTRI | Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index | xmm, xmm/mem128, imm8 |
PCMPISTRM | Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske | xmm, xmm/mem128, imm8 |
Die String-Vergleichsanweisungen verwenden ein imm8-Byte zur Steuerung:
| Bits | Feld | Werte |
|---|---|---|
| 1:0 | Aggregiertes Ergebnis | 00=jeweils gleich, 01=gleich geordnet, 10=gleich mit Vorzeichen, 11=gleich ohne Vorzeichen |
| 3:2 | Polarität | 00=+, 01=negativ, 10=maskiert+, 11=maskiert- |
| 5:4 | Ausgabeauswahl | 00 = niedrigstwertiger Index, 01 = höchstwertiger Index, 10 = erstes gesetztes Bit |
| 6 | Intrsx | 0=int-Byte-Vergleich, 1=vorzeichenloser Byte-Vergleich |
Category: Assembly
PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.
Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.
Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.
Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.
Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.