Re: A86: Re: _exec_basic and _findAlphaUp


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

Re: A86: Re: _exec_basic and _findAlphaUp




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?


Follow-Ups: References: