Here are some tools I have written related to the LC-3b (Little Computer 3b), which is a simple CPU architecture intended as a teaching tool.
- disassembler (written in C99)
- assembler (INCOMPLETE) (written in C99)
The LC-3 was described in the book Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2nd Edition (errata). The LC-3b appears to be the nearly the same CPU, but is byte-addressable and adds a bit-shifting instruction.
pepaslabs/lc3as.py, my assembler for the LC-3 (not 3b), written in Python.