summaryrefslogtreecommitdiff
path: root/src/internal/i386/syscall.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/i386/syscall.s')
-rw-r--r--src/internal/i386/syscall.s21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/internal/i386/syscall.s b/src/internal/i386/syscall.s
new file mode 100644
index 00000000..5b19a1b8
--- /dev/null
+++ b/src/internal/i386/syscall.s
@@ -0,0 +1,21 @@
+.global __syscall
+.type __syscall,%function
+__syscall:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ pushl %ebp
+ movl 20(%esp),%eax
+ movl 24(%esp),%ebx
+ movl 28(%esp),%ecx
+ movl 32(%esp),%edx
+ movl 36(%esp),%esi
+ movl 40(%esp),%edi
+ movl 44(%esp),%ebp
+ int $128
+ popl %ebp
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
+.size __syscall,.-__syscall