Esercizio A
Scrivere un programma in Assembly MIPS
che calcoli il Massimo Comune Denominatore tra due numeri interi letti
da input e salvati in due spazi opportunamente allocati nel segmento
.data.
Nello stesso modo si salvi il valore calcolato prima di stamparlo in
output.
Si consideri a titolo di
riferimento il
seguente codice C, che implementa l'algoritmo di Euclide:
unsigned
int a,b,mcd;
void main()
{
unsigned int x,y,appo,r;
cout << "Primo valore: ";
cin >> a;
cout << "Secondo valore: ";
cin >> b;
if (a>=b)
{
x = a;
y = b;
}
else
{
x = b;
y = a;
}
r = x%y;
while (r!=0)
{
x = y;
y = r;
r = x%y;
}
mcd = y;
cout << "Il MCD tra " << a << " e " <<
b;
cout << "e' " << mcd << "\n";
}
|