Re: A86: Re: _exec_basic and _findAlphaUp


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

Re: A86: Re: _exec_basic and _findAlphaUp




That's why you don't let that happen :)

> 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?
>
>



References: