โ๏ธBUCLES
mov cl, 10 ; Mueve el 10 al cl
l1:
dec cl ; Decrementa en 1 el cl (tiene 10 decrementara 10 veces)
jnz l1 ; JNZ repitira l1 hasta que este en 0LOOP labelmov ECX, 10 ; Pasamos el 10 al ecx
l1
loop l1 ; Loop decrementa un valor sectiom .text
global _start
_start:
mov ecx, 10 ; Pasamos 10 al ecx para establecer las iteraciones
mov eax, '1' ; Paso 1 al eax para establecer el valor inicial en outup
l1:
mov [num], eax ; Guarda el valor actual en la variable num
mov eax, 4 ; LLamamos sys_write
mov ebx, 1 ; Llamamos decriptor en 1
push ecx ; Manda el ecx a la pila
mov ecx, num ; carga la variable a ecx
mov edx, 1 ; Establece la length que sera de un bit
int 0x80 ;
mov eax, [num] ; Carga lo almacenado en num al eax
sub eax, '0' ; Resta el valor del caracter 0 al eax. Lo pasa a ascii
inc eax ; Incrememta en 1 al eax
add eax, '0' ; Suma el valor del caracter 0
pop ecx ; Recupera el valor original de ecx desde la pila
loop l1 ; Decrememta el valor de ecx y salta a l1 si no da 0
mov eax, 1 ; Cerramos el programa
int 0x80
section .bss
num resb 1รltima actualizaciรณn