Instrucțiunea LOOP decrementează automat contorul RCX (sau ECX în 32 de biți) cu 1; dacă valoarea rezultată este diferită de zero, execută un salt scurt la eticheta specificată.
section .text
global suma_primele_n
suma_primele_n:
mov rcx, 10 ; Numărul de iterații dorite
xor rax, rax ; Acumulatorul pentru sumă = 0
bucla_suma:
add rax, rcx ; Adaugă 10, 9, 8, ..., 1
loop bucla_suma ; Decrementează RCX; sare dacă RCX != 0
; RAX conține acum suma 55
ret
Optimizare compilatoare: Deși LOOP este compactă (doar 2 octeți), pe procesoarele moderne instrucțiunile dec rcx urmate de jnz bucla se decodează și se execută mai rapid pe conductele de execuție superscalare.
Întrebări & Exemple de Cod:
Instrucțiunea LOOP în x86_64: Bucle Hardware Bazate pe RCXAi o nelămurire despre utilizarea comenzii
Instrucțiunea LOOP în x86_64: Bucle Hardware Bazate pe RCXsau 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.