关于ljmp

ljmp的含义是长跳,长跳主要就是重新加载寄存器,32位保护模式主要体现在段寄存器,具有可以参考段选择子和段描述符的概念,如果不用长跳的话,那么段寄存器不会重新加载,后面的取指结果仍然是老段寄存器中的值,当然保护模式不会生效了,Intel手册上有讲可见寄存器和不可见寄存器的篇章,可以看一下,其实实模式就是保护模式的一种权限全开放的特殊情况,就是说段寄存器左移相当于右边添加0,而这添加的0可以看做保护模式的RPL,RPL为0代表Intel的0环,当然是全权限了。
不过Intel的实模式的概念实属不得已而为之,现在的意义已经不大了,从实模式启动然后跳转到保护模式纯粹是在绕圈子,没有实质的意义,商业上为了保护以前的投资不得不将技术做的没有意义的复杂...

你可能感兴趣的:(关于ljmp)