HARM (hackage): A simple ARM virtual machine designed for teaching assembly. See http:/tinyurl.com639v6u for details on internals and examples of how to use it. It is advised you look through the source on the site and try following along to really learn what's going on. Currently the emulator does not use standard ARM assembly, but a custom variant. This will hopefully be changed in the near future.  Two programs, runarm and dbgarm, are provided which can be used to run and debug the assembly.
Keywords: compilers-interpreters|deprecated|library|program