system_call.s
来自「阿基米德操作系统的源代码」· S 代码 · 共 53 行
S
53 行
nr_system_calls = 5.globl system_call.align 4system_call:
cld
push %gs
push %fs
push %es
push %ds
pushl %ebp
pushl %edi
pushl %esi
pushl %edx
pushl %ecx
pushl %ebx
movl $0x10,%edx
mov %dx,%ds
mov %dx,%es
mov %dx,%fs
//////////////////////////////////////
pushl %eax
shrl $16,%eax
cmpl $nr_system_calls - 1,%eax
ja system_call_0
call *system_call_table(,%eax,4)
jmp system_call_1
system_call_0:
movl $-1,%eax
system_call_1:
addl $4,%esp
//////////////////////////////////////
popl %ebx
popl %ecx
popl %edx
popl %esi
popl %edi
popl %ebp
pop %ds
pop %es
pop %fs
pop %gs
iret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?