"Fitzpatrick, Joe" <[EMAIL PROTECTED]> wrote:
> The 68000
> can use absolute addressing, or a faster, inherently relocatable
> relative addressing.
Absolute addressing is banned under PalmOS because your code cannot predict its
location in the address space, and being run directly out of the permanent
storage (which could even be masked ROM) it cannot be patched (relocated or
fixed up) at run time. PC-relative addressing is used within each code segment.
For other segments, code or data, not only the absolute address but even the
relative position to your code is unpredictable. A global pointer register is
thus used to point at your data segment at all times, which is where A5 and A4
come into play, and references to other code segments use non-obvious
instruction sequences using intersegment linkage data in the data segment,
making the data segments (i.e., globals) a prerequisite for multiple code
segments.
--
Michael Sokolov Harhan Engineering Laboratory
Public Service Agent International Free Computing Task Force
International Engineering and Science Task Force
615 N GOOD LATIMER EXPY STE #4
DALLAS TX 75204-5852 USA
Phone: +1-214-824-7693 (Harhan Eng Lab office)
E-mail: [EMAIL PROTECTED] (ARPA TCP/SMTP) (UUCP coming soon)
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html