Assembler.js - X86_64 and Ethereum
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
docs
mnemonics
notes
scripts
src
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
gulpfile.js
package.json
renovate.json
tsconfig.json
typing.d.ts

README.md

(‿*‿)
Assembler.js

Assembler implemented in JavaScript:

Install

npm i ass-js

Getting Started

Store 0xBABE in RAX register

import {X64} from 'ass-js';

const asm = X64();
asm._('mov', ['rax', 0xBABE]);

Compile to machine code

console.log(code.compile()); // <Buffer 48 c7 c0 be ba 00 00>

Show text representation

console.log(String(code));
// 000 main:
// 001   movq rax, 0x0000BABE ; 000000|000000 0x48, 0xC7, 0xC0, 0xBE, 0xBA, 0x00, 0x00 7 bytes

Use templates

const template = _ => {
    _('mov', ['rdx', 0xC001]);
    _('mov', ['rax', 0xBABE]);
};

asm.code(template);

Docs

License

Unlicense - public domain.