public void Reset(ILGenerator ilgen, int startAddress) { ILGen = ilgen; StartAddress = startAddress; EndAddress = startAddress; InstructionCount = 0; WriteBranchTable = false; BranchTable.Clear(); UseCore = false; UseMemory = false; UseSyscalls = false; UpdatePc = false; for (int n = 0; n < ReadRegisters.Length; n++) { ReadRegisters[n] = false; WriteRegisters[n] = false; Registers[n] = -1; } BranchLabels.Clear(); LastBranchTarget = 0; BranchTarget = null; RegisterCount = 0; TempBase = 0; }
public static void DefineBranchTarget( GenerationContext context, int target ) { if( context.BranchLabels.ContainsKey( target ) == false ) { //Debug.WriteLine( string.Format( "Defining branch target {0:X8}", target ) ); LabelMarker lm = new LabelMarker( target ); context.BranchLabels.Add( target, lm ); } if( context.LastBranchTarget < target ) context.LastBranchTarget = target; }
public void Reset( ILGenerator ilgen, int startAddress ) { ILGen = ilgen; StartAddress = startAddress; EndAddress = startAddress; InstructionCount = 0; WriteBranchTable = false; BranchTable.Clear(); UseCore = false; UseMemory = false; UseSyscalls = false; UpdatePc = false; for( int n = 0; n < ReadRegisters.Length; n++ ) { ReadRegisters[ n ] = false; WriteRegisters[ n ] = false; Registers[ n ] = -1; } BranchLabels.Clear(); LastBranchTarget = 0; BranchTarget = null; RegisterCount = 0; TempBase = 0; }