A 6502 assembler front-end with an LLVM back-end