Piston:全球首款运行于浏览器中的汇编器
jopen 11年前
Piston X86-64 汇编器(PASM)是全球首款可运行于浏览器中的汇编器,基于 NASM 汇编器(为可移植性与模块化而设计的 80x86 汇编器)语法和 Node.js 环境。Piston 使用 CoffeeScript 语言编写,并被编译为 JavaScript 代码。
项目官网:http://pasm.pis.to/
源码:https://github.com/tpisto/pasm
Piston 的主要特性如下:
- X86-64 操作码
- NASM 语法
- 16/32/64 位模式
- R8-R13 寄存器
- 支持 SIB、MODR/M、RIP 寻址
- 支持 EQU、TIMES
- 支持标签和表达式
可通过如下代码将 Piston 嵌入 Web 应用中(目前在 Firefox 12、Chrome 23 和 Safari 6 中测试通过):
<script type="text/javascript" src="pasm.min.js"></script> <script type="text/javascript"> // Define where to show errors myError = function (err, line) { console.log ('Error:' + err + ' in line ' + line); }; window.Opcode.error = myError; pasm.parseError = myError; // Parse assembler code var hexString = pasm.parse ('mov ax, 0x4c00'); console.log (hexString.data);</script>