summaryrefslogtreecommitdiff
path: root/zap/source/amd64/sys/syscall.s
diff options
context:
space:
mode:
Diffstat (limited to 'zap/source/amd64/sys/syscall.s')
-rw-r--r--zap/source/amd64/sys/syscall.s27
1 files changed, 0 insertions, 27 deletions
diff --git a/zap/source/amd64/sys/syscall.s b/zap/source/amd64/sys/syscall.s
deleted file mode 100644
index f6a615a..0000000
--- a/zap/source/amd64/sys/syscall.s
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022-2023 Gabriel Jensen.
-# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
-# If a copy of the MPL was not distributed with this file, You can obtain one at <https://mozilla.org/MPL/2.0>.
-
-.globl zap_syscall
-
-zap_syscall:
- # System calls on AMD64 use the following registers:
- # rax : System call identifier
- # rdi : First parameter
- # rsi : Second parameter
- # rdx : Third parameter
- # r10 : Fourth parameter
- # r8 : Fifth parameter
- # r9 : Sixth parameter
- # eax : Return value
- # No registers to save.
- movq %rdi,%rax # Move the first parameter (the identifier) to rax.
- movq %rsi,%rdi # Move parameters into their designated registers.
- movq %rdx,%rsi
- movq %rcx,%rdx
- movq %r8,%r10 # System calls use r10 instead of rcx.
- movq %r9,%r8
- movq 0x8(%rsp),%r9 # Extract the sixth argument from the stack.
- syscall # Slime incident
- # No need to move the return value.
- ret