ReadMap.bat 898 B

12345678910111213141516171819202122232425262728293031
  1. echo off
  2. SETLOCAL EnableDelayedExpansion
  3. set ECHOFLAG=0
  4. set TotalSize=0
  5. for /f "tokens=1-5" %%a in (%MapFilePath%\%PrjName%.map) do (
  6. if %%a==Image ( set ECHOFLAG=1)
  7. if %%a==Module ( set ECHOFLAG=2)
  8. if !ECHOFLAG! == 1 (
  9. if %%d neq 0 (
  10. set "SectorName=%%a "
  11. set "Base=%%b "
  12. set "SizeD=%%d "
  13. if "!SectorName:~0,1!" equ "." (
  14. if %%a equ .intvect (set /A TotalSize=!TotalSize!+%%d
  15. )else if %%b neq 00000000 set /A TotalSize=!TotalSize!+%%d)
  16. echo !SectorName:~0,30! !Base:~0,8! %%c !SizeD:~0,10! %%e
  17. )))
  18. set str=0123456789ABCDEF
  19. set a=!TotalSize!
  20. set b=16
  21. set h=
  22. :hex
  23. set /A m=!a!/!b!
  24. set /A n=!a!%%!b!
  25. set n=!str:~%n%,1!
  26. set h=!n!!h!
  27. if !m! geq !b! set a=!m! &goto hex
  28. set m=!str:~%m%,1!
  29. set TotalSizeHex=0x!m!!h!
  30. echo Total Size is %TotalSize% %TotalSizeHex%
  31. @REM pause