2 #include <lunaix/syscall.h>
6 注意,这里的顺序非常重要。每个系统调用在这个地址表里的索引等于其调用号。
13 .dc.l terminate_process
17 .rept __SYSCALL_MAX - (2b - 1b)/4
31 cmpl $__SYSCALL_MAX, %eax
35 addl $syscall_table, %eax
43 pushl 24(%ebp) /* esi - #6 arg */
44 pushl 20(%ebp) /* ebp - #5 arg */
45 pushl 16(%ebp) /* edi - #4 arg */
46 pushl 12(%ebp) /* edx - #3 arg */
47 pushl 8(%ebp) /* ecx - #2 arg */
48 pushl 4(%ebp) /* ebx - #1 arg */