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
|