I have implemented an assembler for DCPU16 in C++. It can be found here: https://github.com/10098/dcpu16. The assembler receives the source code from the standard input and writes the ROM to standard output. It supports labels too. To compile, you’ll need a C++ compiler with C++11 support. I was in a hurry, so the code is sort of slapped together with duct tape, but I hope to tidy it up a bit and add more features as Notch releases more specs.
A number of emulators are already available, I think I’ll pick one of them and extend it to support GUI for easier debugging.
UPD: Someone actually wrote an LLVM backend for DCPU16 – https://github.com/krasin/llvm-dcpu16, which pretty much renders all the assemblers obsolete, so I’m discontinuing this one.