Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/18/02 13:05
Read: times


 
#34658 - RE: linker error
Zoojar:
You are writing in assembly language and have full control on what the data allocations need to be for your program. If you have made statements in your source code that define data memory variables over 128 bytes (i.e. between address 128 and address 255) and then you have referenced those variables by direct address then the linker will not be able to plug in the direct addresses into the code image. The reason for this is that the data area is limited to 128 bytes by direct addressing. All RAM from 128 up to 255 needs to be accessed indirectly with instructions using the addressing mode such as MOV A,@R0 or MOV @R1,A.

The assember passes information to the linker as to which address space within the 8051/8052 that each symbol is defined within. Thus the linker can distinguish between address fields in the code that need to be fixed up that are attempts to access memory at or above address 128 in a direct address mode versus an address field that is a direct access to an SFR.

I hope this helps resolve your problem.
Michael Karas


List of 3 messages in thread
TopicAuthorDate
linker error            01/01/70 00:00      
RE: linker error            01/01/70 00:00      
RE: linker error            01/01/70 00:00      

Back to Subject List