Calcolatori Elettronici I

  

Università degli Studi di Cassino

Corso di Laurea in
Ingegneria delle Telecomunicazioni

   prof. Francesco Tortorella  (mail)

     Anno Accademico 2007/2008

     secondo quadrimestre

 


 

 

Esercitazione n. 2 - 1/2/2008

 

Scrivere un programma in Assembly MIPS che conti il  numero di bit pari a 1 presenti in una word definita come costante nel segmento .data

Si consideri a titolo di riferimento il seguente  codice C:

 

 unsigned int a=0x2afe3284;

 

void main()

{

   unsigned int mask=1;

   int count=0;

   unsigned int res;


   while (a!=0)

  {
     res = a & mask;
     if (res!=0)
       count++;

     a = a>>1;
  }

}

 
 

   

Nota 1

Il costrutto 

while (cond)
{
    blocco
}

si può rendere in Assembly combinando salti condizionati e incondizionati:

ciclo:        if(!cond) goto endciclo

              blocco

              goto ciclo

endciclo:    

Nota 2

Una volta realizzato il codice in Assembly secondo quanto specificato dal codice C sopra, verificare se e come è possibile realizzare il programma in modo più efficiente.

                  

   

 

 


Home page del corso

© 2008 Francesco Tortorella.
Ultimo aggiornamento: 31/1/2008.