`
wls981
  • 浏览: 137873 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

实模式->保护模式->实模式 切换的注意事项

阅读更多
   1、程序开始时在实模式下要有自己的堆栈段,进入保护模式前先暂存ss及sp的值至某内存处,以便从保护模式返回实模式后恢复到原先的堆栈。
    2、返回实模式前需把各段寄存器设置为规范段,包括SS也要设置
    3、返回实模式前必须在16位段返回,不能在32位段里返回实模式。
    4、返回实模式前的段必须定义在GDT中。
    5、在32位段下操作有关寄存器时,注意32位寄存器和16位寄存器的差别,类似于SP寄存器,应用使用ESP寄存器。
    6、在使用定义在LDT中的段时,一定要使用LLDT先加载LDT缓冲寄存器(LDTR)。
    7、用于返回实模式的代码段的段界限必须为0FFFFH,不能为实际长度,否则要么在跳转到实模式的时候出错要么在跳转到实模式后执行int 21H出错。(个人推测原因如下:80286开始为每个段寄存器增加了段描述符高速缓冲寄存器,而这些缓冲寄存器对于程序员是不可见的,且在实模式下是不能修改的,要想改变这些高速缓冲寄存器的值必须通过在保护模式下修改相应的段寄存器的选择子来实现,这也是为什么在返回实模式之前必须把DS、ES、FS、GS、SS设置为规范段的原因。但是CS是一个特殊的段,不能通过常规方式修改,只能通过段间跳转修改,而一旦跳到实模式后又不能修改了,所以就要求在返回实模式的段的段描述符必须符合实模式下的要求。实模式下的段长度是0FFFFH,也就是64K,如果用于返回实模式的段的段界限不是0FFFFH,会导致返回实模式后实模式下的CS段的高速缓冲寄存器的段长度还是保护模式时的段界限值,这是不正确的,所以要求用于返回实模式的段的段界限必须是0FFFFH。)

ps:所谓规范段是指实模式下的标准段属性,一般段界限为0FFFFH,段属性为可读写。


可参考一下这篇: http://wls981.iteye.com/admin/blogs/443238
分享到:
评论

相关推荐

    STAR_bp3000打印机内部维修培训资料.doc

    - **仿真模式切换**: 从OKI仿真切换到OLIVETTI仿真时,需要通过以下步骤更改设置: - `MENU` -> `INTERFACE` -> `Type` -> 选择`RS232` (适用于OLIVETTI) 或 `External` (适用于OKI)。 - `MENU` -> `Emul.type1` ->...

    x86汇编语言从实模式到保护模式(完整版)更新过

    7. **设备驱动编程**:可能涉及在保护模式下编写设备驱动的技巧和注意事项。 通过阅读这本教程的完整版,读者不仅可以掌握x86汇编语言的基本语法,还能深入了解操作系统底层的工作原理,为进行系统级编程或研究操作...

    windows7手册

    **注意事项:** - 此方法适用于Windows 7系统,并且要求当前用户具有管理员权限。 - System账户具有最高权限,应谨慎使用,避免对系统造成不必要的更改或损害。 - 该方法仅提供命令行界面访问,若需图形界面访问,则...

    利用FANUC-Ladder III 进行梯形图在线编辑的方法

    #### 注意事项 1. **梯形图的保存**: - 在将FANUCLADDERIII的`Programmer Mode`改为`Offline`状态后,需要将修改过的梯形图写入NC端的FROM(Flash Read-Only Memory),才能永久保存在NC端。 2. **在线状态...

    OGG 12c Integrated 和 Classic 模式互相切换案例

    2. **从Classic到Integrated**:如果当前环境满足Integrated模式的要求,为了提高性能,可以进行模式切换。首先,停止Classic模式下的所有GoldenGate进程,然后在数据库中安装并配置Integrated Extract和Replicat。 ...

    Fanconn EC20 USB Dongle使用说明书

    #### 五、注意事项 - 在使用过程中请注意保护设备不受物理损伤。 - 确保设备处于稳定的工作环境中,避免高温或潮湿环境。 - 定期检查天线连接是否牢固,以保持良好的信号接收。 - 若遇到任何技术问题,建议及时联系...

    DXP学习笔记

    #### PCB Layout注意事项 1. **元器件布局**:位于电路板边缘的元器件,离电路板边缘一般不小于2mm。 2. **安全间距**:某些元器件或导线之间可能有较高的电位差,应加大它们之间的距离,以免放电引起短路。 3. **...

    XC836量产模式下切换串口引导

    #### 注意事项 - **初始化IO端口:** 在软件中初始化IO端口时要注意,避免设置P0_DATAOUT,或者在进入BR_UART_BSL模式前重置RX/TX端口到默认状态。 - **固件更新工具:** 使用XC800F Load等专用软件进行固件的烧录...

    51单片机控制步进电机电路图

    例如,对于四相步进电机,可以按照0100->0110->0010->1010->1000->1100这样的顺序进行控制。 - **调节速度**:通过改变脉冲频率来调整步进电机的速度。频率越高,电机转速越快。 - **改变方向**:通过改变脉冲信号...

    松下AV-HS300MC切换台说明书

    - **注意事项**: - 使用推荐的附件以减少起火或电击风险。 - 不要擅自打开面板盖,因为内部没有用户可以自行维修的部件;如需维修,请联系专业技术人员。 - 设备底部贴有铭牌,注意查看。 - 安装时需遵循说明书...

    运动控制器使用手册(实模式)

    - **注意事项**: 本手册不包含任何关于工业所有权的保证或实施权承诺,用户需自行确保不会侵犯第三方权益。 综上所述,《运动控制器使用手册(实模式)》全面覆盖了从基础概念到高级应用的各种知识点,旨在帮助用户...

    2017操作系统实验三1

    操作系统实验三旨在让学生深入理解操作系统的中断与异常、I/O操作及其机制,以及实模式和保护模式下的中断处理。本次实验要求编写一个OS层次的I/O程序,以实现键盘输入并在屏幕上回显,同时支持特定的键盘组合键和...

    ORACLE高可用方案预研_ORACLE主从搭建和切换操作手册

    **四、最佳实践与注意事项** - 定期测试故障切换以验证系统的有效性。 - 保持软件更新,确保补丁级别一致。 - 监控系统性能,调整保护模式以平衡性能和数据安全性。 - 规划合理的网络架构,减少网络延迟对数据同步的...

    MOTEC-HLD系列大功率直流智能驱动器脉冲模式操作指南.pdf

    总结以上信息,MOTEC-HLD系列大功率直流智能驱动器在脉冲模式下的操作涉及对驱动器的正确参数设置、I/O接口的定义、硬件连线、操作步骤以及遵循操作指南中提及的注意事项。这些知识点对于实现精确的位置控制至关重要...

    使用直流稳压电源时的注意事项

    4. **串联使用注意事项**:当多路电源串联使用时,输出电流将受到额定值最小的一路限制。 5. **仪表读数理解**:每路电源都配备一个表头,用于显示电压或电流。通常设置为电压显示状态。了解这些仪表的正确读法有助...

    USB设计注意事项.pdf

    ### USB设计注意事项详解 #### 一、概述 随着USB技术的广泛应用,对于USB产品的设计要求也越来越高。良好的设计不仅能够确保产品的稳定运行,还能有效提升用户体验。本文将根据《USB设计注意事项.pdf》的内容,...

Global site tag (gtag.js) - Google Analytics