Re: A86: Re: _exec_basic and _findAlphaUp


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

Re: A86: Re: _exec_basic and _findAlphaUp




Cuz there is crap on the stack from the call  _exec_basic, and anything else you
have left there.



> Does anyone have any idea as to WHY it crashes in the first place?
>
> Andreas Finne wrote:
> >
> > Yas, ase and Rascall use this method to run basic programs with some small
> > differences. Also in the documentation to Rascall it says: "You should NOT
> > start it with the command Asm(rascall) however, since the shell will then
> > fail to execute BASIC programs!"
> >
> > Andreas Finne
> > a_finne@hotmail.com
> >
> > >From: Cassady Roop <croop@oregontrail.net>
> > >
> > >and what happens if the user tries to run the shell from the actual
> > >assembly program instead of the loader?  Chaos?  Great.
> > >
> > >
> > >
> > >Robin Kirkman wrote:
> > > >
> > > > It's a basic program that is run instead of the actual assembly code to
> > > > start the shell.
> > > >
> > > > Example:
> > > >
> > > > ------------
> > > > Lbl 1
> > > > ::::::::
> > > > Asm(ShelName)
> > > > If Ans==1:Goto 1
> > > > Return
> > > > ------------
> > > >
> > > > The shell ShelName can run assembly programs by itself easily. However,
> > > > to run a basic program, the shell must do some more complicated stuff:
> > > > 1) Set Ans to 1. Use those funky op routines.
> > > > 2) Modify the basic program in RAM, so that :::::::: is replaced with
> > > > the BASIC program (Ex: :::::::: -> BProg:::)
> > > > 3) Quit. Yes, the shell quits.
> > > >
> > > > The shell quits, and since Ans = 1, it jumps to the ::::::::, which is
> > > > now BProg:::
> > > > The TIOS runs BProg and -doesn't- crash ;)
> > > > The shell is started again.
> > > >
> > > > For the shell to exit, it just sets Ans to zero and quits.
> > > > --robin
> > > >
> > > > Cassady Roop wrote:
> > > > >
> > > > > Hold on, just what exactly does that mean?  What is a BASIC loader?
> > > > >
> > > > > Kirk Meyer wrote:
> > > > > >
> > > > > > The problem with _exec_basic is one that has been known for quite
> > >some time,
> > > > > > and this is why any good shell uses a BASIC loader and runs BASIC
> > >programs
> > > > > > from BASIC - simply because they won't work otherwise.
> > > > > >
> > > > > > ----- Original Message -----
> > > > > > From: Cassady Roop <croop@oregontrail.net>
> > > > > > To: <assembly-86@lists.ticalc.org>
> > > > > > Sent: Wednesday, December 08, 1999 7:56 PM
> > > > > > Subject: A86: _exec_basic and _findAlphaUp
> > > > > >
> > > > > > > When I use _exec_basic to run a basic program, it runs perfectly
> > >but for
> > > > > > > one problem:  if the basic program has a STOP command at the end,
> > > > > > > instead of a RETURN or nothing at all, it crashes the calculator
> > > > > > > totally.  Is this a bug in _exec_basic or am I not passing
> > >something to
> > > > > > > the routine that I should be?  I am passing in the name to run in
> > >OP1;
> > > > > > > I thought that was all it needed.  I have ROM 1.3.  Can anyone
> > >duplicate
> > > > > > > this?
> > >
> >
> > ______________________________________________________
> > Get Your Private, Free Email at http://www.hotmail.com



Follow-Ups: References: