Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 951 Bytes

README.md

File metadata and controls

42 lines (27 loc) · 951 Bytes

PROJECT MOVED TO [https://github.com/cloudwego/iasm], PLEASE USE THAT INSTEAD


IASM -- Interactive Assembler for Go.

Dual-purpose assembly engine written in pure Golang.

The x86_64 package was ported from a Python module PeachPy, with some adaption to the Go language features.

Currently, IASM only supports x86_64, because it's the only architecture I am very familiar with.

It can be used as a dynamic assembler

This can be used to implement:

  • JIT engine
  • Compiler backend
  • And more !

See x86_64/program_test.go for more info.

It can also be used as a static assembler

For macOS:

git clone https://github.com/chenzhuoyu/iasm
cd iasm
go build ./cmd/iasm
./iasm -h
./iasm -f macho -D __Darwin__ -o helloworld example/helloworld.s
./helloworld 

It also contains an interactive REPL shell

Just run IASM without any arguments.

./iasm