Re: A86: Could somebody briefly explain OP1?


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

Re: A86: Could somebody briefly explain OP1?



In a message dated 97-10-24 19:03:38 EDT, you write:

> 
>  I'm new to ASM programming.. I see lots of stuff dealing with the OP
>  [variables?]... It seems that it's esential for me to know how to use
>  these to get much anywhere in asm programming. Could somebody briefly
>  explain them to me? Or what they are for? Something like that..
>  Thanks, :)
>  
>  Rolf
>  

There are 6 OP registers in the ti86 ram (although they aren't _really_
registers, per se).  They are each 11 bytes long, and typically hold floating
point #'s, variable names, or sometimes strings.  The floating point # format
is fairly complex, so I don't want to re-explain it here.   (check ticalc.org
in the list archives... I posted it earlier)  These #'s can be operated on
with the floating point routines (see ti86math.inc), but be warned that many
of those routines screw around with OP3-OP6 and don't tell you, so that may
mess up your data.

As for var names, it is also 10 bytes.  The 1st byte tells what type of var
it is ($0C for string, $12 for prog, $00 for real, etc...).  The 2nd tells
how long the name is, and then the next 1-8 is the actual name.  These can be
used as input or taken as output to/from the variable management routines
(see most recent ti86asm.inc and vars.doc).

Finally, there are a few routines that actually put strings in the OP
registers (not sure what it was, but it was in the ZReduce source - it
converted OP1 to a decimal string and put it in OP3 as a string) for
printing.

These registers are located in RAM page 0 (not sure exactly where - check
ti86asm.inc for _OP1 ... _OP6)

Hope this clears it up...
~Steve