L'esercizio dice:
Scrivere un programma che riceve in input un intero,passa quel valore ad una funzione che ne calcola il quadrato,e poi tornando il risultato alla funzione chiamante lo stampa.
UNA DIRETTIVA è L'USO DELLO STACK
premesso che l'esercizio si trova...volevo sapere se ho usato bene lo stack.ora posto il codice.
codice:
.data
msg1:.asciiz "inserisci il numero\n"
msg2:.asciiz "il quadrato vale:"
.text
.globl main
main:
addi $sp,$sp,-4
sw $ra,($sp)
la $a0,msg1
li $v0,4
syscall
li $v0,5
syscall
move $a0,$v0
jal quadrato
la $a0,msg2
li $v0,4
syscall
move $a0,$v1
li $v0,1
syscall
lw $ra,($sp)
addi $sp,$sp,4
li $v0,10
syscall
quadrato:
move $s0,$a0
addi $sp,$sp,-4
sw $s0,($sp)
mult $s0,$s0
mflo $v1
lw $s0,($sp)
addi $sp,$sp,8
jr $ra