Operații Logice și Manipulare de Biți: AND, OR, XOR, NOT, SHL și SHR în Assembly (x86_64)

Ghid complet pentru operații pe biți în Assembly: măști de biți cu AND/OR, deplasări logice/aritmetice (SHL, SHR, SAR) și idiomul clasic xor eax, eax.

Sintaxă
xor eax, eax | and rax, rbx | shl rax, 3

Operațiile pe biți sunt executate într-un singur ciclu de ceas și sunt fundamentale pentru criptografie, măști de permisiuni și calcule binare rapide.

Tehnici esențiale pe biți în x86_64
; 1. Resetarea unui registru la 0 (Zeroing Idiom):
; În loc de 'mov rax, 0' (care ocupă 7 octeți de cod mașină), compilatoarele emit:
xor eax, eax           ; Ocupă doar 2 octeți și resetează întregul RAX la 0!

; 2. Aplicarea unei măști de biți (AND):
and rax, 0xFF          ; Păstrează doar ultimii 8 biți (izolează un octet)

; 3. Activarea unui bit specific (OR):
or rbx, 0x04           ; Setează bitul 2 pe 1

; 4. Deplasare la stânga (SHL) = Înmulțire rapidă cu puteri ale lui 2:
shl rax, 3             ; RAX = RAX * 8 (2^3)

; 5. Deplasare la dreapta (SHR = logic fără semn, SAR = aritmetic cu păstrare de semn):
shr rbx, 1             ; RBX = RBX / 2 (deplasare logică fără semn)
sar rcx, 2             ; RCX = RCX / 4 (păstrează bitul de semn negativ!)
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Operații Logice și Manipulare de Biți: AND, OR, XOR, NOT, SHL și SHR

Ai o nelămurire despre utilizarea comenzii Operații Logice și Manipulare de Biți: AND, OR, XOR, NOT, SHL și SHR 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.