Re: A86: Re: Hello, I'm new at this


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

Re: A86: Re: Hello, I'm new at this




Simple terms, eh?  If the tutorials don't explain it, I'd suggest doing
simpler stuff until they make sense.  Many people have figured this stuff
out from dissassembling the rom and have written tutorials about it.  That's
something to remember.  Everyone getting into assembly now is lucky.  Heck,
just think about what David Boozer and Dan Eble did...

And now for the simplest explanation I can give at 1 in the morning:

The VAT, or Variable Allocation Table, is where the info is stored for all
the vars on the calc.  It's similiar to the FAT on disk drives.  The VAT is
stored on ram page 7, the last ram page.  It's at the very end of the page,
and it goes backwards.  Why backwards?  Have to ask Pat that one I think,
but it's been like that since the 85.  Probably so it can be variable sized
and stay on the end of a page.  There are several docs that show the format
of the VAT.  The VAT has the variable names, sizes, pointers to the data,
etc.  It is advised to use the ROM calls to manipulate the VAT, unless you
know what you are doing.

There are six (seven, actually, but...) 11-byte memory locations known as
"OP registers".  Again, they are just memory locations on ram page 0 that
are 11 bytes long (_OP1 to _OP6), but since they are used to perform
floating point math, they are called registers.  Usually, they store one of
two things:  a floating point number, or a variable name.  There are many
rom calls that can be used to manipulate them.  For example, _FPADD (or rst
30h) will add the two numbers in OP1 and OP2 and store the result in OP1.
The call _move10toop1 (or rst 10h) copies ten bytes starting at HL to OP1.


>
> I have seen both of the tutorials that people have sent me weblinks to, in
> answer to my question about VATs.  Those are the tutorials I do not
> understand.  Is there anyone who can put the VAT and OP registers in
simple
> terms.  If you have AOL, please Instant Message me at DGS Lord.




References: