Syscall Search

Search by name, number, or parameter

Comprehensive Linux syscall reference for x86-64, ARM64, and ARM32 architectures. This syscall table provides assembly code examples for exploit development, reverse engineering, binary exploitation, and low-level programming. Perfect for security researchers, penetration testers, and CTF players working with IoT devices, embedded systems, and Linux kernel exploitation.

#0read

PARAMETERS

%rdi: unsigned int fd
%rsi: char *buf
%rdx: size_t count

ASSEMBLY EXAMPLE

; read syscall (0)
mov rax, 0
mov rdi, value ; unsigned int fd
mov rsi, value ; char *buf
mov rdx, value ; size_t count
syscall
; Return value in rax
#1write

PARAMETERS

%rdi: unsigned int fd
%rsi: const char *buf
%rdx: size_t count

ASSEMBLY EXAMPLE

; write syscall (1)
mov rax, 1
mov rdi, value ; unsigned int fd
mov rsi, [addr] ; const char *buf
mov rdx, value ; size_t count
syscall
; Return value in rax
#2open

PARAMETERS

%rdi: const char *filename
%rsi: int flags
%rdx: umode_t mode

ASSEMBLY EXAMPLE

; open syscall (2)
mov rax, 2
mov rdi, [addr] ; const char *filename
mov rsi, value ; int flags
mov rdx, value ; umode_t mode
syscall
; Return value in rax
#3close

PARAMETERS

%rdi: unsigned int fd

ASSEMBLY EXAMPLE

; close syscall (3)
mov rax, 3
mov rdi, value ; unsigned int fd
syscall
; Return value in rax
#4stat

PARAMETERS

%rdi: const char *filename
%rsi: struct stat *statbuf

ASSEMBLY EXAMPLE

; stat syscall (4)
mov rax, 4
mov rdi, [addr] ; const char *filename
mov rsi, value ; struct stat *statbuf
syscall
; Return value in rax
#5fstat

PARAMETERS

%rdi: unsigned int fd
%rsi: struct stat *statbuf

ASSEMBLY EXAMPLE

; fstat syscall (5)
mov rax, 5
mov rdi, value ; unsigned int fd
mov rsi, value ; struct stat *statbuf
syscall
; Return value in rax
#6lstat

PARAMETERS

%rdi: const char *filename
%rsi: struct stat *statbuf

ASSEMBLY EXAMPLE

; lstat syscall (6)
mov rax, 6
mov rdi, [addr] ; const char *filename
mov rsi, value ; struct stat *statbuf
syscall
; Return value in rax
#7poll

PARAMETERS

%rdi: struct pollfd *ufds
%rsi: unsigned int nfds
%rdx: int timeout

ASSEMBLY EXAMPLE

; poll syscall (7)
mov rax, 7
mov rdi, value ; struct pollfd *ufds
mov rsi, value ; unsigned int nfds
mov rdx, value ; int timeout
syscall
; Return value in rax
#8lseek

PARAMETERS

%rdi: unsigned int fd
%rsi: off_t offset
%rdx: unsigned int whence

ASSEMBLY EXAMPLE

; lseek syscall (8)
mov rax, 8
mov rdi, value ; unsigned int fd
mov rsi, value ; off_t offset
mov rdx, value ; unsigned int whence
syscall
; Return value in rax
#9mmap

PARAMETERS

%rdi: unsigned long addr
%rsi: unsigned long len
%rdx: unsigned long prot
%r10: unsigned long flags
%r8: unsigned long fd
%r9: unsigned long pgoff

ASSEMBLY EXAMPLE

; mmap syscall (9)
mov rax, 9
mov rdi, value ; unsigned long addr
mov rsi, value ; unsigned long len
mov rdx, value ; unsigned long prot
mov r10, value ; unsigned long flags
mov r8, value ; unsigned long fd
mov r9, value ; unsigned long pgoff
syscall
; Return value in rax
#10mprotect

PARAMETERS

%rdi: unsigned long start
%rsi: size_t len
%rdx: unsigned long prot

ASSEMBLY EXAMPLE

; mprotect syscall (10)
mov rax, 10
mov rdi, value ; unsigned long start
mov rsi, value ; size_t len
mov rdx, value ; unsigned long prot
syscall
; Return value in rax
#11munmap

PARAMETERS

%rdi: unsigned long addr
%rsi: size_t len

ASSEMBLY EXAMPLE

; munmap syscall (11)
mov rax, 11
mov rdi, value ; unsigned long addr
mov rsi, value ; size_t len
syscall
; Return value in rax
#12brk

PARAMETERS

%rdi: unsigned long brk

ASSEMBLY EXAMPLE

; brk syscall (12)
mov rax, 12
mov rdi, value ; unsigned long brk
syscall
; Return value in rax
#13rt_sigaction

PARAMETERS

%rdi: int sig
%rsi: const struct sigaction *act
%rdx: struct sigaction *oact
%r10: size_t sigsetsize

ASSEMBLY EXAMPLE

; rt_sigaction syscall (13)
mov rax, 13
mov rdi, value ; int sig
mov rsi, [addr] ; const struct sigaction *act
mov rdx, value ; struct sigaction *oact
mov r10, value ; size_t sigsetsize
syscall
; Return value in rax
#14rt_sigprocmask

PARAMETERS

%rdi: int how
%rsi: sigset_t *set
%rdx: sigset_t *oset
%r10: size_t sigsetsize

ASSEMBLY EXAMPLE

; rt_sigprocmask syscall (14)
mov rax, 14
mov rdi, value ; int how
mov rsi, value ; sigset_t *set
mov rdx, value ; sigset_t *oset
mov r10, value ; size_t sigsetsize
syscall
; Return value in rax
#15rt_sigreturn

PARAMETERS

ASSEMBLY EXAMPLE

; rt_sigreturn syscall (15)
mov rax, 15

syscall
; Return value in rax
#16ioctl

PARAMETERS

%rdi: unsigned int fd
%rsi: unsigned int cmd
%rdx: unsigned long arg

ASSEMBLY EXAMPLE

; ioctl syscall (16)
mov rax, 16
mov rdi, value ; unsigned int fd
mov rsi, value ; unsigned int cmd
mov rdx, value ; unsigned long arg
syscall
; Return value in rax
#17pread64

PARAMETERS

%rdi: unsigned int fd
%rsi: char *buf
%rdx: size_t count
%r10: loff_t pos

ASSEMBLY EXAMPLE

; pread64 syscall (17)
mov rax, 17
mov rdi, value ; unsigned int fd
mov rsi, value ; char *buf
mov rdx, value ; size_t count
mov r10, value ; loff_t pos
syscall
; Return value in rax
#18pwrite64

PARAMETERS

%rdi: unsigned int fd
%rsi: const char *buf
%rdx: size_t count
%r10: loff_t pos

ASSEMBLY EXAMPLE

; pwrite64 syscall (18)
mov rax, 18
mov rdi, value ; unsigned int fd
mov rsi, [addr] ; const char *buf
mov rdx, value ; size_t count
mov r10, value ; loff_t pos
syscall
; Return value in rax
#19readv

PARAMETERS

%rdi: unsigned long fd
%rsi: const struct iovec *vec
%rdx: unsigned long vlen

ASSEMBLY EXAMPLE

; readv syscall (19)
mov rax, 19
mov rdi, value ; unsigned long fd
mov rsi, [addr] ; const struct iovec *vec
mov rdx, value ; unsigned long vlen
syscall
; Return value in rax
#20writev

PARAMETERS

%rdi: unsigned long fd
%rsi: const struct iovec *vec
%rdx: unsigned long vlen

ASSEMBLY EXAMPLE

; writev syscall (20)
mov rax, 20
mov rdi, value ; unsigned long fd
mov rsi, [addr] ; const struct iovec *vec
mov rdx, value ; unsigned long vlen
syscall
; Return value in rax
#21access

PARAMETERS

%rdi: const char *filename
%rsi: int mode

ASSEMBLY EXAMPLE

; access syscall (21)
mov rax, 21
mov rdi, [addr] ; const char *filename
mov rsi, value ; int mode
syscall
; Return value in rax
#22pipe

PARAMETERS

%rdi: int *fildes

ASSEMBLY EXAMPLE

; pipe syscall (22)
mov rax, 22
mov rdi, value ; int *fildes
syscall
; Return value in rax
#23select

PARAMETERS

%rdi: int n
%rsi: fd_set *inp
%rdx: fd_set *outp
%r10: fd_set *exp
%r8: struct timeval *tvp

ASSEMBLY EXAMPLE

; select syscall (23)
mov rax, 23
mov rdi, value ; int n
mov rsi, value ; fd_set *inp
mov rdx, value ; fd_set *outp
mov r10, value ; fd_set *exp
mov r8, value ; struct timeval *tvp
syscall
; Return value in rax
#24sched_yield

PARAMETERS

ASSEMBLY EXAMPLE

; sched_yield syscall (24)
mov rax, 24

syscall
; Return value in rax
#25mremap

PARAMETERS

%rdi: unsigned long addr
%rsi: unsigned long old_len
%rdx: unsigned long new_len
%r10: unsigned long flags
%r8: unsigned long new_addr

ASSEMBLY EXAMPLE

; mremap syscall (25)
mov rax, 25
mov rdi, value ; unsigned long addr
mov rsi, value ; unsigned long old_len
mov rdx, value ; unsigned long new_len
mov r10, value ; unsigned long flags
mov r8, value ; unsigned long new_addr
syscall
; Return value in rax
#26msync

PARAMETERS

%rdi: unsigned long start
%rsi: size_t len
%rdx: int flags

ASSEMBLY EXAMPLE

; msync syscall (26)
mov rax, 26
mov rdi, value ; unsigned long start
mov rsi, value ; size_t len
mov rdx, value ; int flags
syscall
; Return value in rax
#27mincore

PARAMETERS

%rdi: unsigned long start
%rsi: size_t len
%rdx: unsigned char *vec

ASSEMBLY EXAMPLE

; mincore syscall (27)
mov rax, 27
mov rdi, value ; unsigned long start
mov rsi, value ; size_t len
mov rdx, value ; unsigned char *vec
syscall
; Return value in rax
#28madvise

PARAMETERS

%rdi: unsigned long start
%rsi: size_t len
%rdx: int behavior

ASSEMBLY EXAMPLE

; madvise syscall (28)
mov rax, 28
mov rdi, value ; unsigned long start
mov rsi, value ; size_t len
mov rdx, value ; int behavior
syscall
; Return value in rax
#32dup

PARAMETERS

%rdi: unsigned int fildes

ASSEMBLY EXAMPLE

; dup syscall (32)
mov rax, 32
mov rdi, value ; unsigned int fildes
syscall
; Return value in rax
#33dup2

PARAMETERS

%rdi: unsigned int oldfd
%rsi: unsigned int newfd

ASSEMBLY EXAMPLE

; dup2 syscall (33)
mov rax, 33
mov rdi, value ; unsigned int oldfd
mov rsi, value ; unsigned int newfd
syscall
; Return value in rax
#34pause

PARAMETERS

ASSEMBLY EXAMPLE

; pause syscall (34)
mov rax, 34

syscall
; Return value in rax
#35nanosleep

PARAMETERS

%rdi: struct timespec *rqtp
%rsi: struct timespec *rmtp

ASSEMBLY EXAMPLE

; nanosleep syscall (35)
mov rax, 35
mov rdi, value ; struct timespec *rqtp
mov rsi, value ; struct timespec *rmtp
syscall
; Return value in rax
#37alarm

PARAMETERS

%rdi: unsigned int seconds

ASSEMBLY EXAMPLE

; alarm syscall (37)
mov rax, 37
mov rdi, value ; unsigned int seconds
syscall
; Return value in rax
#39getpid

PARAMETERS

ASSEMBLY EXAMPLE

; getpid syscall (39)
mov rax, 39

syscall
; Return value in rax
#41socket

PARAMETERS

%rdi: int family
%rsi: int type
%rdx: int protocol

ASSEMBLY EXAMPLE

; socket syscall (41)
mov rax, 41
mov rdi, value ; int family
mov rsi, value ; int type
mov rdx, value ; int protocol
syscall
; Return value in rax
#42connect

PARAMETERS

%rdi: int fd
%rsi: struct sockaddr *uservaddr
%rdx: int addrlen

ASSEMBLY EXAMPLE

; connect syscall (42)
mov rax, 42
mov rdi, value ; int fd
mov rsi, value ; struct sockaddr *uservaddr
mov rdx, value ; int addrlen
syscall
; Return value in rax
#43accept

PARAMETERS

%rdi: int fd
%rsi: struct sockaddr *upeer_sockaddr
%rdx: int *upeer_addrlen

ASSEMBLY EXAMPLE

; accept syscall (43)
mov rax, 43
mov rdi, value ; int fd
mov rsi, value ; struct sockaddr *upeer_sockaddr
mov rdx, value ; int *upeer_addrlen
syscall
; Return value in rax
#44sendto

