DynASM 是一个在 C 或 C++ 环境下创建汇编器和 JIT 编译器的预处理器和微型运行时库.

DynASM 为创建 LuaJIT 而编写, 并且作为其中的一部分维护. LuaJIT 1 时用作 JIT. 而现如今 LuaJIT 2 不作为 JIT 使用, 因为 LuaJIT 2 的解释器是手写汇编实现的, DynASM 被作为强大的跨平台汇编器.

运行以下命令获取最新版本的 DymASM:

git clone http://luajit.org/git/luajit-2.0.git
cd luajit-2.0/dynasm

DynASM 官方文档 太斯巴达了, 很难通过这个入门 DynASM. 当你把 DynASM 用做 JIT 时, 这篇非官方文档的 教程 是个很好的开始. 一旦你熟悉了之后, 参考文档指令集列表 可以让你掌握更多的知识.

DynASM 支持 x86, x64, ARM, PowerPC, MIPS 指令集, 不过本非官方文档只覆盖了 x86 and x64.

本文档的中文翻译还在进行中, 详情见:https://github.com/karminski/dynasm-doc