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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/16/10 17:48
Read: times


 
#175939 - asxxxx tools
Responding to: ???'s previous message
Hi Erik,

Some background on the asxxxx tools which contains the 8051 assembler and linker used by sdcc. It is the only free (as in beer) and open source assembler I know that supports a separate linker with libraries. After sdcc branched it the author changed the license and it was no longer allowed to change it. The sdcc developers have been very reluctant to change anything to the package from when it was originally copied. Only recently has it also turned free (as in usage) since it moved to a GPL license. This explains why neither the assembler nor its documentation changed much.

Now back on topic. When you place variables in C in xdata with the __at keyword the behaviour depends on whether you added initializers or not. Originally sdcc only created equates (=) for them and did not allocate space. Some years back I changed that so it does allocate when you use initializers. This prevents other variables being placed in the same region by the linker. (For this I had to change the behaviour of the linker btw.) If you look at the generated .asm I think you'll see the difference and I hope you get the idea.

Maarten

List of 23 messages in thread
TopicAuthorDate
SDCC assembler Questions            01/01/70 00:00      
   :: or .globl            01/01/70 00:00      
   do you mean .globl directive?l            01/01/70 00:00      
   so far, so good now how specify xdata            01/01/70 00:00      
      what are you trying to do            01/01/70 00:00      
   is there a current SDCC documentation?            01/01/70 00:00      
      at least UserGuide from Googel :-)            01/01/70 00:00      
         unsigned char _far _at(0x700) buf[0x100]            01/01/70 00:00      
         without a word about the assembler            01/01/70 00:00      
      documentation            01/01/70 00:00      
         sample in pseudocode            01/01/70 00:00      
            okay and how do you want to use it?            01/01/70 00:00      
               a simple example            01/01/70 00:00      
                  thanks for the examples and ...            01/01/70 00:00      
      current SDCC documentation            01/01/70 00:00      
         evidently XDATA assembler is not 'current'            01/01/70 00:00      
            my installation has asxxhtm.html in doc/as            01/01/70 00:00      
               well, you get what you pay for and            01/01/70 00:00      
                  SDCC is free after all            01/01/70 00:00      
                     They frequently claim it in the negative            01/01/70 00:00      
                     from my first post "            01/01/70 00:00      
                        asxxxx tools            01/01/70 00:00      
                           as it turned out ...            01/01/70 00:00      

Back to Subject List