Da linguaggio C ad assembler MIPS, soluzione esempio
Salve ragazzi, sto facendo alcune esercitazioni per trasformare un programma in C in assembler MIPS. Ho quest'esempio alla mano e vorrei che qualcuno di voi mi riuscisse a fare una conversione in MIPS di questo programma, commentando ogni istruzione così che io capisca come è stato svolto l'esercizio, grazie.
Attenzione: utilizzate questa fissata assegnazione delle variabili ai registri
Il programma scritto in C da tradurre in MIPS è il seguente:
---------------------
j = test - j;
while (0 B[h] = B[h+1] + A[h];
h = h+1; }
h = 0;
if (test != j)
A[3] = B[2] + A[0];
else
A[0] = B[2] + 5;
j = test;
----------------------
Un grazie infinito...
Attenzione: utilizzate questa fissata assegnazione delle variabili ai registri
h = $t0 j = $t1 test = $t2 A [] = reg. base $s1 B [] = reg. base $s2
Il programma scritto in C da tradurre in MIPS è il seguente:
---------------------
j = test - j;
while (0 B[h] = B[h+1] + A[h];
h = h+1; }
h = 0;
if (test != j)
A[3] = B[2] + A[0];
else
A[0] = B[2] + 5;
j = test;
----------------------
Un grazie infinito...