📄 entry.s
字号:
.text.code32ret_from_exception: popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs iret.global divide_error.align 4divide_error: pushl $0 pushl $do_divide_error.align 4error_code: pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx movl 40(%esp), %eax # function address call *%eax jmp ret_from_exception.extern do_dummy_interrupt_handler.global dummy_interrupt_handler.align 4dummy_interrupt_handler: cli pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx cld call do_dummy_interrupt_handler popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs sti iret.extern schedule.extern timer_handler.global timer_isr.align 4timer_isr: cli pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx cld call timer_handler call schedule popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs sti iret.extern kbd_handler.global kbd_isr.align 4kbd_isr: cli pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx cld call kbd_handler popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs sti iret.extern floppy_handler.global floppy_isr.align 4floppy_isr: cli pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx cld call floppy_handler popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs sti iret.extern display_regs2.global ret_from_fork.global system_call.align 4system_call: cli pushl %fs pushl %es pushl %ds pushl %eax pushl %ebp pushl %edi pushl %esi pushl %edx pushl %ecx pushl %ebx cld call *(sys_call_table)(,%eax,4) ret_from_fork: # call display_regs2 call schedule popl %ebx popl %ecx popl %edx popl %esi popl %edi popl %ebp popl %eax popl %ds popl %es popl %fs sti iret.datasys_call_table: .long sys_ni_syscall #0 .long sys_exit .long sys_fork .long sys_read .long sys_write .long sys_open #5 .long sys_close .long sys_waitpid .long sys_creat .long sys_link .long sys_unlink #10 .long sys_execve .long sys_chdir .long sys_time .long sys_mknod .long sys_chmod #15 .long sys_lchown16 .long sys_ni_syscall .long sys_stat .long sys_lseek .long sys_getpid #20 .long sys_mount .long sys_oldumount .long sys_setuid16 .long sys_getuid16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -