flat assembler include files for x86_64 Linux
dm9pZCAq ffef80a339 stdlib.inc: add signal | 9 months ago | |
---|---|---|
interface | 11 months ago | |
@@.inc | 11 months ago | |
LICENSE | 11 months ago | |
README.md | 11 months ago | |
align.inc | 11 months ago | |
inline.inc | 11 months ago | |
interface.inc | 11 months ago | |
stdlib.inc | 9 months ago | |
struct.inc | 11 months ago | |
syscall.inc | 11 months ago | |
utils.inc | 11 months ago | |
xcalm.inc | 11 months ago |
flat assembler include files for x86_64 linux
tested with fasmg
version k4v8
to use it add this directory to include path:
INCLUDE="${INCLUDE};./path/to/this/dir/" fasmg main.asm
main.asm
:
; vim:ft=fasm:
; requires `examples/x86/include` from `fasmg` source to be in include path
include 'format/format.inc'
include 'utils.inc'
include 'struct.inc'
format ELF64 executable 3
segment readable
nl static_string 10
segment readable writeable
print_buf.len = 30
print_buf rb print_buf.len
print_buf.end = $
segment readable executable
include 'stdlib.inc'
entry0:
entry .
call main
exit rax
proc main
iterate <fmt,num>, u,69, u,-1, i,-1
print fmt, num, print_buf.end
write STDOUT_FILENO, rax, rcx
write STDOUT_FILENO, nl, nl.len
end iterate
xor rax, rax
end proc