S-Assembler

S-Assembler is a self-hosting RiscV assembler. The bootstrap assembler was written in Rust. Here is an example:

1 (import (syscalls *))
2 (defcon message "Hello, world\n")
3 ;; write(stdout, message, message.len)
4 (addi x10 x0 STDOUT)
5 (la x11 message)
6 (addi x12 x0 (len message))
7 (addi x17 x0 SYS_WRITE)
8 (ecall)
9 ;; exit(0)
10 (addi x10 x0 0)
11 (addi x17 x0 SYS_EXIT)
12 (ecall)

You can view the repository on Github.


Releases