Supports Linux x86-64 AT&T syntax only.
# Hello world!
.global _start
.section .data, "aw"
msg:
.string "Hello, world!\n"
.section .text, "ax"
_start:
pushq %rbp
movq %rsp, %rbp
subq $16, %rsp
movq $1, %rax
movq $1, %rdi
movq $msg, %rsi
movq $14, %rdx
syscall
movq $60, %rax
movq $0, %rdi
syscall
$ docker build ./ -t vas
# Linux or MacOS:
$ docker run --rm -it -v "$(pwd)":/root/env vas
# Windows (CMD):
$ docker run --rm -it -v "%cd%":/root/env vas
# Windows (PowerShell):
$ docker run --rm -it -v "${pwd}:/root/env" vas
# To leave the environment, enter `exit`.
$ v . -prod
$ vas <filename>.s
$ ld <filename>.o
$ ./a.out
> Hello world!!
MIT