From db1d0e53cc21678ace07b72652ed7b3b1054da30 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sun, 17 Aug 2025 18:12:58 +0200 Subject: feat: libSystem/SystemProc.asm: Move r8, to rax, cleanup rax before entering calling system call handler too. Signed-off-by: Amlal --- dev/libSystem/src/SystemProc.asm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'dev/libSystem/src/SystemProc.asm') diff --git a/dev/libSystem/src/SystemProc.asm b/dev/libSystem/src/SystemProc.asm index 299b59f9..8adcea0b 100644 --- a/dev/libSystem/src/SystemProc.asm +++ b/dev/libSystem/src/SystemProc.asm @@ -1,7 +1,7 @@ ;; /* ;; * ======================================================== ;; * -;; * libSystem/src/SystemCalls+IO.asm +;; * libSystem/src/SystemProc.asm ;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. ;; * ;; * ======================================================== @@ -22,6 +22,8 @@ libsys_syscall_arg_1: mov r8, rcx + xor rax, rax + int 50 pop rbp @@ -34,7 +36,9 @@ libsys_syscall_arg_2: mov r8, rcx mov r9, rdx - + + xor rax, rax + int 50 pop rbp @@ -49,6 +53,8 @@ libsys_syscall_arg_3: mov r9, rdx mov r10, rbx + xor rax, rax + int 50 pop rbp @@ -59,11 +65,15 @@ libsys_syscall_arg_4: push rbp mov rbp, rsp + mov rax, r8 + mov r8, rcx mov r9, rdx mov r10, rbx mov r11, rax + xor rax, rax + int 50 pop rbp -- cgit v1.2.3 From 918690e78ae54e4f763bb5756d7b9a5d5b04108a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 18 Aug 2025 15:47:44 +0200 Subject: feat: SystemProc.asm: Make use of `syscall` instead of `int 50` --- dev/libSystem/src/SystemProc.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'dev/libSystem/src/SystemProc.asm') diff --git a/dev/libSystem/src/SystemProc.asm b/dev/libSystem/src/SystemProc.asm index 8adcea0b..991a371f 100644 --- a/dev/libSystem/src/SystemProc.asm +++ b/dev/libSystem/src/SystemProc.asm @@ -24,7 +24,7 @@ libsys_syscall_arg_1: xor rax, rax - int 50 + syscall pop rbp @@ -39,7 +39,7 @@ libsys_syscall_arg_2: xor rax, rax - int 50 + syscall pop rbp @@ -55,7 +55,7 @@ libsys_syscall_arg_3: xor rax, rax - int 50 + syscall pop rbp @@ -74,7 +74,7 @@ libsys_syscall_arg_4: xor rax, rax - int 50 + syscall pop rbp -- cgit v1.2.3