github.com/cloudwego/iasm@v0.2.0/README.md (about) 1 # `IASM` -- Interactive Assembler for Go. 2 3 Dual-purpose assembly engine written in pure Golang. 4 5 The `x86_64` package was ported from a Python module [`PeachPy`](https://github.com/Maratyszcza/PeachPy), with some adaption to the Go language features. 6 7 **Currently, IASM only supports x86_64, because it's the only architecture I am very familiar with.** 8 9 ### It can be used as a dynamic assembler 10 11 This can be used to implement: 12 13 * JIT engine 14 * Compiler backend 15 * And more ! 16 17 See `x86_64/program_test.go` for more info. 18 19 ### It can also be used as a static assembler 20 21 For `macOS`: 22 23 ```bash 24 git clone https://github.com/cloudwego/iasm 25 cd iasm 26 go build ./cmd/iasm 27 ./iasm -h 28 ./iasm -f macho -D __Darwin__ -o helloworld example/helloworld.s 29 ./helloworld 30 ``` 31 32 ### It also contains an interactive REPL shell 33 34 Just run IASM without any arguments. 35 36 ```bash 37 ./iasm 38 ```