En el problema 2 parte b, cuando hay que cargar la ROM, había hecho esta parte y al ver la solucion vi que hicieron otra cosa para obtener los bcd, creo que es lo mismo, pero me gustaría que me lo confirmara alguien más y si es por algun motivo que se hace de una manera u otra.
Mi solucion es:
for (i = 0; i++; i < 65536) {
bcd1 = i & (FF00) >> 8 ;
bcd2 = i & (00ff);
op1 = (bcd1 / 16) * 10 + bcd1 % 16;
op2 = (bcd2 / 16) * 10 + bcd2 % 16
if (op1 > op2)
rom[i] = op1 | 0x80;
else
rom[i] = op2;
}
La diferencia es en la parte donde se obtiene el bcd1 y el bcd2 mas que nada.
La otra duda que tengo es si cuando uno hace rom[i] = op1 el cual es un entero, la rom automaticamente lo transforma a binario para almacenarlo digamos, los ejercicios que he hecho me hacen pensar que si.
Gracias