This greatly helped my understanding of how compilers work.
How different would the implementation be for x64? Would it primarily be a matter of translating opcodes and calling conventions? For example, pop ecx is 59 [1], and on x64 it looks like it would be pop rcx, which is also 59 [2][3].
[1] - http://sparksandflames.com/file/x86InstructionChart.html
[2] - https://defuse.ca/online-x86-assembler.htm#disassembly
[3] - http://msdn.microsoft.com/en-us/library/windows/hardware/ff5...