`call far TSS descriptor:offset`之后的异常

时间:2013-06-07 02:44:50

标签: assembly operating-system x86 kernel mbr

我有一个很大的问题,让我陷入了一个月的困境! 我正在编写汇编代码,以便在bochs中通过call far [es:esi + TCB.addr_tss]执行任务切换,如图1所示。enter image description here

现在我进入新任务,所以我在bochs中键入's',如图2所示: enter image description here

目前,一切似乎还可以,通用寄存器CS,SS,cotrol寄存器CR0,CR3,LDT也可以。但是你知道如果我再次踏出会发生什么吗?见下图: enter image description here

怎么了?! 我不知道。我检查了DPL,段限制,似乎没有错。 哦,上帝保佑我......

1 个答案:

答案 0 :(得分:0)

这是一个很大的讽刺,我忘了为PDE设置访问权限。