Re: A89: gettin' started
[Prev][Next][Index][Thread]
Re: A89: gettin' started
ok then. I see what you mean. Well, do your remember the Usgard days and
Relocation? (if you had a ti-85 anyway) well, before the program was
executed, all relative addresses were figured out and put into the program
as absolute addresses. That was for the cases where the programs would get
moved in memory. well, I know that DoorsOS does the same thing. and i bet
it also computes the library's address, finds the functions that will be
used, gets their offsets, and puts them into the program at runtime. This
also explains why the library-not-found runtime errors occur before the
program starts to run and not on the first use of the library.
--kaus
----- Original Message -----
From: Scott Dial <wrath@calc.org>
To: <assembly-89@lists.ticalc.org>
Sent: Wednesday, December 29, 1999 10:33 PM
Subject: Re: A89: gettin' started
>
> I realize this, this is how SOS for the 83 does libraries, but it uses
> pointers. Which mean you call a location that calls the library, but if
> you ever have stepped through a program in VTI you see that it is a jsr
> right to the location of the library routine
>
> Kaus wrote:
> >
> > Actually, I am pretty sure that what is really done is that each library
> > reference is replaced with a call to the OS with the function number as
an
> > argument of some sort. then, the OS finds the library (if available)
looks
> > in its function offset table, and jumps to the correct function in the
> > library code. This is proven by the fact that you never have to code
> > anything that says: "This program needs library so and so to run" and
abort.
> > This is done in the OS's library calling code if the library can't be
found.
> >
> > --kaus
> >
> > ----- Original Message -----
> > From: Scott Dial <wrath@calc.org>
> > To: <assembly-89@lists.ticalc.org>
> > Sent: Wednesday, December 29, 1999 10:06 PM
> > Subject: Re: A89: gettin' started
> >
> > >
> > > I have a question about this too, the way I have seen this done is
using
> > > a static location to jump to that jumps to the dynamic one. But, it
> > > obviously comes up with the address during linking or whatever which
> > > makes no sense to me because it can never be in the same spot. So how
is
> > > this done?
> > >
> > > Cassady Roop wrote:
> > > >
> > > > so does the library have to be on the calculator for the program to
> > > > run? If so, then how is it so simple to reference a library call if
the
> > > > library is a variable separate from the program?
> > > >
> > > > Cassady Roop
> > > >
> > > > KeysDezes@aol.com wrote:
> > > > >
> > > > > <A
> >
HREF="http://calccity.calc.org/tiweekly/Articles/Beginners_TI89_ASM.html">B
> > > > > eginners Guide to TI-89/92+ Assembly</A>
> > > > > By far, the most comprehensive guide to 68k asm that I've seen.
> > > > > Libraries are sets of routines that can be accessed by asm
programs.
> > The
> > > > > advantage of libraries is that they are shared by all programs.
They
> > contain
> > > > > common routines such as PutSprite and clr_scr.
> > >
> > > --
> > > Scott "_Wrath_" Dial
> > > wrath@calc.org
> > > ICQ#3608935
> > > TimeCity AI Guy II - www.timecity.org
> > > Member of TCPA - tcpa.calc.org
> > > __________________________________________
> > > NetZero - Defenders of the Free World
> > > Get your FREE Internet Access and Email at
> > > http://www.netzero.net/download/index.html
> > >
>
> --
> Scott "_Wrath_" Dial
> wrath@calc.org
> ICQ#3608935
> TimeCity AI Guy II - www.timecity.org
> Member of TCPA - tcpa.calc.org
> __________________________________________
> NetZero - Defenders of the Free World
> Get your FREE Internet Access and Email at
> http://www.netzero.net/download/index.html
>
References: