【译】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 ...
随机推荐
- OpenCV基础篇之像素操作对照度调节
程序及分析 /* * FileName : contrast.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 29 ...
- Codeforces 577E Ann and Half-Palindrome 字典树
题目链接 题意: 若一个字符串是半回文串.则满足第一位和最后一位相等, 第三位和倒数第三位相等.如此类推. 给定一个字符串s,输出s的全部子串中的半回文串字典序第k大的 字符串. good[i][j] ...
- 高效开发之SASS篇 灵异留白事件——图片下方无故留白 你会用::before、::after吗 link 与 @import之对比 学习前端前必知的——HTTP协议详解 深入了解——CSS3新增属性 菜鸟进阶——grunt $(#form :input)与$(#form input)的区别
高效开发之SASS篇 作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家 ...
- Android中不同方向嵌套滑动的解决方式(ListView为样例)
前言: 就像手机QQ的聊天消息列表.一个纵向滑动的ListView列举全部消息,但每一条消息能够横向滑动. 而默认情况下,仅仅能有一个地方消化处理触摸事件,要么ListView吃掉这个事件.要么子It ...
- Dungeon Game -- latched
The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. ...
- CDOJ 1330 柱爷与远古法阵(高斯消元)
CDOJ 1330 柱爷与远古法阵(高斯消元) 柱爷与远古法阵 Time Limit: 125/125MS (Java/Others) Memory Limit: 240000/240000K ...
- luogu 3808 【模板】AC自动机(简单版)
我太菜了 棒神%%% #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib ...
- 路一直都在——That's just life
分享一首很喜欢的歌,有时候歌词写得就是经历,就是人生... 穿过人潮汹涌灯火栏栅 没有想过回头 一段又一段走不完的旅程 什么时候能走完 我的梦代表什么 又是什么让我们不安 That's just li ...
- Parlay Wagering
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2833 题意:讲述了一种投小钱赢大钱的赌博方式, ...
- 关于CSS中float的两点心得以及清除浮动的总结
对一个元素运用float后,该元素将脱离正常文档流,这意味着: 1. 运用float后,该元素不再影响父元素的高度,如果一个元素的所有子元素都是float的话,那么该元素的高度是0,这样后面元素渲染的 ...