L'esercizio dice:
UNA DIRETTIVA è L'USO DELLO STACKScrivere 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.
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

Rispondi quotando