汇编:实模式->保护模式->实模式 的切换步骤

1、设置必要的实模式环境,如实模式下的堆栈等。
2、初始化全局描述符表(GDT)、局部描述符表(LDT)及中断描述符表(IDT)等。
3、保存实模式下的堆栈地址到某内存处,以便切换回实模式后恢复,如有必要也可保存DS、ES、FS、GS等数据段寄存器的值。
4、加载全局描述符表至全局描述符表寄存器(GDTR),如果未定义中断描述符表,则关中断,然后打开地址线A20。
5、修改cr0的PE位为1,切换到保护模式。
6、使用段间跳转指令转到保护模式下的段,如果有局部描述符表,则应首先加载局部描述表段至局部描述符表寄存器(LDTR)。
7、设置保护模式下的堆栈段SS及堆栈指令SP(ESP)。
8、设置DS、ES、FS、GS指向某个数据段,防止无意中使用到未设置的数据段。
9、准备切换回实模式,用于切换回实模式的段必须是16位段且其段描述符必须定义在GDT中,其段限制必须是0FFFFH。
10、修改cr0的PE位为0切换回实模式。
11、恢复堆栈段至切换到保护模式之前的状态,如有必要也可恢复DS、ES等数据段。
12、关闭地址线A20。如中断为关闭状态,则打开中断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值