# main.asm
.data
prompt1: .asciiz "Introduza um numero\n"
result:  .asciiz "O fatorial do número inserido é: "

.text
.globl main

main:
    la $a0, prompt1       # Load address of prompt1
    li $v0, 4             # syscall for print_str
    syscall

    li $v0, 5             # syscall for read_int
    syscall
    move $a0, $v0         # Move read value to $a0 (n)

    jal factorial         # Call factorial function
    move $t0, $v0         # Store result in $t0 (f)

    la $a0, result        # Load address of result
    li $v0, 4             # syscall for print_str
    syscall

    move $a0, $t0         # Load factorial result
    li $v0, 1             # syscall for print_int
    syscall

    li $v0, 10            # syscall for exit
    syscall
