I wouldnt write an emulator purely in assembly unless you absolutely have to. I'd only write the instruction handlers in assembly and use a higher level language for everything else. Once you understand the basic concept of writing an emulator, you might as well consider diving into the realm of dynamic compiliation which has the advantages of being more efficient than straight interpretation and that the compiler can be written completely in a higher level language yet the possible code optimizations meet and/or exceed those possible with an assembly based interpreter.
> anyone point me to a tutorial on where to get started? Thanks