PARAMETERS

%rdi: int fd
%rsi: void *buff
%rdx: size_t len
%r10: unsigned flags
%r8: struct sockaddr *addr
%r9: int addr_len

ASSEMBLY EXAMPLE

; sendto syscall (44)
mov rax, 44
mov rdi, value ; int fd
mov rsi, value ; void *buff
mov rdx, value ; size_t len
mov r10, value ; unsigned flags
mov r8, value ; struct sockaddr *addr
mov r9, value ; int addr_len
syscall
; Return value in rax
#45recvfrom

PARAMETERS

%rdi: int fd
%rsi: void *ubuf
%rdx: size_t size
%r10: unsigned flags
%r8: struct sockaddr *addr
%r9: int *addr_len

ASSEMBLY EXAMPLE

; recvfrom syscall (45)
mov rax, 45
mov rdi, value ; int fd
mov rsi, value ; void *ubuf
mov rdx, value ; size_t size
mov r10, value ; unsigned flags
mov r8, value ; struct sockaddr *addr
mov r9, value ; int *addr_len
syscall
; Return value in rax
#46sendmsg

PARAMETERS

%rdi: int fd
%rsi: struct msghdr *msg
%rdx: unsigned flags

ASSEMBLY EXAMPLE

; sendmsg syscall (46)
mov rax, 46
mov rdi, value ; int fd
mov rsi, value ; struct msghdr *msg
mov rdx, value ; unsigned flags
syscall
; Return value in rax
#47recvmsg

PARAMETERS

%rdi: int fd
%rsi: struct msghdr *msg
%rdx: unsigned int flags

ASSEMBLY EXAMPLE

; recvmsg syscall (47)
mov rax, 47
mov rdi, value ; int fd
mov rsi, value ; struct msghdr *msg
mov rdx, value ; unsigned int flags
syscall
; Return value in rax
#49bind

PARAMETERS

%rdi: int fd
%rsi: struct sockaddr *umyaddr
%rdx: int addrlen

ASSEMBLY EXAMPLE

; bind syscall (49)
mov rax, 49
mov rdi, value ; int fd
mov rsi, value ; struct sockaddr *umyaddr
mov rdx, value ; int addrlen
syscall
; Return value in rax
#50listen

PARAMETERS

%rdi: int fd
%rsi: int backlog

ASSEMBLY EXAMPLE

; listen syscall (50)
mov rax, 50
mov rdi, value ; int fd
mov rsi, value ; int backlog
syscall
; Return value in rax
#54setsockopt

PARAMETERS

%rdi: int fd
%rsi: int level
%rdx: int optname
%r10: char *optval
%r8: int optlen

ASSEMBLY EXAMPLE

; setsockopt syscall (54)
mov rax, 54
mov rdi, value ; int fd
mov rsi, value ; int level
mov rdx, value ; int optname
mov r10, value ; char *optval
mov r8, value ; int optlen
syscall
; Return value in rax
#55getsockopt

PARAMETERS

%rdi: int fd
%rsi: int level
%rdx: int optname
%r10: char *optval
%r8: int *optlen

ASSEMBLY EXAMPLE

; getsockopt syscall (55)
mov rax, 55
mov rdi, value ; int fd
mov rsi, value ; int level
mov rdx, value ; int optname
mov r10, value ; char *optval
mov r8, value ; int *optlen
syscall
; Return value in rax
#56clone

PARAMETERS

%rdi: unsigned long clone_flags
%rsi: unsigned long newsp
%rdx: int *parent_tidptr
%r10: unsigned long tls
%r8: int *child_tidptr

ASSEMBLY EXAMPLE

; clone syscall (56)
mov rax, 56
mov rdi, value ; unsigned long clone_flags
mov rsi, value ; unsigned long newsp
mov rdx, value ; int *parent_tidptr
mov r10, value ; unsigned long tls
mov r8, value ; int *child_tidptr
syscall
; Return value in rax
#57fork

PARAMETERS

ASSEMBLY EXAMPLE

; fork syscall (57)
mov rax, 57

syscall
; Return value in rax
#58vfork

PARAMETERS

ASSEMBLY EXAMPLE

; vfork syscall (58)
mov rax, 58

syscall
; Return value in rax
#59execve

PARAMETERS

%rdi: const char *filename
%rsi: const char *const *argv
%rdx: const char *const *envp

