Hello world in FASM
[rrq/jonasforth.git] / main.asm
1 format ELF64 executable
2
3 struc with_length string& {
4     . db string
5     .length = $ - .
6 }
7
8 macro write_stdout string_label {
9     mov rax, 1
10     mov rdi, 1
11     mov rsi, string_label
12     mov rdx, string_label#.length
13     syscall
14 }
15
16 segment readable executable
17
18 start:
19     write_stdout message
20
21     jmp $
22
23 segment readable
24
25 message with_length 'Hello, world!',$A