1. 首页 > 数码

x86汇编从实模式到保护模式视频教程? x86汇编语言 从实模式到保护模式

x86汇编从实模式到保护模式视频教程?x86汇编语言 从实模式到保护模式

x86汇编语言:从实模式到保护模式

实模式也就是8086汇编,限制在 1m 的内存范围内编程。

保护模式则进行了扩展,可以在 16m 的内存范围内编程,相对就复杂些。

----但不管是实模式,还是保护模式,都是已过时的技术。

----后来的技术有386增强模式以及amd64技术,支持的内存更大,能力更强。

汇编语言中如何进入实模式 保护模式和虚拟86模式

首先,80386以及80386以后的CPU都是32位的

纯32位windows是不能进入实模式的,重启以后到载入WINDOWS以前都是实模式,也许你会说windows98不是是可以不用重启机器直接进入到纯DOS(实模式)下么

首先,98是个16位和32混编的系统,所以不稳定,但对游戏支持甚好,而且其内核是建立在16位上的(你要是搞过Win32编程就会有所了解),这样的话进入DOS很方便,或者在DOS下一条win命令就可以进入WINDOWS...

但是从NT开始就不行了,2000/XP都是建立在纯32位(NT开始)内核上的,所以很稳定,但是如果不重新启动到DOS下是不能进行实模式操作的,但是考虑程序的兼容问题,为了让以前的16位程序能在32位下运行,80386就提供了虚拟86模式(这和windows无关,是CPU提供的模式,另外可以告诉你,因为80286没有虚拟86模式,只有实模式和保护模式,当时一些流行的16位程序要使用的话必须重启到DOS下,再进到到保护模式),虚拟86模式实际上就是模拟16位的8086

CPU的实模式,但这和实模式有很大区别,最大的因该算是中断被屏蔽或转为windows的异常处理了,这样你要用诸如:int 13h 命令是行不通的,因为windows是建立在保护模式上的,保护模式下有自己的中断模式,如果你要从windows进入实模式的话只有重新启动再到DOS下了。

现在几乎不需要进入实模式了,除非你windows中了毒不能进入,到DOS下重装/恢复/备份系统,还有就是一些硬件底层的破解啦,比如破解还原卡之类的。

进入保护模式是每个32位系统必须的,因为这样系统才能才能利用保护模式提供的保护机制管理和维护自己,程序也就稳定了,

虚拟86模式没什么需要不需要,CPU提供这个模式,程序是16位的时候,系统会自动加载到虚拟86模式中运行...

我们在windows下打开的cmd(别忘了98下叫MS-DOS方式,这个模式仍是在16的内核上,而从NT开始的CMD就是纯32位了!!!!)它在系统中的定义是字符模式(非窗口),这样给一些16位的程序提供了运行环境....

就是这样。

《x86汇编-从实模式到保护模式》 的nasmide小工具用不了,

初步鉴定你是WIN10吧,亲。64位系统是模拟运行32位程序,效率会稍差,而且你文件是12年的,当时条件下对现在的系统支持度肯定是有兼容问题的。

解决方法一:兼容模式运行

解决方法二:百度asm editor下个win10-64位的

解决方法三:wei聊Fancywander有问题密

希望我的回答对您有用,帆启景燃

实模式转保护模式?

我目前正在学习实模式转保护模式,其中一步是要把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启动盘,重新启动后再试试。