flat assembler include files for x86_64 linux

dm9pZCAq ffef80a339 stdlib.inc: add signal 3 months ago
interface 2ccde8abc9 initial 5 months ago
@@.inc 2ccde8abc9 initial 5 months ago
LICENSE 2ccde8abc9 initial 5 months ago
README.md 9c0bcc7256 utils.inc: add static_string 5 months ago
align.inc 2ccde8abc9 initial 5 months ago
inline.inc 2ccde8abc9 initial 5 months ago
interface.inc 2ccde8abc9 initial 5 months ago
stdlib.inc ffef80a339 stdlib.inc: add signal 3 months ago
struct.inc 2ccde8abc9 initial 5 months ago
syscall.inc 2ccde8abc9 initial 5 months ago
utils.inc 9c0bcc7256 utils.inc: add static_string 5 months ago
xcalm.inc 2ccde8abc9 initial 5 months ago

README.md

fasmg-include

flat assembler include files for x86_64 linux

how to use

tested with fasmg version k4v8

to use it add this directory to include path:

INCLUDE="${INCLUDE};./path/to/this/dir/" fasmg main.asm

example

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