Assembly “调用远TSS描述符:偏移量”后出现异常`

Assembly “调用远TSS描述符:偏移量”后出现异常`,assembly,operating-system,x86,kernel,mbr,Assembly,Operating System,X86,Kernel,Mbr,我有一个大问题,我被困了一个月! 我正在编写汇编代码,通过在bochs中调用far[es:esi+TCB.addr\u tss]来执行任务切换,如图1所示 现在我进入新任务,所以我在bochs中键入“s”,如图2所示: 现在,一切似乎都正常,通用寄存器CS、SS、控制寄存器CR0、CR3、LDT也正常。但是你知道如果我再走一步会发生什么吗?见下图: 怎么了?! 我不知道。我检查了DPL、段限制,似乎没有什么问题。 哦,上帝保佑我…这是一个很大的讽刺,我忘了设置PDE的访问权限 你能上传整个可

我有一个大问题,我被困了一个月! 我正在编写汇编代码,通过在bochs中调用far[es:esi+TCB.addr\u tss]来执行任务切换,如图1所示

现在我进入新任务,所以我在bochs中键入“s”,如图2所示:

现在,一切似乎都正常,通用寄存器CS、SS、控制寄存器CR0、CR3、LDT也正常。但是你知道如果我再走一步会发生什么吗?见下图:

怎么了?! 我不知道。我检查了DPL、段限制,似乎没有什么问题。
哦,上帝保佑我…

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

你能上传整个可运行代码吗?准备是多余的,通过TSS切换上下文后的代码只是一个
mov-eax,eax