private void AddMemoryReference(List <MemoryReference> memRefs, Instruction instruction, uint target, bool isRead) { //Debug.WriteLine( string.Format( "adding memory reference at {0:X8} ({1}) to {2:X8} for {3}", instruction.Address, instruction, target, isRead ? "read" : "write" ) ); foreach (MemoryReference memRef in memRefs) { if (memRef.Address == target) { memRef.References.Add(instruction); if (isRead == true) { memRef.Reads++; } else { memRef.Writes++; } instruction.Reference = memRef; return; } } MemoryReference newMemRef = new MemoryReference(); newMemRef.Address = target; newMemRef.References.Add(instruction); if (isRead == true) { newMemRef.Reads++; } else { newMemRef.Writes++; } instruction.Reference = newMemRef; memRefs.Add(newMemRef); }
private void AddMemoryReference( List<MemoryReference> memRefs, Instruction instruction, uint target, bool isRead ) { //Debug.WriteLine( string.Format( "adding memory reference at {0:X8} ({1}) to {2:X8} for {3}", instruction.Address, instruction, target, isRead ? "read" : "write" ) ); foreach( MemoryReference memRef in memRefs ) { if( memRef.Address == target ) { memRef.References.Add( instruction ); if( isRead == true ) memRef.Reads++; else memRef.Writes++; instruction.Reference = memRef; return; } } MemoryReference newMemRef = new MemoryReference(); newMemRef.Address = target; newMemRef.References.Add( instruction ); if( isRead == true ) newMemRef.Reads++; else newMemRef.Writes++; instruction.Reference = newMemRef; memRefs.Add( newMemRef ); }