g88 is a portable simulator
that simulates both user and system-mode code.
It uses threaded code to performance on the order
of a few tens of instructions per simulated instruction.
See:
g88 was written by
Robert Bedichek.
From instruction-set simulation and tracing