外中断完成

master
阳光少年 1 year ago
parent fecc31e72b
commit 0ec631a645

@ -23,6 +23,7 @@ section .text
; ## eflag ; sti打开中断这个指令会把 if位 置为1,
; 如果使用sti指令 后压入栈的 eflags就是 0x212, 如果关闭中断则压入栈的eflags就变成了0x012, 0x212或者0x012 这俩数, 他们的bit位的第九位存在差别
; 此时压入栈的是0x212, 而eflag寄存器则是0x12, 因为我们初始化中断描述符的时候, 设置的是中断门 所以第九位被置为了0保存在了eflag寄存器中
; 所以, 在中断的时候 eflag中的 if位又被设置成了0(关闭中断状态), 如果我们想在中断处理函数内调度用户任务, 需要打开中断, 让用户任务执行的时候可以触发中断
; 时钟中断时 0x20 这个也没有错误码
%macro INTERRUPT_HANDLER 2

Loading…
Cancel
Save