Update 卷一:基本架构.md

This commit is contained in:
闪客sun
2022-01-10 11:05:39 +08:00
committed by GitHub
parent 6669eff8ee
commit 735f2a0ed9

View File

@@ -203,6 +203,7 @@ Intel 和 IA-32 处理器都是采用“little endian小端”方式存储
\#GP(0)
# 第二章 Intel 64 and IA-32 Architectures
## 2.1 INTEL® 64 与 IA-32 架构的简要历史
以下章节提供了从 IA-32 到 Intel 64 架构的主要技术演进的摘要:从 Intel 8086 处理器开始到最新的 Intel®Core®2DuoCore 2 Quad 和 Intel Xeon 处理器 5300 和 7300 系列。1978 年以前发布的处理器创建的对象代码仍然在 Inter 64 和 IA-32 架构系列中的最新处理器上运行着。
@@ -220,6 +221,7 @@ Intel 和 IA-32 处理器都是采用“little endian小端”方式存储
### 3.4.2 段寄存器
@翻译人:墨
段寄存器控制代码段寄存器数据段寄存器堆栈段寄存器扩展段寄存器标志段寄存器全局段寄存器16 位的段选择子。段选择子是一种特殊的指针,用来标识内存中的段。为了访问内存中特定的段,该段的段选择子必须存在于适当的段寄存器中。
@@ -277,21 +279,33 @@ CS , DS , SS 和 ES 这四个段寄存器与 Intel 8086 and Intel 286 处理器
## 4.3 POINTER DATA TYPES
@翻译人Colinxu2020 </br>
@翻译人Colinxu2020
指针是指向内存中一个位置的地址。
在非64位模式下该架构定义了两种类型的指针近指针和远指针。一个近指针是一个段内的32位或16位偏移也称为有效地址
近指针用于平坦的内存模型中的所有内存引用,或者用于分段内存模型中的引用,其中被访问段的基址是隐含的。
远指针是一个逻辑地址由一个16位段选择器和一个32位或16位偏移量组成。远指针用于分段内存模型中的内存引用其中被访问段的身份必须明确指定。
带有32位偏移量的近指针和远指针如图4-4所示
图4-4
图4-4
### 4.3.1 Pointer Data Types in 64-Bit Mode
在64位模式IA-32e 模式的一个子模式一个近指针是64位。这等同于一个有效的地址。
64位模式下的远指针可以是三种形式之一。
- 16位段选择器16位偏移如果操作数是32位的话
- 16位段选择器32位偏移如果操作数是32位的话
- 如果操作数为64位16位段选择器64位偏移量
见图4-5
图4-5
图4-5
# 第五章 Instruction Set Summary