【译】x86程序员手册01
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个部分:
- Part I -- Applications Programming 程序设计
- Part II -- Systems Programming 系统程序
- Part III -- Compatibility 兼容性
- Part IV -- Instruction Set 指令集
- Appendices 附录
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有三种进程模式:
- Protected Mode. 保护模式
- Real-Address Mode. 实地址模式
- 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 兼容模式
1.1.1 Part I -- Applications Programming 应用程序
This part presents those aspects of the architecture that are customarily used by applications programmers.
这部分所展示的架构方面的内容均可以被应用程序使用。
【译】x86程序员手册01的更多相关文章
- 【译】x86程序员手册03 - 2.1内存组织和分段
2.1 Memory Organization and Segmentation 内存组织和分段 The physical memory of an 80386 system is organized ...
- 【译】x86程序员手册00 - 翻译起因
从上一次学习MIT的操作系统课程又过去了一年.上次学习并没有坚持下去.想来虽有种种原因,其还在自身无法坚持罢了.故此次再鼓起勇气重新学习,发现课程都已由2014改版为2016了.但大部分内容并没有改变 ...
- 【译】x86程序员手册38-10.2实在址模式下的软件初始化
10.2 Software Initialization for Real-Address Mode 实地址模式的软件初始化 In real-address mode a few structur ...
- 【译】x86程序员手册09-第3章程序指令集
注:觉得本章内容与理解操作系统不直接相关,所以本章并未看完,也就没有翻译完,放在这里中是为了保证手册的完整.有兴趣的人可以去原址查看. https://pdos.csail.mit.edu/6.828 ...
- 【译】x86程序员手册02 - 基本的程序模式
Chapter 2 -- Basic Programming Model: 基本的程序模式 Introduces the models of memory organization. Defines ...
- 【译】x86程序员手册40-10.5初始化的例子
10.5 Initialization Example初始化的例子 译注:本来想把这个例子全部注释完,但由于对intel汇编实不熟悉,有太多的伪指令,本人也是免强看懂,所以就不再做翻译了. $TITL ...
- 【译】x86程序员手册39-10.3切换到保护模式
10.3 Switching to Protected Mode 切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to b ...
- 【译】x86程序员手册37-第10章 初始化
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...
- 【译】x86程序员手册35-9.8异常条件
译注:一些异常没有翻译,因为看书时主要为了理解linux代码,所以代码中没有主要使用的就没有仔细看.这部分内容后期再看时再进行翻译. 9.8 Exception Conditions 异常条件 The ...
随机推荐
- poj—— 3037 Saving Beans
Saving Beans Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- mysql MVCC原理理解
MVCC多版本控制: 指的是一种提高并发的技术.最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞.引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了Inno ...
- Spring——ClassPathXmlApplicationContext(配置文件路径解析 1)
ClassPathXmlApplicationContext 在我的 BeanFactory 容器文章中主要提及了 BeanFactory 容器初始化(Spring 配置文件加载(还没解析)) ...
- 多个线程对hashmap进行put操作的异常
多个线程对hashmap进行put操作的异常 Exception in thread "Thread-0" java.lang.ClassCastException: java.u ...
- 新手学測试----Unit Test(单元測试)
在程序猿做项目的过程中,每当完毕一个功能,首先自己须要对完毕的功能进行測试.我如今正在做的项目用的工具是VS2012.那么接下来,就说一说在VS2012中是怎样创建单元測试的. 怎样创建单元測试? 在 ...
- Unity3d PBR海水渲染
三层水 博主近期渲染:近期用unity5弄的一些渲染 ---- by wolf96 http://blog.csdn.net/wolf96
- 假设写一段代码引导PC开机这段代码是 ? Here is a tiny "OS" :-D
Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download ...
- URAL 2031. Overturned Numbers (枚举)
2031. Overturned Numbers Time limit: 1.0 second Memory limit: 64 MB Little Pierre was surfing the In ...
- poj 3090 && poj 2478(法雷级数,欧拉函数)
http://poj.org/problem?id=3090 法雷级数 法雷级数的递推公式非常easy:f[1] = 2; f[i] = f[i-1]+phi[i]. 该题是法雷级数的变形吧,答案是2 ...
- LeetCode 206. Reverse Linked List (倒转链表)
Reverse a singly linked list. 题目标签:Linked List 题目给了我们一个链表,要求我们倒转链表. 利用递归,新设一个newHead = null,每一轮 把下一个 ...