Re: How is assembly on the 82 possible?


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

Re: How is assembly on the 82 possible?



In a message dated 97-06-28 05:45:15 EDT, you write:

<< Ever since the good old days before ticalc.org and ZShell was the only ASM
 for the 85, it was generally agreed that ASM was impossible for the 82.
 Now, that has been proven wrong.  How did they do it?  I know that the 85
 uses the Custom menu, but the 82 doesn't have one.  Thanks.

 James Sulak
 james@superb.net >>

This is a message posted on this list earlier, explaining how it is done:




I've had a look at both shells - and from what I've seen
they both use the same method to start running asm in ram.

If you have a look in 82-ram.txt you'll find at (i think)
8114h is a pointer to code for when a keypress occurs.
This is why you have to press enter to enter the shell (although
any key will work).  In OShell the var Q setup in the backup
to be at location 8114h (or whatever) and when you store e17
in it (which the calc stores as 00 91 00 00 00 00 00 00 00) it
changes the keypress pointer to 9100 - where OShell's code
is conveiniently located - note that this also overwrites the rest
of the pointers.  The OShell init code resets this pointers.

Ash uses a matrix (yes, not a list) instead.  This is why the
prgmASH has L1(1,1) not just L1(1).  As it uses matrix F & G
the user can't delete them - making it better than OShell in that
respect.  ASH also points L1 a little before 8114h thus overwriting
the secondary texts vars and not the  other pointers.  I think
Ash resets these vars with the Output( in prgmASH.

The real difference between the progs the shells can run
is where they expect vars provided by the shell (such as
the program address) to be, and OShells ASCIIZ description.

Personally, I think ASH is well coded buy OShell has a better
interface - hopefully the next version of ASH will include
program descriptions.

        cya,
                Dave.