I’ve been playing around with a pedagogical Z-Machine emulator and interpreter, which will be heavily commented. As part of this I’m trying to include bits of disassembly from txd to drive a few points home. (I’m posting this in the “Interpreters” category for this reason; maybe that’s wrong.)
A question reared its head as I got started. Here’s an example of the first opcode to be executed in Zork 1:
Main routine 4f04, 0 locals () 4f05: e0 03 2a 39 80 10 ff ff 00 call 5472 #8010 #ffff -> sp
I believe it’s accurate to say that this
call is pushing the address
5472 onto the stack pointer (
What I don’t know is what the
#8010 #ffff refer to. They are arguments to the routine, I guess, thus forming part of the set of operands. But does it really matter what they represent?