summary refs log tree commit diff homepage
path: root/sys.asm
blob: a7d5295d57e9c2880ff37f1f3b1b748db16445ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
%macro syscall 0
  syscall
%endmacro

%macro syscall 1
  mov rax, %1
  syscall
%endmacro

%macro syscall 2
  mov rdi, %2
  syscall %1
%endmacro

%macro syscall 3
  mov rsi, %3
  syscall %1, %2
%endmacro

%macro syscall 4
  mov rdx, %4
  syscall %1, %2, %3
%endmacro

%macro syscall 5
  mov r10, %5
  syscall %1, %2, %3, %4
%endmacro

%macro syscall 6
  mov r8, %6
  syscall %1, %2, %3, %4, %5
%endmacro

%macro syscall 7
  mov r9, %7
  syscall %1, %2, %3, %4, %5, %6
%endmacro

SYS_READ   equ 0
SYS_WRITE  equ 1
SYS_GETPID equ 39
SYS_EXIT   equ 60
SYS_KILL   equ 62

FD_STDIN  equ 0
FD_STDOUT equ 1
FD_STDERR equ 2

SIG_ABRT equ 6