对底层的摸索-中断

Int 21 显示器
Int 16 键盘

中断向量表 IVT
https://en.wikipedia.org/wiki/Interrupt_vector_table

X86特性。其他处理器不一定有内存向量表。
可以去xuetr里看。


刚看了wiki.中断只是个特性,特性者,就是你好就会被其他cpu所吸收。intel是cpu界的老大,它提出的概念,那没错了。
中断表是一个数据结构。
中断主要是有个程序会用到这个概念。叫做中断处理程序。
中断处理程序发出中断,cpu去查这个数据结构,如果有这个中断,那么就作出相应处理。
我的电脑是X86架构,因此就搜索X86 IVT


IVT偏移| INT#| 描述
----------- + ----------- + -------------------------- ---------
0x0000 | 0x00 | 除以0
0x0004 | 0x01 | 已预留
0x0008 | 0x02 | NMI中断
0x000C | 0x03 | 断点(INT3)
0x0010 | 0x04 | 溢出(INTO)
0x0014 | 0x05 | 超出范围(BOUND)
0x0018 | 0x06 | 无效的操作码(UD2)
0x001C | 0x07 | 设备不可用(WAIT / FWAIT)
0x0020 | 0x08 | 双重故障
0x0024 | 0x09 | 协处理器段超限
0x0028 | 0x0A | 无效的TSS
0x002C | 0x0B | 细分不存在
0x0030 | 0x0C | 堆栈段故障
0x0034 | 0x0D | 一般性保护错误
0x0038 | 0x0E | 页面错误
0x003C | 0x0F | 已预留
0x0040 | 0x10 | x87 FPU错误
0x0044 | 0x11 | 对齐检查
0x0048 | 0x12 | 机器检查
0x004C | 0x13 | SIMD浮点异常
0x00xx | 0x14-0x1F | 已预留
0x0xxx | 0x20-0xFF | 用户自定义
IVT偏移| INT#| IRQ#| 说明
----------- + ------- + ------- + --------------------- --------- 
0x0020 | 0x08 | 0 | PIT 
0x0024 | 0x09 | 1 | 键盘
0x0028 | 0x0A | 2 | 8259A从控制器
0x002C | 0x0B | 3 | COM2 / COM4 
0x0030 | 0x0C | 4 | COM1 / COM3 
0x0034 | 0x0D | 5 | LPT2 
0x0038 | 0x0E | 6 | 软盘控制器
0x003C | 0x0F | 7 | LPT1
IVT偏移| INT#| IRQ#| 说明
----------- + ------- + ------- + --------------------- --------- 
0x01C0 | 0x70 | 8 | RTC 
0x01C4 | 0x71 | 9 | 未分配
0x01C8 | 0x72 | 10 | 未分配的
0x01CC | 0x73 | 11 | 未分配
0x01D0 | 0x74 | 12 | 鼠标控制器
0x01D4 | 0x75 | 13 | 数学协处理器
0x01D8 | 0x76 | 14 | 硬盘控制器1 
0x01DC | 0x77 | 15 | 硬盘控制器2

既然中断有了,那么下一步就是怎么从这个内存地址读数据了。
C的话我不知道API。
汇编的话我记得可以操作CS:IP来改变当前的指令的执行。
因此,我可以搜linux下的中断处理程序。


有空写一下。
git clone https://github.com/Systems-IIITD/aos01.git
这个仓库。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值