Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/engineersbox/quac-assembler
Assembles QuAC assembly into 16 bit QuAC v1.0 ISA binaries
https://github.com/engineersbox/quac-assembler
asm assembler assembly go golang quac
Last synced: 6 days ago
JSON representation
Assembles QuAC assembly into 16 bit QuAC v1.0 ISA binaries
- Host: GitHub
- URL: https://github.com/engineersbox/quac-assembler
- Owner: EngineersBox
- License: apache-2.0
- Created: 2022-08-10T08:34:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-23T05:26:46.000Z (almost 2 years ago)
- Last Synced: 2025-01-20T06:38:55.313Z (14 days ago)
- Topics: asm, assembler, assembly, go, golang, quac
- Language: Go
- Homepage:
- Size: 2.88 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QuAC-Assembler
Assembles QuAC assembly into 16-bit QuAC v1.0 ISA binariesThe specification for QuAC v1.0 can be found here:
## Installation
The standard installation can be done with `install.sh` which will build the assembler into a binary
and store it in `/usr/bin/quac_assembler`.```shell
./install.sh
```If you want to build from source, simply run the following.
```shell
go build src/assembler.go
```## Usage
You'll need to build the assembler first before doing this, see the above section for details on that.
```shell
quac_assembler
```### Example
```shell
quac_assembler test.S result.bin
```This will compile the following assembly
```asm
movl r1, 0x9 ; 0x0109
; Test
movl r2, 1
ldr r3, [r1]
test:
add r3, r3, r2
str r3, [r1]
jpeq test
nop
.word 0
.word 0
.word 0xFF
```Into the following binary data
```
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 01 09 02 01 53 10 83 32 ┊ 43 10 0f 30 00 00 00 00 │•_••S•×2┊C••00000│
│00000010│ 00 00 00 00 00 ff ┊ │00000× ┊ │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘
```