2012年2月16日

摘要: Linux 系统包含了一大堆的中断,是所有操作的基础。中断中的开闭中断cli(close interrupt)指令用来复位CPU标志寄存器中的中断标志,使系统不响应外部中断。sti(start interrupt)指令用来复位,使系统响应中断。asm.s 设置了一堆底层中断,进入中断前要压入eax等寄存器,执行完要pop 出一些寄存器。这种统一的工作在 no_error_code里trap.c 里面是真正的中断处理C函数。set_trap_gate 就是设置IDT, 把asm.s中的函数地址加载到IDT表中。这个函数里内嵌汇编,内嵌汇编的语法讲了一些system_call.s 是系统调用的处理 阅读全文

posted @ 2012-02-16 16:00 Teddy Yan 阅读(381) 评论(0) 推荐(0) 编辑


Copyright © 2024 Teddy Yan
Powered by .NET 8.0 on Kubernetes