Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site maccs.UUCP Path: utzoo!mnetor!genat!maccs!cs4e3bb From: cs4e3bb@maccs.UUCP (Ray Wong) Newsgroups: comp.sys.atari.st Subject: Code launching on the ST Message-ID: <134@maccs.UUCP> Date: Sun, 23-Nov-86 12:21:09 EST Article-I.D.: maccs.134 Posted: Sun Nov 23 12:21:09 1986 Date-Received: Thu, 27-Nov-86 17:50:11 EST Reply-To: cs4e3bb@maccs.UUCP (Ray Wong) Distribution: na Organization: DCSS, McMaster University Lines: 26 >------------------------------------------------------------------< I have a question that may be considered trivial by most however this information does not appear in any tech info I have read. When you are writing an assembler program on the ST, as I understand it, you do not know where the actual run-time address of the program will be. Therefore much of the techinical literature recommends that you write relocatable code. However, how do you deal with instructions such as "jsr $XXXX" ??? Now, I know the 68000 has many PC based addressing modes, however it seems that you have to go to a lot of trouble just to calculate the jump address at runtime just for a subroutine call. My question is this, does the ST support some sort of runtime loader that works with your assembler, i.e. does GEMDOS support loader tables which translate ABSOLUTE locations into their appropriate run-time addresses?? Also, what EXACTLY is the mechanism used by TOS for launching a xxx.prg ( xxx-don't care ) from the Desk Top???? (i.e. Where does it load the program, What location of the program does it begin executing at?? ) .... Thanks in advance for any help Ray Wong