第9章 设置ISR(中断处理函数)

中断处理有三个阶段
1、进入阶段:栈保存(带出错码的中断、不带出错码的中断)
2、处理阶段:中断处理
3、退出阶段:恢复栈
80x86中有特权级的概念,不同的特权级有不同的栈,所以中断发生时要保存中断前的栈地址。



查看intel使用手册


interrupt.s源代码文件(参考linux 0.11源代码)
    .global divide_error,debug_exception,nmi,breakpoint,overflow,bound,invalid_opcode
    .global coprocessor_not_available,double_fault,coprocessor_segment_overrun,invalid_tss
    .global segment_not_present,stack_exception,protection_exception,page_fault
    .global intel_reserved,coprecessor_error,default_isr,timer
    .include "kernel.inc"


divide_error:
    pushl $do_divide_error
no_error_c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值