ASSEMBLY EXAMPLE

; execve syscall (59)
mov rax, 59
mov rdi, [addr] ; const char *filename
mov rsi, [addr] ; const char *const *argv
mov rdx, [addr] ; const char *const *envp
syscall
; Return value in rax
#60exit

PARAMETERS

%rdi: int error_code

ASSEMBLY EXAMPLE

; exit syscall (60)
mov rax, 60
mov rdi, value ; int error_code
syscall
; Return value in rax
#61wait4

PARAMETERS

%rdi: pid_t upid
%rsi: int *stat_addr
%rdx: int options
%r10: struct rusage *ru

ASSEMBLY EXAMPLE

; wait4 syscall (61)
mov rax, 61
mov rdi, value ; pid_t upid
mov rsi, value ; int *stat_addr
mov rdx, value ; int options
mov r10, value ; struct rusage *ru
syscall
; Return value in rax
#62kill

PARAMETERS

%rdi: pid_t pid
%rsi: int sig

ASSEMBLY EXAMPLE

; kill syscall (62)
mov rax, 62
mov rdi, value ; pid_t pid
mov rsi, value ; int sig
syscall
; Return value in rax
#63uname

PARAMETERS

%rdi: struct old_utsname *name

ASSEMBLY EXAMPLE

; uname syscall (63)
mov rax, 63
mov rdi, value ; struct old_utsname *name
syscall
; Return value in rax
#78getdents

PARAMETERS

%rdi: unsigned int fd
%rsi: struct linux_dirent *dirent
%rdx: unsigned int count

ASSEMBLY EXAMPLE

; getdents syscall (78)
mov rax, 78
mov rdi, value ; unsigned int fd
mov rsi, value ; struct linux_dirent *dirent
mov rdx, value ; unsigned int count
syscall
; Return value in rax
#79getcwd

PARAMETERS

%rdi: char *buf
%rsi: unsigned long size

ASSEMBLY EXAMPLE

; getcwd syscall (79)
mov rax, 79
mov rdi, value ; char *buf
mov rsi, value ; unsigned long size
syscall
; Return value in rax
#80chdir

PARAMETERS

%rdi: const char *filename

ASSEMBLY EXAMPLE

; chdir syscall (80)
mov rax, 80
mov rdi, [addr] ; const char *filename
syscall
; Return value in rax
#82rename

PARAMETERS

%rdi: const char *oldname
%rsi: const char *newname

ASSEMBLY EXAMPLE

; rename syscall (82)
mov rax, 82
mov rdi, [addr] ; const char *oldname
mov rsi, [addr] ; const char *newname
syscall
; Return value in rax
#83mkdir

PARAMETERS

%rdi: const char *pathname
%rsi: umode_t mode

ASSEMBLY EXAMPLE

; mkdir syscall (83)
mov rax, 83
mov rdi, [addr] ; const char *pathname
mov rsi, value ; umode_t mode
syscall
; Return value in rax
#84rmdir

PARAMETERS

%rdi: const char *pathname

ASSEMBLY EXAMPLE

; rmdir syscall (84)
mov rax, 84
mov rdi, [addr] ; const char *pathname
syscall
; Return value in rax
#85creat

PARAMETERS

%rdi: const char *pathname
%rsi: umode_t mode

ASSEMBLY EXAMPLE

; creat syscall (85)
mov rax, 85
mov rdi, [addr] ; const char *pathname
mov rsi, value ; umode_t mode
syscall
; Return value in rax
#86link

PARAMETERS

%rdi: const char *oldname
%rsi: const char *newname

ASSEMBLY EXAMPLE

; link syscall (86)
mov rax, 86
mov rdi, [addr] ; const char *oldname
mov rsi, [addr] ; const char *newname
syscall
; Return value in rax
#87unlink

PARAMETERS

%rdi: const char *pathname

ASSEMBLY EXAMPLE

; unlink syscall (87)
mov rax, 87
mov rdi, [addr] ; const char *pathname
syscall
; Return value in rax
#88symlink

PARAMETERS

%rdi: const char *oldname
%rsi: const char *newname

ASSEMBLY EXAMPLE

; symlink syscall (88)
mov rax, 88
mov rdi, [addr] ; const char *oldname
mov rsi, [addr] ; const char *newname
syscall
; Return value in rax
#89readlink

PARAMETERS

%rdi: const char *path
%rsi: char *buf
%rdx: int bufsiz

