[comp.sys.handhelds] HP28S machine lang: stack objects

davew@hp-ptp.HP.COM (Dave_Waller) (04/10/90)

Hi gang!

Well, I finally got W.A.C. Mier-Jedrzejowicz's book, "CUSTOMIZING YOUR
HP-28", and have learned alot about machine language on the Saturn
chip... Pretty neat. However, there is a detail that I have not found in
the book yet, and was hoping one of you more experienced folks could
help me out.

As I understand it, the stack is not composed of the actual objects
themselves, but rather pointers (i.e. the addresses) of where the
objects are to be found in memory. This has the benefit of not using up
tons of memory for large objects that are recalled to the stack.

Now concetually, this all works fine as long as we're talking about a
named object (i.e. a "variable" that has been created with STO).
However, what about unnamed objects that have not been STOred? Where are
they kept in memory? For instance, when one does LCD->, where is the
actual object located in memory, and how is it created?

I would like to know this so that I can have a machine code routine
return an object to the stack; yet, I need to be able to allocate the
memory for the actual object before I can push its address onto the
stack. Where is the "limbo" for unnamed stack objects, and how is it
managed? Any help would be greatly appreciated.


Dave Waller  \  The opinions expressed are solely my own, and in no way
Hewlett-Packard Co.  \  represent those of my employer (but we all know
dave@hpdstma.ptp.hp.com | hplabs!hpdstma!dave  \  they should!)