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-2023 Mike Pall. DynASM is free software, released under the MIT license.

More ...

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

Please check out the more detailed third-party DynASM documentation by Peter Cawley, which includes a DynASM tutorial.

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).