ASSEMBLY EXAMPLE

; readlink syscall (89)
mov rax, 89
mov rdi, [addr] ; const char *path
mov rsi, value ; char *buf
mov rdx, value ; int bufsiz
syscall
; Return value in rax
#90chmod

PARAMETERS

%rdi: const char *filename
%rsi: umode_t mode

ASSEMBLY EXAMPLE

; chmod syscall (90)
mov rax, 90
mov rdi, [addr] ; const char *filename
mov rsi, value ; umode_t mode
syscall
; Return value in rax
#102getuid

PARAMETERS

ASSEMBLY EXAMPLE

; getuid syscall (102)
mov rax, 102

syscall
; Return value in rax
#104getgid

PARAMETERS

ASSEMBLY EXAMPLE

; getgid syscall (104)
mov rax, 104

syscall
; Return value in rax
#105setuid

PARAMETERS

%rdi: uid_t uid

ASSEMBLY EXAMPLE

; setuid syscall (105)
mov rax, 105
mov rdi, value ; uid_t uid
syscall
; Return value in rax
#106setgid

PARAMETERS

%rdi: gid_t gid

ASSEMBLY EXAMPLE

; setgid syscall (106)
mov rax, 106
mov rdi, value ; gid_t gid
syscall
; Return value in rax
#107geteuid

PARAMETERS

ASSEMBLY EXAMPLE

; geteuid syscall (107)
mov rax, 107

syscall
; Return value in rax
#108getegid

PARAMETERS

ASSEMBLY EXAMPLE

; getegid syscall (108)
mov rax, 108

syscall
; Return value in rax
#217getdents64

PARAMETERS

%rdi: unsigned int fd
%rsi: struct linux_dirent64 *dirent
%rdx: unsigned int count

ASSEMBLY EXAMPLE

; getdents64 syscall (217)
mov rax, 217
mov rdi, value ; unsigned int fd
mov rsi, value ; struct linux_dirent64 *dirent
mov rdx, value ; unsigned int count
syscall
; Return value in rax
#231exit_group

PARAMETERS

%rdi: int error_code

ASSEMBLY EXAMPLE

; exit_group syscall (231)
mov rax, 231
mov rdi, value ; int error_code
syscall
; Return value in rax
#257openat

PARAMETERS

%rdi: int dfd
%rsi: const char *filename
%rdx: int flags
%r10: umode_t mode

ASSEMBLY EXAMPLE

; openat syscall (257)
mov rax, 257
mov rdi, value ; int dfd
mov rsi, [addr] ; const char *filename
mov rdx, value ; int flags
mov r10, value ; umode_t mode
syscall
; Return value in rax
#262newfstatat

PARAMETERS

%rdi: int dfd
%rsi: const char *filename
%rdx: struct stat *statbuf
%r10: int flag

ASSEMBLY EXAMPLE

; newfstatat syscall (262)
mov rax, 262
mov rdi, value ; int dfd
mov rsi, [addr] ; const char *filename
mov rdx, value ; struct stat *statbuf
mov r10, value ; int flag
syscall
; Return value in rax
#318getrandom

PARAMETERS

%rdi: char *buf
%rsi: size_t count
%rdx: unsigned int flags

ASSEMBLY EXAMPLE

; getrandom syscall (318)
mov rax, 318
mov rdi, value ; char *buf
mov rsi, value ; size_t count
mov rdx, value ; unsigned int flags
syscall
; Return value in rax

About Linux System Calls

System calls (syscalls) are the fundamental interface between user-space applications and the Linux kernel. Understanding syscalls is essential for low-level programming, shellcode development, return-oriented programming (ROP), and exploiting vulnerabilities in Linux systems across different architectures including x86-64, ARM64 (aarch64), and ARM32 (EABI).

Each architecture uses different registers for syscall arguments: x86-64 uses rax/rdi/rsi/rdx/r10/r8/r9, ARM64 uses x8/x0-x5, and ARM32 uses r7/r0-r6. This reference includes accurate syscall numbers and parameter mappings verified against official Linux kernel sources, making it reliable for security research, exploit development, and reverse engineering tasks.

Use this syscall reference for building exploits, understanding binary behavior, writing shellcode, analyzing malware, CTF competitions, penetration testing, and learning low-level Linux internals. All syscall data is sourced from the latest Linux kernel syscall tables to ensure accuracy for modern exploitation techniques.