我想问一下从实模式转保护模式的原理,特别是物理地址到线性地址的转换原理?
具体的汇编实现代码,要详细的解析(注:由于本人较笨!),
求高人指点一二!
我想问一下从实模式转保护模式的原理,特别是物理地址到线性地址的转换原理?
具体的汇编实现代码,要详细的解析(注:由于本人较笨!),
求高人指点一二!
我目前正在学习实模式转保护模式,其中一步是要把CR0的PE置1,一般是这么做:
MOV EAX , CR0
OR EAX , 1
MOV CR0 , EAX
可我在执行第三步时,便自行重起
但若无第二步则可运行,我怀疑是被编译优化掉了
请指教!!
附:操作系统:DOS 6.22,在CONFIG.SYS中无论加不加HIMEM.SYS & EMM386.EXE 结果都一样.
一般这种程序是在执行LGDT时候重启计算机,还有的可能是你不是在RING0层,不允许访问CR0,也就是说,你可能运行了其他保护模式程序,你可以用DOS启动盘,重新启动后再试试。