system.s

来自「虚拟地址空间基于文件的操作系统」· S 代码 · 共 33 行

S
33
字号
.global do_idle,reload_cr3_flag
.global system_call_interruption_routine,timer_interruption_routine

reload_cr3_flag:
	.long 10

do_idle:
	sti
	nop
	nop
	cli
	ret
system_call_interruption_routine:
	call save_parameter
	cmpl $(0x00),%edi
	je restore_parameter
	movl $(system_call_routine),0x48(%edi)
	jmp restore_parameter

timer_interruption_routine:
	call save_parameter
	cmpl $(0x00),%edi
	je 2f
	movl $(time_routine),0x48(%edi)
	jmp restore_parameter
2:
	call lock_os_kernel
	cmpl $(0x00),%eax
	jne 2b
	call kernel_semaphore_time_deal
	call unlock_os_kernel
	jmp restore_parameter

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?