我有一个大问题让我卡了一个月!我正在编写汇编代码来执行任务切换call far [es:esi + TCB.addr_tss]
,如图 1 所示。
现在我进入了新任务,所以我在 bochs 中输入 's',如图 2 所示:
目前看来一切正常,通用寄存器 CS、SS,控制寄存器 CR0、CR3,LDT 也正常。但是你知道如果我再迈一步会发生什么吗?见下图:
怎么了?!我不知道。我检查了 DPL,段限制,似乎没有错。哦,上帝保佑我...
我有一个大问题让我卡了一个月!我正在编写汇编代码来执行任务切换call far [es:esi + TCB.addr_tss]
,如图 1 所示。
现在我进入了新任务,所以我在 bochs 中输入 's',如图 2 所示:
目前看来一切正常,通用寄存器 CS、SS,控制寄存器 CR0、CR3,LDT 也正常。但是你知道如果我再迈一步会发生什么吗?见下图:
怎么了?!我不知道。我检查了 DPL,段限制,似乎没有错。哦,上帝保佑我...