Duda en pasar de C a MIPS

hola, lo que pasa es que estoy aprendiendo a pasar códigos de C a ensamblador MIPS dado que el exámen que nos hacen es así, estudiando encontré este código pero no he sido capaz con la parte que esta en verde, será posible que me puedan ayudar?


Código:
int reduceArray (char *A, char N, char start)
{
   int count = 0,j;
   for (j = start; j < N-1; j ++) {
       A[j] = A[j+1];
       count += A[j];
   }
   A[N-1] = 0;
   return count;
}
int main(void)
{
    char N = 8, i = 0, j = 0, k = 0, all0 = 0;
    char A[] = {0,0,-4,7,0,-2,3,9};
    for (i = 0; i < N; i++) {
        if (A[i] == 0) {
           all0 = reduceArray (A,N,i);
           if (A[i] == 0)
             i--;
           if (all0 == 0)
             break;
        }
    }
}
 
Última edición por un moderador:
No salio en color verde, pero es esta parte
int reduceArray (char *A, char N, char start)
{
int count = 0,j;
for (j = start; j < N-1; j ++) {
A[j] = A[j+1];
count += A[j];
}
A[N-1] = 0;
return count;
}
 
Elimina primer elemento del array y recorre los demas elementos una posicion hacia abajo, despues regresa el numero de elementos que movio...
 
Atrás
Arriba