A Common Lisp DSL for writing ASM