.data
prompt1:    .asciiz "Introduza um numero: "
result:     .asciiz "\n O numero em binário é: "

.text
.globl main

main:
    # Print prompt1
    la $a0, prompt1
    li $v0, 4
    syscall

    # Read integer input
    li $v0, 5
    syscall
    move $t0, $v0  # Store input in $t0

    # Print result string
    la $a0, result
    li $v0, 4
    syscall

    # Initialize loop counter n to 0
    li $t1, 0

loop:
    bge $t1, 32, end_loop  # If n >= 32, exit loop

    # Extract and print the highest bit
    andi $t2, $t0, 0x80000000
    srl $t2, $t2, 31
    move $a0, $t2
    li $v0, 1  # Assuming print_int is similar to print_int10
    syscall

    # Shift num left by 1 bit
    sll $t0, $t0, 1

    addi $t1, $t1, 1  # n++

    j loop

end_loop:
    # Exit program
    li $v0, 10
    syscall
