We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Consider the following listing :
C51 COMPILER V8.06 000A F500 R MOV someVariable ,A 0092 120000 E LCALL ?C?ULCMP 0028 1100 E ACALL _printf
1. What does the 'R' mean ?
2. What does the 'E' mean ?
3. Are there any more such "letters" ? If so, where can I read more about them ?
Warm regards
Vimal
'R' = Relocateable expression 'E' = Extneral Symbol.
Thank you for pointing out the brocken link.
I understand E means External Symbol since it comes from a library, but what is meant by an instruction being relocatable and non relocatable ?
Can someone care to highlight a few imporant differences ?
Well he did say "expression" not "instruction", so wouldn't you say that it is someVariable that is likely to be relocatable?
I don't get the meaning of a relocatable expression. I would be happy if someone cared to explain it to me
"Relocatable" in the compiler listing means that the location is not fixed by the compiler - it is left to the Linker/Locator to decide the location.
(I don't think the Keil 8051 tools support run-time relocation)
Of course you could have searched for yourself, but I've done it for you:
http://www.keil.com/support/man/docs/a51/a51_wp_relocatable.htm
Thanks Dan for letting me be lazy !
It did not occur to me to search... I apologize.