⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 说明.txt

📁 用纯C写的基于x86结构的保护模式相关操作
💻 TXT
字号:
编译环境:MASM6.11
运行环境:WINDOWS98早期版本自带的DOS环境【纯DOS】

“原版”文件夹内装的是原版的文件,”改版“文件夹内装的是改过后的文件。文件内有详细注释,改过的地方都有明确标出可和原版对照着看。
386SCD.INC文件是头文件

ASM1.ASM文件是一个演示从实模式到保护模式的最简单代码。    逻辑功能是,以十六进制数的形式显示从内存地址110000H开始的256个字节的值

ASM2.ASM文件也是演示从实模式转换到保护模式。
     逻辑功能是,以十六进制数和ASCII字符两种形式显示从内存地址100000H开始的16个字节的内容。

实现步骤是:
(1)作切换到保护方式的准备;
(2)切换到保护方式的一个32位代码段;
(3)把指定内存区域的内容以字节为单位,转换成对应的十六进制数的ASCII码,并直接填入显示缓冲区实现显示;
(4)再变换到保护方式下的一个16位代码段;
(5)把指定内存区域的内容直接作为ASCII码填入显示缓冲区中实现显示;
(6)切换回实模式。
     但是在程序中使用了32位代码段,一运行就重启!


ASM5.ASM文件演示任务切换。
    逻辑功能是在切换后显示原任务的挂起点(EIP)的值。该实例演示内容包括:直接通过TSS段的任务切换,通过任务门的任务切换,任务内特权级的变换及参数传递。

主要实现步骤如下: 
(1)实模式下初始化; 
(2)切换到保护模式; 
(3)设置TR对应临时任务,特权级为0; 
(4)直接切换到演示任务,演示任务的特权级为2; 
(5)把入口参数压入堆栈,经调用门进入显示信息子程序,显示信息子程序的特权级为0; 
(6)从堆栈中取出入口参数并处理; 
(7)从显示信息子程序返回特权级为2的演示代码段; 
(8)为切换回实模式作部分准备工作; 
(9)经任务门切换到特权级为0的临时任务; 
(10)准备返回实模式; 
(11)切换到实模式; 
(12)实模式下的恢复工作。 
         但是一运行就重启!!!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -