Practical reuse of assembly is resourceful and this approach to portability quite cool (take a look at this non-portable approach to fixing up and executing an assembly dump[1]).
I wonder if the future of video game console emulation lies in recompilation, perhaps to an intermediate representation format for LLVM (similar to Dagger[2]).
[1] http://aluigi.altervista.org/mytoolz.htm#dump2func [2] http://dagger.repzret.org/