Chapter 10 Initialization

10章 初始化

After a signal on the RESET pin, certain registers of the 80386 are set to predefined values. These values are adequate to enable execution of a bootstrap program, but additional initialization must be performed by software before all the features of the processor can be utilized.

在REST引脚发送信号后,80386的某些寄存器被设置为预定的值。这些值仅够用来执行启动(bootstrap)程序,但在所有的处理器特性可以被使用这衫,还必须由软件执行额外的初始化。

10.1 Processor State After Reset 

重置后的处理器状态

The contents of EAX depend upon the results of the power-up self test. The self-test may be requested externally by assertion of BUSY# at the end of RESET. The EAX register holds zero if the 80386 passed the test. A nonzero value in EAX after self-test indicates that the particular 80386 unit is faulty. If the self-test is not requested, the contents of EAX after RESET is undefined.

EAX的内容取决于加电自检的结果。自检可以由外部要求,即在REST之后测试BUSY#。如果80386通过了自检,EAX中的值是0。自检后的非0值表明,80386的特定单元有错误。如果没有要求自检,REST之后的EAX中的值是未定义的。

DX holds a component identifier and revision number after RESET as Figure 10-1 illustrates. DH contains 3, which indicates an 80386 component. DL contains a unique identifier of the revision level.

REST之后,DX中值是组件的标识和版本号,见图10-1的解释。DH中包含3位80386的组件标识。DL中包含一个唯一的版本标识。

Control register zero (CR0) contains the values shown in Figure 10-2 . The ET bit of CR0 is set if an 80387 is present in the configuration (according to the state of the ERROR# pin after RESET). If ET is reset, the configuration either contains an 80287 or does not contain a coprocessor. A software test is required to distinguish between these latter two possibilities.

控制寄存器0(CR0)包含一个图10-2所示的值。如果配置(根据在REST之后,ERROR#的状态)中存在80387,则CR0的ET位被置位。如果ET被重置,配置要么包含一个80287,要么不包含协处理器。软件要通过测试来区分这二者的可能性。

The remaining registers and flags are set as follows:

剩余的寄存器和标志被设置成如下所示:

EFLAGS             =00000002H

IP                 =0000FFF0H // 这里是BIOS开始的地方

CS selector        =000H

DS selector        =0000H

ES selector        =0000H

SS selector        =0000H

FS selector        =0000H

GS selector        =0000H

IDTR:

base    =0

limit   =03FFH

All registers not mentioned above are undefined.

所有上面没有提到的寄存器都是未定义状态。

These settings imply that the processor begins in real-address mode with interrupts disabled.

这些设置表明,处理器开始在关中断的实地址模式。

转载于:https://www.cnblogs.com/mqmelon/p/6693614.html

【译】x86程序员手册37-第10章 初始化相关推荐

  1. 【译】程序员都有的这 10 个坏习惯!

    一.休息不够 二.拒绝寻求帮助 三.停止学习 四.混乱的代码 五.工作和生活的不平衡 六.糟糕的办公室政治 七.不能从错误中吸取教训 八.太早放弃 九.做一个无所不知的人 十.不接受建设性批评 编者按 ...

  2. 【译】x86程序员手册06 - 2.4指令格式

    2.4 Instruction Format 指令格式 The information encoded in an 80386 instruction includes a specification ...

  3. 程序员的用户界面设计手册1-9章(作者: Joel Spolsky 译: 梅普华 MSWord繁简转换)

    程序员的用户界面设计手册1-9章(作者: Joel Spolsky 译: 梅普华 MSWord繁简转换) http://chinesetrad.joelonsoftware.com/uibook/ch ...

  4. [ZT]程序员的用户界面设计手册1-9章(作者: Joel Spolsky 译: 梅普华 MSWord繁简转换)

    程序员的用户界面设计手册 第1章: 控制你的环境使你快乐 作者: Joel Spolsky 约耳.斯珀儿斯奇 译: 梅普华 2000年4月10日 大多数我认识的C++程序高手都厌恶写用户界面的程序. ...

  5. Java程序员应该知道的10个调试技巧

    摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试 ...

  6. PHP程序员应该掌握的10项技能

    一个PHP程序员应该掌握的10项技能!  很多学PHP的人一直也搞不清楚,一个PHP程序员和Java程序员或者是.net程序员有什么不同,告诉你,其实都一样!没有什么不同,下面的内容,就是针对一个Ja ...

  7. 程序员应该抛弃的10种思维定式

    程序员应该抛弃的10种思维定式: 一.会议恐惧思维. 一提到开会,程序员的脑袋就大了,厌恶会议会形成习惯,当然,没有哪个人喜欢冗长.频繁.无效的会议.参加高效会议,是高效沟通的一种方式,如果一味的排斥 ...

  8. 作为Java程序员应该掌握的10项技能

    本文详细罗列了作为Java程序员应该掌握的10项技能.分享给大家供大家参考.具体如下: 1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知 ...

  9. python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!

    原标题:年薪200万的程序员,推荐这10大Python免费开源工具! 毫无疑问,Python是最流行的语言之一,其成功的原因之一是它为科学计算提供了广泛的报道. 在这里,我们仔细研究用于机器学习和数据 ...

最新文章

  1. 修复计算机怎么操作系统,如何巧妙恢复被误删的操作系统分区
  2. 2022.2.18自制玉米凉粉
  3. CollectionView
  4. linux下使用VS CODE + CMAKE 调试C++程序
  5. C语言编程中关于负数的%运算的判定。
  6. Python中NotImplementedError的使用方法(抽象类集成子类实现)
  7. nginx+php-fpm 502 bad gateway
  8. C语言窗口布局,Android开发入门之学习笔记(四):程序窗口的布局(二)
  9. 一文讲清楚FusionInsight MRS CDL如何使用
  10. iOS之路10-给xib设置约束注意
  11. Leetcode每日一题:190.reverse-bits(颠倒二进制位)
  12. 【SSH网上商城项目实战13】Struts2实现文件上传功能
  13. Reincarnation HDU - 4622
  14. 334. 取硬币游戏
  15. Chrome浏览器使用谷歌翻译插件的正确方法
  16. 三、Hive数据仓库应用之Hive数据操作语言(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
  17. 英语语法篇 - 查漏补缺
  18. 用FDM打印会遇到的3D打印常见问题详解
  19. WhatsApp是啥软件?WhatsApp是什么意思?
  20. 2021届通信工程专业保研经历分享+个人经验总结

热门文章

  1. Python函数式编程简介(一)高阶函数
  2. 强化学习之基础入门_强化学习基础
  3. RubyMine 1.0加入Ruby IDE大家庭
  4. 动画理解Dijkstra算法过程
  5. 使用有限状态机(FSM)解释shell 命令
  6. php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...
  7. postforobject 设置代理_OAuth2RestTemplate中的代理配置
  8. java中equals函数所在的类,重写Java中的equals方法介绍
  9. MySQL服务迁移到opt_mysql文件*.opt *.frm *.MYI *.MYD的迁移
  10. 为此计算机所有用户安装加载项,安装Office 2013后,无法在计算机上安装Outlook加载项...