Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

PCMPEQB și PCMPGTB în x86_64: Comparații Vectoriale SIMD pe Octeți în Assembly (x86_64)

Sintaxă
pcmpeqb xmm1, xmm2
pcmpgtb xmm1, xmm2

Instrucțiunea PCMPEQB (Packed Compare Equal Bytes) compară fiecare octet din XMM1 cu octetul corespondent din XMM2. Dacă octeții sunt egali, setează toți biții octetului rezultat la 0xFF (255); altfel, îi setează la 0x00.

; Căutarea caracterului '\n' (cod ASCII 10) într-un bloc de 16 caractere:
lea rsi, [rel buffer_text]
movdqu xmm0, [rsi]              ; Încarcă 16 octeți de text

; Creăm un vector XMM1 cu caracterul '\n' repetat în toți cei 16 octeți:
mov eax, 10
movd xmm1, eax
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0           ; XMM1 conține acum [10, 10, 10, ... 10]

pcmpeqb xmm0, xmm1              ; Octeții potriviți devin 0xFF, ceilalți 0x00

Accelerare parsere: Combinat cu PMOVMSKB, transformă căutarea de caractere într-un filtru masiv de 16 sau 32 octeți pe iterație.

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: PCMPEQB și PCMPGTB în x86_64: Comparații Vectoriale SIMD pe Octeți

Ai o nelămurire despre utilizarea comenzii PCMPEQB și PCMPGTB în x86_64: Comparații Vectoriale SIMD pe Octeți sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.