Traducir C a MIPS con un operador ternario.

En mi clase estamos traduciendo C a MIPS.

Se nos pide que traduzcamos este fragmento: A = A ? B : C[0] A = A ? B : C[0]

Creo que entiendo al operador ternario, pero ¿qué se quiere aquí? ¿No debería A ser un booleano? Entonces, ¿estaría representado en MIPS con un valor de 1 o 0?

Gracias

Podría ser útil traducir primero la expresión ternaria a pseudo código, por ejemplo:

 if A != 0 // if A is non-zero, ie TRUE A = B else // otherwise A is zero, ie FALSE A = C[0]