I am using compiler 7.06 to compile my project. From M51 file, my xdata is 0x3E5 (997) XDATA 03E3H 0001H UNIT ?XD?TVAV XDATA 03E4H 0001H UNIT ?XD?CCUTIL 03E5H 831BH *** GAP *** while end of my link file shown my xdata is 0x3F8(1016) Program Size: data=48.6 xdata=1016 code=49087 LINK/LOCATE RUN COMPLETE. 19 WARNING(S), 0 ERROR(S) What problem can cause to this situation?
So you've just answered your own question, haven't you? Just in case you don't quite see it yet: you have the 0x3e5 bytes you already knew about, and then another 19 bytes of XDATA which you spent in 1-byte ABSOLUTE segments. That makes for a total of 0x3e5 + 0x13 = 0x3f8 bytes, exactly the number the linker reported to you in the final line. No mismatch, thus.
Hahaha, my mind must be blocked. Thank you very much for your time, I appreciate it very much.