Beruflich Dokumente
Kultur Dokumente
Programacin en Lenguaje
Assembly de MIPS
Basado en el Capitulo 2 del texto: Computer Organization and Design, David Patterson y John Hennessy
Semestre Otoo 2017 ICE1012 Sistemas Digitales II
Semestre Otoo 2017 ICE1012 Sistemas Digitales II
Ejemplo 1: Operandos de Memoria
Cdigo C:
g = h + A[8];
g en $s1, h en $s2, direccin base de A en $s3
Cdigo MIPS compilado:
ndice 8 requiere offset de 32
4 bytes por palabra
Cdigo :
A[12] = h + A[8];
h en $s2, direccin base de A en $s3
Cdigo MIPS compilado :
ndice 8 requiere offset de 32
ndice 12 requiere offset de 48
lw $t0, 32($s3) # load word
add $t0, $s2, $t0
sw $t0, 48($s3) # store word
Cdigo C (simple):
String terminado en Null
void strcpy (char x[], char y[])
{ int i;
i = 0;
while ((x[i]=y[i])!='\0')
i += 1;
}
Direcciones de x, y en $a0, $a1
i en $s0