Lua

DynASM is a Dynamic Assembler for code generation engines.

DynASM has been developed primarily as a tool for LuaJIT, but might be useful for other projects, too.

If you are writing a just-in-time compiler or need to generate code on the fly (e.g. for high-performance graphics or other CPU-intensive computations), DynASM might be just what you are looking for.

Please have a look at the list of Features to find out whether DynASM could be useful for your project.

DynASM is Copyright © 2005-2014 Mike Pall. DynASM is free software, released under the MIT license.

More ...

Sorry, right now there is no proper documentation available other than some Examples and of course the source code. The source is well documented, though (IMHO).

I may add more docs in case someone actually finds DynASM to be useful outside of LuaJIT. If you do, I'd like to hear from you, please. Thank you!

If you want to check it out please visit the Download page and fetch the latest LuaJIT version. All you need is in the dynasm directory. For some complex examples take a peek at the *.dasc and *.dash files in LuaJIT 1.1 (x86 JIT compiler built with DynASM) and LuaJIT 2.0 (multi-arch interpreter core built with DynASM).