Unidad 4 Proyecto - JoseCorreaMorales/lenguajes-de-interfaz GitHub Wiki
section .data
Msg1 db "Introduce un numero ", 10
Msg1Len equ $-Msg1
resultado db '0'
section .text
global _start
_start:
xor cl, cl ; Inicializar contador a cero
mov byte al, 5 ; Número a calcular el factorial
mov byte bl, 1 ; Variable para almacenar el resultado
for_loop:
cmp cl, al ; Comparar contador con el número
jg exit_loop ; Saltar si el contador es mayor que el número
mov ah, cl ; Mover el valor del contador al registro AH
mul bl ; Multiplicar resultado por el valor en AH
mov bl, al ; Guardar el resultado de la multiplicación
inc cl ; Incrementar el contador
jmp for_loop ; Volver al inicio del bucle
exit_loop:
mov eax, bl ; Extender el byte del resultado a una palabra
add eax, 48 ; Convertir el valor numérico a su representación ASCII
mov [resultado], al ; Guardar el resultado en la variable result
mov eax, 4
mov ebx, 1
mov edx, resultado
mov edx, 1
int 0x80
mov eax, 1
xor ebx, ebx
int 0x80