Introdução à Arquitetura de Computadores/Suporte à Funções: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Linha 32:
 
jr $ra
 
Como exemplo de como isso pode ser feito, vamos converter para Assembly o seguinte código em C:
 
int example(int a, int b, int c, int d){
int f;
f = (a + b) - (c + d)
return f;
}
 
O código no Assembly do MIPS ficaria assim:
 
example: # Label
add $t0, $a0, $a1 # Soma a + b
add $t1, $a2, $a3 # Soma c + d
sub $v0, $t0, $t1 # Subtrai os dois valores e coloca o resultado no registrador de retorno
jr $ra # Retorna o controle para a função principal