i need to change the starting location of my pgm frm 00h to say,400h..i followed the steps as per mentioned in.... http://www.keil.com/support/docs/189.htm i can see the changed starting location in the memory map file...but when i try to implemnt it on hardware,i get no output probably bcos da execution begins at 00h only...pls help...
Why "probably"?
What tests/investigations/debugging have you done to make certain whether that is or is not the cause?
Only you have your code - nobody else can debug it for you!
Remember the 8051 hardware will always start execution at CODE address zero. This is hard-wired into the physical construction of the chip - there is nothing you can do to change this!
Therefore, as Per says, you must have something at CODE address zero that will cause the CPU to jump to the start of your code.
Have you done that?
See my previous post - how do you expect the processor to find that program at that location...?
wel i thot since main() has changed to a new location,execution of the pgm wud also henceforth begin at the new location...nw wat do i do so that the processor will jump to a the start of my code?
"wel i thot since main() has changed to a new location"
Slow down. Again: Why do you need to move main?
Again, how did you think that the processor - ie, the silicon chip - would know that?
Remember, you are writing for simple embedded microcontroller - you don't have an operating system to do this stuff for you!
8051 Basics: www.8052.com/.../120112 http://www.8052.com/tutorial
Books: http://www.keil.com/books/
"nw wat do i do so that the processor will jump to a the start of my code?"
Please try to take care to write complete words.
If you need to ask that question, then why are you messing about with changing the start address of your code anyhow??
Exactly:
why are you messing about with changing the start address of your code anyhow??
View all questions in Keil forum