网站开发g,打开陕西建设厅网站,中国做视频网站有哪些内容,注册型网站推广IA-32为操作系统及其软件的发展提供了大量的支持#xff0c;它提供了4种操作模式#xff1a; 1,Real Mode,汇编书中的实模式#xff0c;工作方式相当于8086。 2,Protected Mode,保护模式#xff0c;提供支持多任务环境的工作形式。 3,Virtual 8086 Mode,虚拟8086模式#…IA-32为操作系统及其软件的发展提供了大量的支持它提供了4种操作模式 1,Real Mode,汇编书中的实模式工作方式相当于8086。 2,Protected Mode,保护模式提供支持多任务环境的工作形式。 3,Virtual 8086 Mode,虚拟8086模式可以从保护模式切换成一种8086工作方式可以使用户在保护模式下方便的运行一个或者多个8086源程序。 4,System Management Mode。 在IA-32中我们需要重点学习的是Protected Mode。 查阅资料发现稍微老一些的汇编书中只列出1-3这3种模式及他们的工作特点。 出于好奇和探究对第四种模式SMM进行了了解。 首先只有SMI才会引起进入SMM处理器保护现场切换到SMRAM里的一个独立地址空间执行SMM代码RSM指令会使系统返回原来的正常模式。 SMM相当于实模式没有特权级和地址映射可寻址4GB可执行所有I/O和可用系统指令。 当系统处于SMM时处理器不识别后继的SMI请求但是第一个SMI请求可以被锁存并在系统退出SMM后被处理。 内存在IA-32中被分为2个部分Segmentation,Paging。 Segmentation提供了一种机制可以分隔DATA,CODE,STACK以便多个程序在同一个处理器运行时不会互相妨碍。 Paging提供了一个通常的命令页将程序执行的虚拟内存系统映射在物理内存当中。它同样也为多任务提供隔离。 GDT是Protected Mode必须的数据结构所以进入保护模式之前必须先设定好GDT。 设定GDT可以采用Basic Flat Model,因为这个Model要求至少两个段描述符一个用来引用Data segment,一个用来引用Code segment。 除此之外还需要定义一个系统规定的空描述符。 设置好GDT后需要通过LGDT指令将设定的gdt入口地址和gdt表大小装入GDTR寄存器。 这时需要设置A20。 A20我感觉就是系统升级时留下的BUG8086/8088只有20位地址线能够表示的最大内存为1M,当需要访问100000h~10FFEFh之间的内存必须有第21根地址线这个就是A20。 现在在实模式下能访问最大的内存也只有10FFEFh再访问更大的需要进入保护模式进入保护模式前需要先打开A20。现在多数PC都是通过8204键盘控制器来处理A20但A20和8204其实没什么关系。通过汇编实现A20开启代码如下 asm push ax
asm in al,92h
asm or al,00000010b
asm out 92h,al
asm pop ax 之后开始切换到保护模式 asm mov eax,cr0
asm or eax,1
asm mov cr0,eax 实质是将之前说过的PE位置1。 理论上这样就进入了保护模式。 转载于:https://www.cnblogs.com/wudibuzaijia/p/8483871.html