Escolar Documentos
Profissional Documentos
Cultura Documentos
No processador myMIPS existem 32 (trinta e dois) mul rd, rs, rt rd = rs * rt mul $s0, $t1, $t2 $ra = $pc+4
registradores de uso geral. Todos os registradores jal addr jar label
$pc = addr
div rd, rs, rt rd = rs / rt div $s0, $t1, $t2
precedem o símbolo $ nas instruções de linguagem
jr rs $pc = rs jr $t1
Instruções Condicionais Comandos de Repetição em Assembly
Linguagem C If/Else em Assembly
int main() { main: int main() { main: addi $sp, $sp, -20
Linguagem C If em Assembly int i; add $s1, $zero, $zero
int a = 20; addi $s0, $zero, 20
switch (a) { addi $t0, $zero, 20 int array[5]; addi $t0, $zero, 5
int main() { main: for (i=0; i < 5; i++) { for: slt $t1, $s1, $t0
int a = 0; int b = 5; add $s0, $zero, $zero case 20: fee = 2; bne $s0, $t0, default
break; addi $s1, $zero, 2 array[i] = i; beq $t1, $zero, exit
if (a == b) addi $s1 $zero, 5 } sll $t2, $s1, 2
a = b; bne $s0, $s1, next default: fee = 0; j exit
} default: return 0; add $t2, $t2, $sp
a = a + b; add $s0, $s1, $zero } sw $s1, 0($t2)
return 0; next: return 0; add $s1, $zero, $zero
} exit: addi $s1, $s1, 1
} add $s0, $s0, $s1 j for
exit: exit: