> Local variables can also be stored in registers, but we won't worry about this because registers and usually dedicated to local variables, and by the time our function is called they'll probably be saved on the stack anyway
Heh. No wonder it's 32 bit! You can only hope to get away with this on a register-poor ISA like i386.
I wonder if you could use setjmp to portably get access to register values?