:和中断门一样不能传参数
陷阱门和中断门的区别:
中断门执行时,将IF位清零,但陷阱门不会。
IF位:标志寄存器EFLAGS下标为9的那个位置
如果为0的话它不在接收可屏蔽中断
可屏蔽中断:影响键盘按下一个快捷键屏幕会熄灭,这些都受到IF位影响,就是通过硬件给软件发送的一个请求
不可屏蔽中断:比如计算机突然断点,电脑会通过电脑管理器给CPU发送一个请求这个请求不受IF影响,不管是0是1,CPU会立马去处理
构造一个陷阱门:
0000 0000 0000 0000 1110 1111 0000 0000
0000EF00
选择子
0000 0000 0000 0000 0000 0000 0000 0000
系统段:0000 0000 0000 1000:0008
用户段:0000 0000 0001 1011:001B
和中断门几乎一样把描述符写进idt表里面,找到下标为0x20的位置
eq 8003f500 0000EF00`00080000
这里只是一个描述符,并没有把地址写到offset。
和中断门一样通过int 0x20执行。
它和中断门怎么区分呢?
主要就是看8-12位,type域
中断门的type域:D110 (其中D == 1,因为用的是32位的操作系统)
陷阱门的type域:D111