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

CDQE, CDQ și CQO în x86_64: Extinderea Acumulatorului pentru Împărțire în Assembly (x86_64)

Sintaxă
cdqe
cwd
cdq
cqo

Aceste instrucțiuni extind bitul de semn al acumulatorului într-un registru pereche pentru a pregăti operațiile de împărțire cu semn (IDIV), fără a necesita un operand explicit.

; 1. cdqe: Extinde semnul din EAX (32 biți) în RAX (64 biți)
mov eax, -50
cdqe                            ; RAX este acum 0xFFFFFFFFFFFFFFCE (-50 pe 64 biți)

; 2. cqo: Extinde semnul din RAX (64 biți) în RDX:RAX (128 biți)
; Necesar înainte de executarea unei împărțiri 'idiv rbx' pe 64 de biți:
mov rax, -1000
cqo                             ; RDX se populează cu 0xFFFFFFFFFFFFFFFF (semnul negativ)
mov rbx, 5
idiv rbx                        ; RAX = -200, RDX = restul (0)

Erori clasice: Dacă se omite apelul CQO (sau XOR RDX, RDX pentru numere pozitive) înainte de IDIV, procesorul va arunca o excepție fatală de tip Floating Point Exception (#DE – Divide Error).

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: CDQE, CDQ și CQO în x86_64: Extinderea Acumulatorului pentru Împărțire

Ai o nelămurire despre utilizarea comenzii CDQE, CDQ și CQO în x86_64: Extinderea Acumulatorului pentru Împărțire 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.