...

Text file src/github.com/chenzhuoyu/iasm/README.md

Documentation: github.com/chenzhuoyu/iasm

     1# `IASM` -- Interactive Assembler for Go.
     2
     3Dual-purpose assembly engine written in pure Golang.
     4
     5The `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
    11This can be used to implement:
    12
    13* JIT engine
    14* Compiler backend
    15* And more !
    16
    17See `x86_64/program_test.go` for more info.
    18
    19### It can also be used as a static assembler
    20
    21For `macOS`:
    22
    23```bash
    24git clone https://github.com/chenzhuoyu/iasm
    25cd iasm
    26go 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
    34Just run IASM without any arguments.
    35
    36```bash
    37./iasm
    38```

View as plain text