dear friends i am a student from india, i am not able to relocate my program within 2k(0x07ff) of 89c2051 will you help me regarding any setting in compiler that could relocate my code within 0 to 0x7ff
Note that the 89c2051 is an 8051 derivative; not an 80251. If you really are using the C251 toolset, you need to switch to C51. http://www.keil.com/c51/
If you are using the free evaluation version of C51, you need to read the limitations of that version - that will tell you why you can't use the free evaluation version of C51 to program an 89c2051!
thanks for nice suggestion but i am trying out keil C51 for simple projects to improve my understanding, will you please guide me whether i can write & download my program in assembly in 89c2051 microcontroller
OK - one more time, with emphasis:
"If you are using the free evaluation version of C51, you need to read the limitations of that version - that will tell you why you can't use the free evaluation version of C51 to program an 89c2051!"
If you must have free tools, you will need to look elsewhere; there's a list here: www.8052.com/links.phtml
If you must have free tools, you will need to look elsewhere; or use chip that contain the code area (4k -up) that the free version of Keil allow you to use.
Erik
Take a look to:
http://www.keil.com/support/docs/3235.htm
Jon
http://www.keil.com/support/docs/3235.htm tells you how to control the use of AJMP/LJMP and ACALL/LCALL; it doesn't tell you how to re-locate code to a specific address within the CODE space.
It does, however, mention the reason why you can't use the free evaluation version to program the 80c2051...