- iretd返回时
检查EFLAGES.NT位(Nested Task Flag)
1:任务的嵌套返回
0:中断门或陷阱门的返回
默认的时候,nt位为0,通过iretd正常返回(读取堆栈),当任务嵌套返回的时候:
CPU->TR->TSS->LINK-TSS
当任务嵌套返回的时候,读取TSS任务段,再通过 TSS找到LINK,这个时候如果非正常任务嵌套返回(手动修改eflage寄存器为4046等等…),就会导致cpu产生硬件异常,蓝屏。因为LINK里面并没有一个正确的TSS