github.com/chenzhuoyu/iasm@v0.9.1/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/chenzhuoyu/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  ```