.data
myVar: .word 10        # Reserve a word in memory and initialize it to 10

.text
main:
    # Load the value from memory (myVar) into register $t0
    lw $t0, myVar       # $t0 = 10

    # Modify the value in $t0
    addi $t0, $t0, 5    # $t0 = $t0 + 5 = 15

    # Store the new value back into memory
    sw $t0, myVar       # myVar = 15

    # To demonstrate it's stored correctly, load it into another register
    lw $t1, myVar       # $t1 = 15

    # End of program (optional depending on environment)
    li $v0, 10          # Exit syscall
    syscall
---------------------------------------------------------------------
.data
array: .space 20         # Reserve space for 5 integers (5 * 4 bytes = 20 bytes)

.text
main:
    li $t0, 0            # i = 0 (loop index)
    li $t1, 1            # value = 1 (initial value to store)
    la $t2, array        # load address of the array into $t2

fill_loop:
    bge $t0, 5, end      # if i >= 5, exit loop

    sw $t1, 0($t2)       # store value into array[i]
    
    addi $t2, $t2, 4     # move to the next array element (next word)
    addi $t1, $t1, 1     # value++
    addi $t0, $t0, 1     # i++
    j fill_loop

end:
    li $v0, 10           # Exit syscall
    syscall
----------------------------------------------------------------------------
find min
.data
array:      .word 4, 9, 6, 11, 2, 10  
# orizoume to mege8os tou pinaka
array_size: .word 6      
# orizoume to minima pou 8a emfanistei stin consola
# message:        .asciiz "The smallest element in the array is: "

.text
.globl main

main:
    # fortonoume tin dieuthinsi tou pinaka ston $t0
    la   $t0, array

    # fortonoume to mege8os tou pinaka ston $t1
    lw   $t1, array_size

    # fortonoume to prwto stoixeio tou pinaka ston $t2(8a xrisimopoiisoume auto to stoixeio gia na sugkrinoume ta ypoloipa)
    lw   $t2, 0($t0)

    # arxikopoioume to metrhth sto 1
    li   $t3, 1

loop:
    # An o metrhths einai isos me to mege8os tou pinaka tote termatizoume to loop
    beq  $t3, $t1, end_loop

    # Fortonoume to stoixeio tou pinaka ston $t4
    lw   $t4, 0($t0)

    # An to stoixeio tou pinaka einai mikrotero tou $t2 tote pame na to enimerosoume
    blt  $t4, $t2, min

    # Metaferoume sto epomeno stoixeio tou pinaka
    addi $t0, $t0, 4
    addi $t3, $t3, 1
    j    loop

min:
    # An to stoixeio tou pinaka einai mikrotero tou $t2 tote to apo8ikeuoume sto $t2
    move $t2, $t4

    # Metaferoume sto epomeno stoixeio tou pinaka
    addi $t0, $t0, 4
    addi $t3, $t3, 1
    j    loop

end_loop:
    # Emfanizoume to minima
    # la   $a0, message
    # li   $v0, 4
    # syscall

    # Ektiponoume to elaxisto stoixeio tou pinaka
    move $a0, $t2
    li   $v0, 1
    syscall

    # Termatizoume to programma
    li   $v0, 10
    syscall
----------------------------------------------------------------------------------


