SAR, ROL și ROR în x86_64: Deplasare Aritmetică și Rotații de Biți în Assembly (x86_64)

Sintaxă
sar dest, count
rol dest, count
ror dest, count
rcl dest, count
rcr dest, count

Spre deosebire de SHR (deplasare logică cu zerouri), SAR (Shift Arithmetic Right) păstrează bitul de semn al numărului, realizând împărțirea matematică corectă a numerelor negative cu puteri ale lui 2. Instrucțiunile ROL și ROR rotesc biții circular fără pierdere de date.

; Deplasare aritmetică (păstrează semnul negativ):
mov rax, -16                    ; Reprezentat în complement față de doi
sar rax, 2                      ; rax = -16 / 4 = -4 (bitul de semn rămâne 1)

; Rotație circulară la stânga (ROL):
mov al, 10000001b
rol al, 1                       ; al devine 00000011b (bitul 7 ajunge la poziția 0 și în Carry)

; Rotație circulară la dreapta (ROR):
ror al, 1                       ; al revine la 10000001b

Criptografie: Rotațiile ROL și ROR stau la baza algoritmilor moderni de hashing și cifrare precum SHA-256, MD5 și ChaCha20.

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: SAR, ROL și ROR în x86_64: Deplasare Aritmetică și Rotații de Biți

Ai o nelămurire despre utilizarea comenzii SAR, ROL și ROR în x86_64: Deplasare Aritmetică și Rotații de Biț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.