Welcome, guest | Sign In | My Account | Store | Cart
def findCloseAddress (ramMapFile, reqAddress):
	"""
	Find similar address in file
	"""
	from sys import maxint as MAXINT
	
	fd = open (ramMapFile, 'r')
	
	foundLine    = ""
	smallestDiff = MAXINT
	
	for line in fd:
		if "SYMBOL TABLE:" in line : 
			break

	for line in fd:
		linePart = line.split()
		if len(linePart) > 0:
			currAddress = int(linePart[0], 16)
			diff        = reqAddress - currAddress
			if diff < smallestDiff and diff >= 0:			
				smallestDiff = diff
				foundLine = ''.join(line)

	print "\nRequired Address : 0x%x" % reqAddress
	print "\nClosest Line :\n%s"	  % foundLine
	print "\nDifference : 0x%x (%d instructions)"  % (smallestDiff,  smallestDiff / 4)	

	
if __name__ == "__main__":
		mapFile = r"C:\default\ram.map" 		

		reqAddress = 0xffffffff803130cc 
		
		findCloseAddress (mapFile, reqAddress)

		
		
		
		

History