os/arch/i686/interrupts/syscall.s

29 lines
308 B
ArmAsm
Raw Normal View History

2024-08-10 01:14:29 +02:00
.extern _syscall
.global syscall
syscall:
2024-11-27 21:57:18 +01:00
mov $0x10, %edx
mov %ax, %ds
mov %ax, %es
mov %ax, %fs
mov %ax, %gs
mov %esp, %edx
mov $0x00f00000, %esp
push 0x10(%edx)
push 0x0C(%edx)
push 0x08(%edx)
push 0x04(%edx)
push 0x00(%edx)
2024-08-10 01:14:29 +02:00
push %ecx
push %ebx
push %eax
call _syscall
pop %eax
pop %ebx
pop %ecx
iret