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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/18/07 14:01
Read: times


 
#139488 - you did'nt hear ?
Responding to: ???'s previous message
Usually addresses for variables are only known after the linking stage
you did'nt hear? 'usually' died yesterday.
should compile to something like:
and so did 'should'

I always define all XDATA in an asm module and as externs in a .h file.

two advantages;
1) you can locate fast stuff in the internal XRAM and slower stuff in the external one (in my case - and I guess many others - the extenal RAM is slower than the internal 8k)
b) if a buffer is at a boundary, you do not need to count or calculate to see byte 47 in the emulator.

I doubt any compiler maker would even consider taking adavantage of an _at_ (it is so rarely used) for a purpose like this. So, if it has to be tight (some does - but not as much as many think) asm rules.

a general comment on _at_:
_at_ is fine for locating MMIO (if you still use it) but for general variables you are likely to generate holes and overlaps (the linker - hopefully - will tell you about overlap, but I think not about 'holes').

Erik

List of 43 messages in thread
TopicAuthorDate
How to speed code?            01/01/70 00:00      
   How did you come to that bizarre idea...            01/01/70 00:00      
      bizarre!?            01/01/70 00:00      
         I am a C-hater, remember...            01/01/70 00:00      
      Smaller, Faster            01/01/70 00:00      
   Is that true??            01/01/70 00:00      
   Often mutually exclusive...            01/01/70 00:00      
   Take my contribution with a grain of salt.            01/01/70 00:00      
      http://www.8052.com/users/disasm/            01/01/70 00:00      
   what compiler?            01/01/70 00:00      
   Data types            01/01/70 00:00      
   Getting the least            01/01/70 00:00      
   My Two Cents            01/01/70 00:00      
      Turn in your Programmer's ID Card.            01/01/70 00:00      
         heheh...yeah            01/01/70 00:00      
         SJMP            01/01/70 00:00      
   Comments            01/01/70 00:00      
   How to speed code?            01/01/70 00:00      
   a couple of \'rules\'            01/01/70 00:00      
      More on Erik's Rules            01/01/70 00:00      
         a comment            01/01/70 00:00      
         PDATA            01/01/70 00:00      
            don't forget about @DPTR access to CDATA            01/01/70 00:00      
               but            01/01/70 00:00      
                  WHAT??? You mean I have it too? Dystypia?            01/01/70 00:00      
                     Enginnering is all about the tradeoffs            01/01/70 00:00      
                        two places where you REALLY can make an impact            01/01/70 00:00      
                           b) buffer at 256 byte boundary            01/01/70 00:00      
                              Alignment            01/01/70 00:00      
                              you did'nt hear ?            01/01/70 00:00      
               Another \"but\"            01/01/70 00:00      
                  it is, after all, quicker            01/01/70 00:00      
                     Errr...            01/01/70 00:00      
                        perhaps, but it has to "live" somewhere.            01/01/70 00:00      
                           You\'re assuming...            01/01/70 00:00      
                              confirming Andys statement            01/01/70 00:00      
                                 We WERE discusisng 805x ...            01/01/70 00:00      
                                    well, does it not?            01/01/70 00:00      
                                       Tables in code space vs data space            01/01/70 00:00      
                                          Philps XA, the best "16 bit '51"            01/01/70 00:00      
                                             Maxim/Dallas DS89C450            01/01/70 00:00      
   most compilers            01/01/70 00:00      
      Thanks            01/01/70 00:00      

Back to Subject List