Fri May 22 13:20:54 CEST 2009
The f and a pointers -- dynamic scope
It is really convenient to be able to use the a and f pointers to RAM
and ROM respectively. Should this go at a cost of reducing the
abstraction level. I.e. are the registers to be saved before use or
during interrupts etc?
The real question is more general: give a proper style for using
dynamic binding. Since there is no lexical scope, dynamic scope is
the only alternative.
The other question is: do you expose dynamic scope in an interface, or
do you keep things referentially transparent?
More specifically: the usb descriptor compiler constructs 3
words that provide pointers to binary records. Should they provide
them in the 'f' register (where it will have to end up eventually) or
on the top of the stack? The latter is probably better practice.