I have C code that includes more than one file. it was compiled by keil c51 ver 3.2 (1990) and works. when i compile it with new keil microvision compiler the program doesn't work (but compiler says that there is no errors and creates hex file).
please help me to understand what should i do in order to get the program working.
alex
"doesn't work" is entirely useless in determining what might be wrong!
You are going to have to put in the effort to at least find out where it stops working. Once you known what is not working, then you can start look at why it's stopped working!
Check back through the realease notes to see what's changed...
The most obvious thing to check first would be timing: does any of your code rely on the execution timing - whether implicitly or explicitly?
"code that never worked, just happened not to fail."
That is, code that was fundamentally flawed, and only appeared to work by pure luck - your luck ended with the change of compiler!
eg, you had not properly waited for some necessary condition but, luckily, the code happened to be so slow that this didn't matter. Now, with the shiny new improved high-efficiency super-optimising compiler, your code is faster - and so it stops "working".