TSS任务段切换

Mark下:

JMP FAR和CALL FAR访问任务段的区别 

当使用JMP FAR来实现任务切换时,

TSS结构体中的Previous Task Link的值在任务切换完成之后为0,CPU不会为其赋值;

如果使用CALL FAR来实现任务切换,Previous Task Link的值在任务切换完成之后,CPU会将其填充为原来的TSS段选择子 


当使用JMP FAR来实现任务切换时,EFLAGS寄存器中的NT位不变;

当使用CALL FAR来实现任务切换时,EFLAGS寄存器中的NT位就会被置1


(NT位会对iret指令产生影响 NT位如果为0,iret的值从堆栈中取(中断返回);如果NT位为1,会找TSS中的Previous Task Link进行返回)

原文链接: TSS任务段切换 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙 ( https://gyarmy.com/post-623.html )

发表评论

0则评论给“TSS任务段切换”