Macro o Procedura?

di il
1 risposte

Macro o Procedura?


.macro print_string(%str)
	.data 
myString: .asciiz %str
	.text
	li $v0, 4	             # STAMPA UNA STRINGA 
	la $t0 , myString
	add $a0,$0,$t0
	syscall
.end_macro	
come creo una funzione in Mips che faccia la stessa cosa?
Volevo sapere poi se all'interno di una procedura era possibile inserire delle syscall.

1 Risposte

  • Re: Macro o Procedura?

    Ciao
    certo che puoi usare le syscall all'interno della funzione.
    per creare la funzione segui queste regole:
    La chiamata si esegue con l’istruzione
    jal <label>, che imposta anche l’indirizzo di ritorno
    Si possono specificare fino a 4 parametri tramite i registri $4-$7
    Ulteriori parametri si specificano utilizzando lo stack
    La funzione inizia con:
    .ent <nome_funzione>
    <nome_funzione>:
    e termina con:
    .end <nome_funzione>
    Il valore di ritorno deve trovarsi nel registro
    $2(e$3 se necessario)
    Per il ritorno dalla funzione si esegue jr $31

    spero di esserti stato di aiuto
Devi accedere o registrarti per scrivere nel forum
1 risposte