[A85] Re: Running assembly programs


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

[A85] Re: Running assembly programs




The BASIC program copies the contents of a var to a var which has been moved
to the system mem. This causes the pointer to the routine executed after the
next keypress to be set to the location of the shell (the shell is the first
program in user mem which means that it is never moved by the TIOS). When
the BASIC program returns the keypress function is called using the modified
pointer which executes the shell. The shell reset the pointer to the
original value and the memory is now ok again. The shell then finds all
programs in the VAT which has the correct header, and displays a list of
them. Once the user quits the shell it returns to the caller and the TIOS
returns to the prompt.

Deleting the var mapped to system mem will cause problems, other than that
the mem is ok.

Dines

-----------------------------------------------------
 Dines Justesen    dines@aub.dk    www.aub.dk/~dines
-----------------------------------------------------

> -----Original Message-----
> From: assembly-85-bounce@lists.ticalc.org
> [mailto:assembly-85-bounce@lists.ticalc.org]On Behalf Of Henk Poley
> Sent: Monday, September 24, 2001 8:51 AM
> To: assembly-85@lists.ticalc.org
> Subject: [A85] Re: Running assembly programs
>
>
>
> > Van: Dines Justesen <dines@aub.dk>
> >
> > It is possible to start assembly programs from BASIC programs by using
> the
> > same method as the shell on the TI82 does (infact the TI82 hack
> was first
> > carried out on a TI85 and then moved to the TI82). Using the method the
> > program does however have to be at a fixed address, unless the shell
> > supports it. By adding some fairly simple code to the shell,
> all programs
> > which includes a special header can be started from a BASIC program/the
> > prompt.
>
> Oh, yes, I'll have to take a look at the shells used at the Ti-82 too...
>
> Hmm, I do know thst on the Ti-82 there's some special BASIC prog that
> 'copies' two Matrixes to each other. It overflows and then the shell is
> executed.
>
> I guess the shell then has to lookup where the program is (if
> program is at
> a fixed location this isn't needed) and execute it.
>
> Does this 'copying' gives problems with the VAT (exept when deleting the
> 'gigantic' matrixes...)? AKA, are the file-pointers still correct?
>
> 	Henk Poley <><
>
>





References: