Content #
保护模式下的 far jump 共有三种:
- A far jump to a conforming or non-conforming code segment. 若目的段的特权级与当前特权级相同,则与实模式下的far jump没什么区别。若目的段的特权级与当前特权级不同,并且目的段为non-conforming,则产生异常。
- A far jump through a call gate. 忽略指令中offset部分。CPU跳转到call gate descriptor指定的段,执行 call gate中指定位移处的指令。不会有栈切换。
- A task switch. 忽略指令中offset部分。目的操作数指定了task gate中task的段选择符。 task gate中包括了指向目的task的TSS,会直接切换到对应的task。