正在加载图片...
从编程的角度看,除了可以访问80386新增的一些寄存器外,实模式的80386处理器和 8086有什么进步呢?其实最大的好处是可以使用80386的32位寄存器,用32位的寄存器进 行编程可以使计算程序更加简捷,加快了执行速度。比如在8086时代用16位寄存器来完成 32位的乘法和除法时,要进行的步骤实在是太多了,于是考试时出这一类的题目就成了老师 们的最爱,所以那时候当学生做梦都想着让寄存器的位数快快长,现在梦想终于成真了,用 32位寄存器一条指令就可以完成(问题是老师们也发现了这个投机取巧的办法,为了达到让 学生们基础扎实的目的,也把题目换成了64位的乘法和除法,所以现在晚上做的梦换成了寄 存器忽然长到了64位);其次,80386中增加的两个辅助段寄存器FS和GS在实模式下也可 以使用,这样,同时可以访问的段达到了6个而不必考虑重新装入的问题:最后,很多80386 的新增指令也使一些原来不很方便的操作得以简化,如80386中可以使用下述指令进行数组 访问: mov Cx,.[eax+ebx*2+数组基地址] 这相当于把数组中下标为eax和ebx的项目放入cx中;cbx*2中的2可以是1,2,4 或8,这样就可以支持8位到64位的数组。而在8086处理器中,实现相同的功能要进行 次乘法和两次加法。另外, pushad和 popad指令可以一次把所有8个通用寄存器的值压入或 从堆栈中弹出,比起用下面的指令分别将8个寄存器入栈要快了很多 push b op ebx 当然,使用了这些新指令的程序是无法拿回到8086处理器上去执行的,因为这些指令的 编码在8086处理器上是未定义的。 2.保护模式 当80386工作在保护模式下的时候,它的所有功能都是可用的。这时80386所有的32 根地址线都可供寻址,物理寻址空间高达4GB。在保护模式下,支持内存分页机制,提供了 对虚拟内存的良好支持。虽然与8086可寻址的1MB物理地址空间相比,80386可寻址的物 理地址空间可谓很大,但实际的微机系统不可能安装如此大的物理内存。所以,为了运行大 型程序和真正实现多任务,虚拟内存是一种必需的技术。 保护模式下80386支持多任务,可以依靠硬件仅在一条指令中实现任务切换。任务环境 的保护工作是由处理器自动完成的。在保护模式下,80386处理器还支持优先级机制,不同 的程序可以运行在不同的优先级上。优先级一共分0~34个级别,操作系统运行在最高的优 先级0上,应用程序则运行在比较低的级别上;配合良好的检查机制后,既可以在任务间实 现数据的安全共享也可以很好地隔离各个任务。从实模式切换到保护模式是通过修改控制寄 存器CR0的控制位PE(位0)来实现的。在这之前还需要建立保护模式必需的一些数据表, 如全局描述符表GDT和中断描述符表IDT等 DOS操作系统运行于实模式下,而 Windows操作系统运行于保护模式下从编程的角度看,除了可以访问 80386 新增的一些寄存器外,实模式的 80386 处理器和 8086 有什么进步呢?其实最大的好处是可以使用 80386 的 32 位寄存器,用 32 位的寄存器进 行编程可以使计算程序更加简捷,加快了执行速度。比如在 8086 时代用 16 位寄存器来完成 32 位的乘法和除法时,要进行的步骤实在是太多了,于是考试时出这一类的题目就成了老师 们的最爱,所以那时候当学生做梦都想着让寄存器的位数快快长,现在梦想终于成真了,用 32 位寄存器一条指令就可以完成(问题是老师们也发现了这个投机取巧的办法,为了达到让 学生们基础扎实的目的,也把题目换成了 64 位的乘法和除法,所以现在晚上做的梦换成了寄 存器忽然长到了 64 位);其次,80386 中增加的两个辅助段寄存器 FS 和 GS 在实模式下也可 以使用,这样,同时可以访问的段达到了 6 个而不必考虑重新装入的问题;最后,很多 80386 的新增指令也使一些原来不很方便的操作得以简化,如 80386 中可以使用下述指令进行数组 访问: mov cx,[eax + ebx * 2 + 数组基地址] 这相当于把数组中下标为 eax 和 ebx 的项目放入 cx 中;ebx * 2 中的 2 可以是 1,2,4 或 8,这样就可以支持 8 位到 64 位的数组。而在 8086 处理器中,实现相同的功能要进行一 次乘法和两次加法。另外,pushad 和 popad 指令可以一次把所有 8 个通用寄存器的值压入或 从堆栈中弹出,比起用下面的指令分别将 8 个寄存器入栈要快了很多: push eax push ebx ... pop ebx pop eax 当然,使用了这些新指令的程序是无法拿回到 8086 处理器上去执行的,因为这些指令的 编码在 8086 处理器上是未定义的。 2. 保护模式 当 80386 工作在保护模式下的时候,它的所有功能都是可用的。这时 80386 所有的 32 根地址线都可供寻址,物理寻址空间高达 4 GB。在保护模式下,支持内存分页机制,提供了 对虚拟内存的良好支持。虽然与 8086 可寻址的 1 MB 物理地址空间相比,80386 可寻址的物 理地址空间可谓很大,但实际的微机系统不可能安装如此大的物理内存。所以,为了运行大 型程序和真正实现多任务,虚拟内存是一种必需的技术。 保护模式下 80386 支持多任务,可以依靠硬件仅在一条指令中实现任务切换。任务环境 的保护工作是由处理器自动完成的。在保护模式下,80386 处理器还支持优先级机制,不同 的程序可以运行在不同的优先级上。优先级一共分 0~3 4 个级别,操作系统运行在最高的优 先级 0 上,应用程序则运行在比较低的级别上;配合良好的检查机制后,既可以在任务间实 现数据的安全共享也可以很好地隔离各个任务。从实模式切换到保护模式是通过修改控制寄 存器 CR0 的控制位 PE(位 0)来实现的。在这之前还需要建立保护模式必需的一些数据表, 如全局描述符表 GDT 和中断描述符表 IDT 等。 DOS 操作系统运行于实模式下,而 Windows 操作系统运行于保护模式下
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有