Intel 80386 Reference Programmer's Manual

80386程序员参考手册

Chapter 1 -- Introduction to the 80386

1章 - 80386的介绍

The 80386 is an advanced 32-bit microprocessor optimized for multitasking operating systems and designed for applications needing very high performance. The 32-bit registers and data paths support 32-bit addresses and data types. The processor can address up to four gigabytes of physical memory and 64 terabytes (2^(46) bytes) of virtual memory. The on-chip memory-management facilities include address translation registers, advanced multitasking hardware, a protection mechanism, and paged virtual memory. Special debugging registers provide data and code breakpoints even in ROM-based software.

80386是一个为多任务操作系统优化的为高效程序设计的32位微处理器。32位的寄存器和数据通道支持32位地址和数据类型。处理器可以寻址高达4G的物理内在和64M的虚拟内存。芯片上的内存管理设备包括地址转换寄存器,高效的多任务硬件,保护机制以及分页的虚拟内存。额外提供的调试寄存器使即使在ROM中的程序也可以对数据和代码进行断点调试。

1.1 Organization of This Manual 

手册的组织

This book presents the architecture of the 80386 in five parts:

本书将80386的架构分为以下5个部分:

These divisions are determined in part by the architecture itself and in part by the different ways the book will be used. As the following table indicates, the latter two parts are intended as reference material for programmers actually engaged in the process of developing software for the 80386. The first three parts are explanatory, showing the purpose of architectural features, developing terminology and concepts, and describing instructions as they relate to specific purposes or to specific architectural features.

这种分法是架构本身决定的,本书对每个部分使用不同的方式进行讲述。正如下面的表格所示,后两部分是热衷在80386上进程开发的人员在进行程序设计时的参考资料。前三部分是对架构特性、开发规则和概念以及对指令集的设计目的和特定的架构特性等进行解释。

Explanation 解释说明

Reference 参考资料

The first three parts follow the execution modes and protection features of the 80386 CPU. The distinction between applications features and systems features is determined by the protection mechanism of the 80386. One purpose of protection is to prevent applications from interfering with the operating system; therefore, the processor makes certain registers and instructions inaccessible to applications programs. The features discussed in Part I are those that are accessible to applications; the features in Part II are available only to systems software that has been given special privileges or in unprotected systems.

前三部分解释80386CPU的执行模式和保护特性。程序特性和系统特性的区别取决于80386的保护机制。保护机制的一个目的是阻止应用程序干扰操作系统;这样处理器可以确保寄存器和指令对应用程序是透明的。第一部分讨论的特性对应用程序是可访问的;第二部分讨论的特性仅对具有特权的操作系统或在非保护模式下的系统有效。

The processing mode of the 80386 also determines the features that are accessible. The 80386 has three processing modes:

80386的进程模式也决定这些特性是有效的。80386有三种进程模式:

  1. Protected Mode. 保护模式
  2. Real-Address Mode. 实地址模式
  3. Virtual 8086 Mode. 虚拟80086模式

Protected mode is the natural 32-bit environment of the 80386 processor. In this mode all instructions and features are available.

保护模式是80386处理器的自有的32位环境。在这个模式下,所有指令和特性都是有效的可以使用的。

Real-address mode (often called just "real mode") is the mode of the processor immediately after RESET. In real mode the 80386 appears to programmers as a fast 8086 with some new instructions. Most applications of the 80386 will use real mode for initialization only.

实地址模式(通常被称做实模式)是处理器在启动后立即进入的模式。在实模式下,对于程序来说80386就象一个具有新指令集的更快的8086。大部分的80386程序仅在初始化时使用实模式。

Virtual 8086 mode (also called V86 mode) is a dynamic mode in the sense that the processor can switch repeatedly and rapidly between V86 mode and protected mode. The CPU enters V86 mode from protected mode to execute an 8086 program, then leaves V86 mode and enters protected mode to continue executing a native 80386 program.

虚拟的8086模式(也叫V86模式)是一种动态的模式,处理器可以在V86模式各保护模式之间进行快速和重复的切换。CPU从保护模式进入V86模式来执行8086程序,然后切换进入保护模式来继续执行80386的程序。

The features that are available to applications programs in protected mode and to all programs in V86 mode are the same. These features form the content of Part I. The additional features that are available to systems software in protected mode form Part II. Part III explains real-address mode and V86 mode, as well as how to execute a mix of 32-bit and 16-bit programs.

这个特性对于保护模式下的应用程序和所有的V86模式的程序都是一样可以使用的。这些特性构成了第一部分的内容。第二部分额外的特性仅对保护模式下的系统应用有效。第三部分解释实模式和V86模式,同时也对如何执行一个混合的32位和16位程序进行说明。

Available in All Modes 所有模式均有效

Part I -- Applications Programming 应用程序

Available in Protected Mode Only 仅保护模式有效

Part II -- Systems Programming 系统应用

Compatibility Modes 兼容模式

Part III -- Compatibility 兼容性

1.1.1 Part I -- Applications Programming 应用程序

This part presents those aspects of the architecture that are customarily used by applications programmers.

这部分所展示的架构方面的内容均可以被应用程序使用。

【译】x86程序员手册01的更多相关文章

  1. 【译】x86程序员手册03 - 2.1内存组织和分段

    2.1 Memory Organization and Segmentation 内存组织和分段 The physical memory of an 80386 system is organized ...

  2. 【译】x86程序员手册00 - 翻译起因

    从上一次学习MIT的操作系统课程又过去了一年.上次学习并没有坚持下去.想来虽有种种原因,其还在自身无法坚持罢了.故此次再鼓起勇气重新学习,发现课程都已由2014改版为2016了.但大部分内容并没有改变 ...

  3. 【译】x86程序员手册38-10.2实在址模式下的软件初始化

    10.2 Software Initialization for Real-Address Mode   实地址模式的软件初始化 In real-address mode a few structur ...

  4. 【译】x86程序员手册09-第3章程序指令集

    注:觉得本章内容与理解操作系统不直接相关,所以本章并未看完,也就没有翻译完,放在这里中是为了保证手册的完整.有兴趣的人可以去原址查看. https://pdos.csail.mit.edu/6.828 ...

  5. 【译】x86程序员手册02 - 基本的程序模式

    Chapter 2 -- Basic Programming Model: 基本的程序模式 Introduces the models of memory organization. Defines ...

  6. 【译】x86程序员手册40-10.5初始化的例子

    10.5 Initialization Example初始化的例子 译注:本来想把这个例子全部注释完,但由于对intel汇编实不熟悉,有太多的伪指令,本人也是免强看懂,所以就不再做翻译了. $TITL ...

  7. 【译】x86程序员手册39-10.3切换到保护模式

    10.3 Switching to Protected Mode  切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to b ...

  8. 【译】x86程序员手册37-第10章 初始化

    Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...

  9. 【译】x86程序员手册35-9.8异常条件

    译注:一些异常没有翻译,因为看书时主要为了理解linux代码,所以代码中没有主要使用的就没有仔细看.这部分内容后期再看时再进行翻译. 9.8 Exception Conditions 异常条件 The ...

随机推荐

  1. 洛谷—— P1339 [USACO09OCT]热浪Heat Wave

    P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ...

  2. com.101tec.ZKClient实现中的subscribeDataChanges设置的监听器事件不回调的问题研究

    1.如果在Web项目,本身在后台运行,所以注册的事件应该是正常回调的. 2.如果是Application项目,如果是简单的测试,那么运行完之后,整个程序就结束了,程序很快,所以没等到事件回调就关了,解 ...

  3. springboot启动mybatis

    初期开发了generator可以根据表结果自动生产实体类.配置文件和dao层代码,可以减轻一部分开发量:后期也进行了大量的优化可以使用注解了,自动管理dao层和配置文件等,发展到最顶端就是今天要讲的这 ...

  4. 【CV知识学习】Fisher Vector

    在论文<action recognition with improved trajectories>中看到fisher vector,所以学习一下.但网上很多的资料我觉得都写的不好,查了一 ...

  5. vijos- P1383盗窃-黑珍珠 (python + 代码优化)

    P1383盗窃-黑珍珠 Accepted 标签:怪盗基德 VS OIBH[显示标签] 背景 怪盗基德 VS OIBH 第二话 描写叙述 今次怪盗基德再次对阵OIBH,目标是Black Star!基德已 ...

  6. sql 分组取每组的前n条或每组的n%(百分之n)的数据

    sql 分组取每组的前n条或每组的n%(百分之n)的数据 sql keyword: SELECT * ,ROW_NUMBER() OVER(partition by b.UserID order by ...

  7. 开发汉澳sinox64位,对接汉澳矩阵电脑

    汉澳矩阵电脑刚刚不久前提出,即使全然设计出了汉澳矩阵电脑线路图,要在上面执行操作系统必须有矩阵操作系统. 汉澳sinox64位操作系统并非矩阵操作系统,仅仅是更为接近. 汉澳矩阵电脑假设插有16个矩阵 ...

  8. MVC模式利用xib文件定制collectionCell

    数据来源于豆瓣网~仅供学习交流~ 本实例练习用到了SDWebImage框架:实现从网络端下载图片的功能 下载地址:https://github.com/rs/SDWebImage 实现效果及框架: x ...

  9. 用VBS控制鼠标(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)

    Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  »  程序设计  »  用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) « bbPress积分 ...

  10. Python类私有方法的陷阱

    引言 Python不像C++.Java.C#等有明白的公共.私有或受保护的keyword来定义成员函数或属性,它使用约定的单下划线"_"和"__"双下划线作为函 ...