??? 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 |