[A83] Re: Symbolic's functions in asm


[Prev][Next][Index][Thread]

[A83] Re: Symbolic's functions in asm




The way apps are stored is that they take up at least one page of flash.  In
symbolic's case this is 1 page.  You're going to need to find which page
symbolic is located.  Then do an out (6),a to switch the rompage in
4000-7fff to the contents of symbolic's page.  You then load a pointer in
from one of the entries in the pointer table ( I suggest you open up the
source code and look at it, symbolic.asm is the file that contains the
pointer table).  So once you have pushed the proper arguements onto the fp
stack, and pushing the number of arguements +1 onto the sp stack, you can
jump to the location you looked up in the pointer table.  For instance lets
say you wanted to find sec(2)...
....
 call     mySecOf2
....
....
mySecOf2:
 b_call op1set2
 b_call pushrealo1
 ld       hl,2 ;1 arguements+1
 push   hl
 ld       hl,name
 rst      rmove9toop1
 b_call findapp
 jp       nc,errnotfound
 out     (6),a             ;swap page to symbolic's rompage
 ld        hl,(4086h)   ;4086h is address of sec's entry in the pointer
table
 jp        (hl)
name:
 .db     "Symbolic",0

I'm not exactly sure if this will work, I just wrote it off the top of my
head but you should have a better idea of how someone might do this.  The
code is far from optimized for using multiple routines from symbolic and
allowing variations in entries but like i said.. its just an example.  Hope
this helped.

Brandon Sterner

----- Original Message -----
From: "Peter Van den Bosch" <van.den.bosch.peter@pi.be>
To: <assembly-83@lists.ticalc.org>
Sent: Sunday, April 14, 2002 7:15 AM
Subject: [A83] Re: Symbolic's functions in asm


>
> Should I do the following:
>
> Let's say that 'symb' stands for the address where the symbolic
> application is located.
> I should add to this address a number between 1 and 20 that represents
> the corresponding symbolic function (for the symproutine, this number is
> 14), so I would have to
> B_CALL (symb+14).
>
> Is this procedure good?
>
> > -----Oorspronkelijk bericht-----
> > Van: assembly-83-bounce@lists.ticalc.org
> > [mailto:assembly-83-bounce@lists.ticalc.org] Namens Michael Vincent
> > Verzonden: zaterdag 13 april 2002 20:37
> > Aan: assembly-83@lists.ticalc.org
> > Onderwerp: [A83] Re: Symbolic's functions in asm
> >
> >
> >
> > There exists a jump table in Symbolic that allows you to
> > access the functions. Inputs are pushed onto the FP stack in
> > reverse order of the function's arguments. To get the address
> > of this jump table, you can look at the Symbolic source code
> > which is included with Brandon Sterner's latest release
> > (v1.8) at www.detacheds.com/symbolic/
> >
> > Sincerely,
> >
> > Michael Vincent
> > Detached Solutions - www.detacheds.com
> > Radical Software - www.radicalsoft.org
> > www.michaelv.org
> > ----- Original Message -----
> > From: "Peter Van den Bosch" <van.den.bosch.peter@pi.be>
> > To: <assembly-83@lists.ticalc.org>
> > Sent: Saturday, April 13, 2002 11:08 AM
> > Subject: [A83] Symbolic's functions in asm
> >
> >
> > >
> > > Hi everyone,
> > >
> > > I am trying to make an assembly program for the TI-83+ that
> > does the
> > > same as the 'expand' feature on the ti92+ or the one on
> > mathematical
> > > programs like derive e.g. if you have "(x+1)=B2-2x", the
> > output would
> > > be "x=B2+1"
> > >
> > > In order to program this, I want to use symbolic's simplify command.
> > >
> > > Now here is my question: how can I access symbolic's new functions
> > > from within an asm program? Are there any rom calls for the
> > functions
> > > symbolic implemented or can I use the equation parser to use the
> > > simplify function?
> > >
> > >
> > >
> >
> >
> >
>
>
>
>




Follow-Ups: References: