I am using at89s52 for my project. i have seen in the datasheet that at89s52 has only 8kb flash memory. When i compiled my c code in SDCC compiler, it is converted into 17kb hex file without any error and i downloaded code in at89s52 ic, it is working well. I am surprised, as it has only 8kb flash and how it is providing space to 17kb code. I also downloaded 24kb hex file and its getting downloaded but doesn't run properly.
So, can any one tell me conceptual reason behind this..
thank you in advance
Open the hex file in a text editor and see why it will fit in your 8 kB.