I once wrote a MIPS assembler+VM in Racket. It went OK but I never used it for anything: https://github.com/gcr/mips-simulator Was a great learning experience though.