Confused? Type help

> blog post For your assembling pleasure

For your assembling pleasure
Sun, 11 Mar 2007 11:50:24

Finished writing and packing up the code for an Arm assembler and a Nintendo DS rom creator package, respectively called Armish and Liards.

They've got their own little project page at


If you're interested, see the links on before-mentioned pages to get the code through darcs or package-download.

As stated in an earlier post, Armish assembles a set of forms given to the function assemble. They're in lispy form, but generally follow the arm convention. Read the readme and check the test.lisp file for general rules, directives, and correct syntax. The assembler is meant to be on the general side and should compile code correctly for arm versions three trough five (till arm9).

Notably absent are the enhanced dsp instructions for arm9 and adrl pseudo-instruction for both arm and thumb mode. The code is only tested on SBCL but should be portable. One might experience a hiccup when running the test suite on some lisps, because i guessed my way around calling out of and into a particular implementation when checking opcodes against a reference assembler included with the sources. But on the other hand all might run as smooth as a leopard chasing a gazelle, or as a gazelle chased by a leopard.

Liards handles building a rom file to be run on an NDS emulator or of course the real thing if you've got the hardware. Ideally, at one point in time, Liards would also aquire a library to handle common routines; rising in abstractness, up to a point that one could just be mistaken there was a lisp implementation hidden in there somewhere.

If you feel an itch to hack on this thing; know that all help will be greeted with wild enthusiasm bordering on raving madness.

Want to comment? Type comment. Type something else to randomy chat a bit. I won't bite.