/// <summary>Imprime el estado de las interrupciones y del IME (Interrupt Master Enable)</summary> /// <param name="registros">Registros</param> /// <param name="memoria">Memoria</param> private static void imprimirInterrupciones(kernel.Registros registros, kernel.Memoria memoria) { WriteLine("IME = " + registros.flagIME); Write("VBLANK = " + ((memoria.leer(kernel.Constantes.INT_FLAG) & kernel.Constantes.INT_VBLANK) > 0)); Write("\tLCDC = " + ((memoria.leer(kernel.Constantes.INT_FLAG) & kernel.Constantes.INT_LCDC) > 0)); Write("\tTIMER = " + ((memoria.leer(kernel.Constantes.INT_FLAG) & kernel.Constantes.INT_TIMER) > 0)); Write("\tSERIALTX = " + ((memoria.leer(kernel.Constantes.INT_FLAG) & kernel.Constantes.INT_SERIALTX) > 0)); WriteLine("\tKEY = " + ((memoria.leer(kernel.Constantes.INT_FLAG) & kernel.Constantes.INT_KEY) > 0)); }
/// <summary>Imprime el valor de todos los registros</summary> /// <param name="registros">Registros</param> private static void imprimirRegistros(kernel.Registros registros) { WriteLine("PC = " + hexWord(registros.regPC) + "\tSP = " + hexWord(registros.regSP)); WriteLine("A = " + hexByte(registros.regA) + "\tB = " + hexByte(registros.regB) + "\tC = " + hexByte(registros.regC) + "\tD = " + hexByte(registros.regD) + "\tE = " + hexByte(registros.regE) + "\tH = " + hexByte(registros.regH) + "\tL = " + hexByte(registros.regL)); WriteLine("Z = " + registros.flagZ + "\tN = " + registros.flagN + "\tH = " + registros.flagH + "\tC = " + registros.flagC); }