Foros del Web » Programación para mayores de 30 ;) » C/C++ »

tarea02 arqcomp udec 01-2008

Estas en el tema de tarea02 arqcomp udec 01-2008 en el foro de C/C++ en Foros del Web. Hola a todos: Si más rodeos les pido ayuda en lo siguiente. Arquitectura de Computadores 543.426 Tarea No. 2 Resuelva los siguientes problemas utilizando la ...
  #1 (permalink)  
Antiguo 14/04/2008, 16:10
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
tarea02 arqcomp udec 01-2008

Hola a todos:

Si más rodeos les pido ayuda en lo siguiente.

Arquitectura de Computadores
543.426
Tarea No. 2
Resuelva los siguientes problemas utilizando la convención estándar de uso de
registros MIPS (temporales, argumentos, valores de retorno, etc.).
1. (10 puntos) Escriba un programa en assembly MIPS que solicite el ingreso de un
string por pantalla consistente una lista de dígitos del 0 al 9 separados por
espacios (máximo 10 números), e imprima por pantalla la suma de los dígitos.
Utilice el simulador PCSpim. Utilice el siguiente código C como referencia:
int str2vect(char *str, int v[])
{
int cnt = 0;
while ((*str !=0) && (cnt < 10)) {
if (*str != ' ') {
v[cnt] = (*str) – 0x30;
cnt++
}
str++;
}
return cnt;
}
int sumaVect(int v[], int n)
{
int i;
int suma = 0;
for (i = 0; i < n; i++) {
suma = suma + v[i];
}
return suma;
}
void main(void)
{
int vect[10];
char string[50];
int largo, suma;
printf("Ingrese lista de numeros: ");
scanf ("%s", string);
largo = str2vect(string, vect);
suma = sumaVect(vect, largo);
printf ("Suma = %d\n", suma);
}
2. (10 puntos) Escriba un programa en assembly MIPS que implemente el siguiente
código C que calcula recursivamente el valor máximo de un vector. Asuma que N
(el tamaño del vector) es siempre una potencia de 2:
#define N 8
int vect[N] = {1, 7, 3, 2, 4, 6, 10, 8};
int max(int *v, int n)
{
int max1, max2;
if (n < 2)
return v[0];
max1 = max(v, n/2);
max2 = max(v + n/2, n/2);
if (max1 > max2)
return max1;
return max2;
}
void main(void)
{
int maxVec;
maxVec = max(vect, N);
printf(“El valor maximo es %d\n”, maxVec);
}
El programa debe funcionar para cualquier valor de "N" y vector "vect", siempre
y cuando N sea una potencia de 2.
Nota: Aparte de entregar el informe, se debe enviar un archivo de texto con el código
assembly de las funciones a la dirección [email protected]. El código debe incluirse
en el informe y en el email.
Entregar un informe escrito (en computador) con el código debidamente comentado y las
explicaciones correspondientes. Plazo máximo de entrega: Viernes 18 de Abril hasta las
18 horas en Secretaría de Electrónica. No se corregirán tareas atrasadas.
Se debe trabajar en grupos de 2 personas. Grupos de 1 persona son permitidos pero no
recomendados. No se permitirán grupos de más de 2 personas. Se les recuerda que
cualquier copia (entre tareas o de fuentes externas) resultarán en calificación 1 para todas
las tareas involucradas.

Desde ya gracias...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:33.