[LMH]Independant simulator progress.
Fri May 10 21:19:00 2002
Over the past week I've been knocking together a quick hack of an E2
macrocode interpreter, and I thought I'd let you people know some of what
Function calling is much easier than you've been fearing. It should take
less than a couple hours to get something that will move you on to the
next function. Just implement what you need for the moment, don't bother
with a general solution (this means: set the args pointer, set the new
function and location counter, and push the number of supplied optional
arguments (1, in this case)). You can always fix it later.
The seventh and eighth instructions executed appear to hit A-Memory space
(this is in LISP-REINITIALIZE). The next few hits occur in TYPE-ADDIN-P,
TYPE-LASHUP-P, TYPE-EXP2-P, and TYPE-MX-P. I haven't decided how to handle
this yet (I only realized it after executing clear through to the first
invocation of READ-SLOTS-I-OWN).
To find a function's name look at the debug info table. The second element
will be a symbol. That symbol's print-name is the name of the function.
I'm sure you know by now that CALL-1-DEST-INDS is the second instruction
executed, not the first (which is SET-NIL PDL-PUSH). SET-NIL PDL-PUSH is a
really easy instruction to write.
All programming can be viewed as an exercise.