From 223ce63e7f4e91475ccea5611232661173cd3310 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 01:56:30 +0800 Subject: [PATCH 01/22] =?UTF-8?q?1.2=201.3=20=E7=BF=BB=E8=AF=91=EF=BC=8C?= =?UTF-8?q?=E6=8C=81=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index a3bff3e..f0e8333 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -86,7 +86,16 @@ ``` ## 1.2 概览 -## 1.3 +@翻译人:xushunke + +此手册的概述内容如下: +__第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel手册以及来自开发者们和硬件设计者们的关联文章。 +…… +## 1.3 标记习惯 + +@翻译人:xushunke + +此手册中为数据结构格式,数指令的符号,16进制与二进制的数字做了特定标记。这些标记将在下方说明。 ### 1.3.1 位和字节序 From 23d25011d6847fd21c951d6e957114163c190684 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 01:59:51 +0800 Subject: [PATCH 02/22] =?UTF-8?q?1.2=201.3=20=E7=BF=BB=E8=AF=91=EF=BC=8C?= =?UTF-8?q?=E6=8C=81=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index f0e8333..1c93940 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -95,7 +95,7 @@ __第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构 @翻译人:xushunke -此手册中为数据结构格式,数指令的符号,16进制与二进制的数字做了特定标记。这些标记将在下方说明。 +此手册中为数据结构格式,指令的符号,十六进制与二进制的数字做了特定标记。这些标记将在下方说明。 ### 1.3.1 位和字节序 From 2a2e8b5826299288554eb1bccb27fc673c4676be Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 15 Nov 2021 17:15:44 -0800 Subject: [PATCH 03/22] =?UTF-8?q?Update=20=E5=8D=B7=E4=B8=80=EF=BC=9A?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E6=9E=B6=E6=9E=84.md=204.1-4.2=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../卷一:基本架构.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index a3bff3e..1ccadc9 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -141,6 +141,25 @@ CS , DS , SS 和 ES 这四个段寄存器与 Intel 8086 and Intel 286 处理器 # 第四章 Data Types +## 4.1 FUNDAMENTAL DATA TYPES + +### 4.1.1 Alignment of Words, Doublewords, Quadwords, and Double Quadwords + +@翻译人:符宇舟Alex + +## 4.2 NUMERIC DATA TYPES + +### 4.2.1 Integers + +#### 4.2.1.1 Unsigned Integers + +@翻译人:符宇舟Alex + +#### 4.2.1.2 Signed Integers + +@翻译人:符宇舟Alex + + # 第五章 Instruction Set Summary # 第六章 Procedure Calls, Interrupts, and Exceptions From a562135c834130129bfbc60dc158a4ff69852ec7 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 09:44:48 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../卷一:基本架构.md | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 1c93940..c541923 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -90,7 +90,30 @@ 此手册的概述内容如下: __第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel手册以及来自开发者们和硬件设计者们的关联文章。 -…… +__第二章 - Intel 64 和 IA-32 架构。__ ... +__第三章 - 基本执行环境。__ ... +__第四章 - 数据类型。__ ... +__第五章 - 指令集汇总。__ ... +__第六章 - 过程调用,中断与异常。__ ... +__第七章 - 使用通用指令编程。__ ... +__第八章 - 使用x87 FPU编程。__ ... +__第九章 - 使用Intel MMX技术编程。__ ... +__第十章 - 使用Intel流式SIMD扩展(Intel SSR)编程。__ ... +__第十一章 - 使用Intel流式SIMD二代扩展(Intel SSR2)编程。__ ... +__第十二章 - 使用Intel流式SIMD三代扩展(Intel SSR3),补充式编程Intel流SIMD三代扩展(Intel SSSR3),Intel流式SIMD四代扩展(Intel SSR4)和IntelAES新指令集(Intel AES-NI)。__ ... +__第十三章 - 使用XSAVE特性集来管理状态。__ ... +__第十四章 - 使用AVX,FMA和AVX2编程。__ ... +__第十五章 - 使用Intel AVX-512编程。__ ... +__第十六章 - 使用Intel事务同步扩展编程。__ ... +__第十七章 - Intel内存保护扩展。__ ... +__第十八章 - 控制流运行技术。__ ... +__第十九章 - 输入/输出。__ ... +__第二十章 - 处理器识别与特性判别。__ ... +__附录A - EFLAG交叉引用。__ ... +__附录B - EFLAG条件码。__ ... +__附录C - 浮点异常汇总。__ ... +__附录D - 书写SIMD浮点异常句柄的准则。__ ... + ## 1.3 标记习惯 @翻译人:xushunke From 4db1cc102023fcadf67f48b10141e8ccd40ceb54 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 09:49:58 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index c541923..dae6a05 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -94,19 +94,19 @@ __第二章 - Intel 64 和 IA-32 架构。__ ... __第三章 - 基本执行环境。__ ... __第四章 - 数据类型。__ ... __第五章 - 指令集汇总。__ ... -__第六章 - 过程调用,中断与异常。__ ... +__第六章 - 过程调用,中断与异常。__ ... __第七章 - 使用通用指令编程。__ ... __第八章 - 使用x87 FPU编程。__ ... __第九章 - 使用Intel MMX技术编程。__ ... __第十章 - 使用Intel流式SIMD扩展(Intel SSR)编程。__ ... __第十一章 - 使用Intel流式SIMD二代扩展(Intel SSR2)编程。__ ... -__第十二章 - 使用Intel流式SIMD三代扩展(Intel SSR3),补充式编程Intel流SIMD三代扩展(Intel SSSR3),Intel流式SIMD四代扩展(Intel SSR4)和IntelAES新指令集(Intel AES-NI)。__ ... +__第十二章 - 使用Intel流式SIMD三代扩展(Intel SSR3),补充型Intel流式SIMD三代扩展(Intel SSSR3),Intel流式SIMD四代扩展(Intel SSR4)和Intel AES新指令集(Intel AES-NI)编程。__ ... __第十三章 - 使用XSAVE特性集来管理状态。__ ... -__第十四章 - 使用AVX,FMA和AVX2编程。__ ... +__第十四章 - 使用AVX,FMA和AVX2编程。__ ... __第十五章 - 使用Intel AVX-512编程。__ ... __第十六章 - 使用Intel事务同步扩展编程。__ ... __第十七章 - Intel内存保护扩展。__ ... -__第十八章 - 控制流运行技术。__ ... +__第十八章 - 控制流执行技术。__ ... __第十九章 - 输入/输出。__ ... __第二十章 - 处理器识别与特性判别。__ ... __附录A - EFLAG交叉引用。__ ... From 829204c9336e0f9c0e19575ff6e81a74267cdda4 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 10:28:35 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E7=AC=A6=E5=8F=B7=E4=BF=AE=E6=94=B9=20=20=E6=8C=81?= =?UTF-8?q?=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../卷一:基本架构.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index dae6a05..e6795aa 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -96,23 +96,23 @@ __第四章 - 数据类型。__ ... __第五章 - 指令集汇总。__ ... __第六章 - 过程调用,中断与异常。__ ... __第七章 - 使用通用指令编程。__ ... -__第八章 - 使用x87 FPU编程。__ ... -__第九章 - 使用Intel MMX技术编程。__ ... -__第十章 - 使用Intel流式SIMD扩展(Intel SSR)编程。__ ... -__第十一章 - 使用Intel流式SIMD二代扩展(Intel SSR2)编程。__ ... -__第十二章 - 使用Intel流式SIMD三代扩展(Intel SSR3),补充型Intel流式SIMD三代扩展(Intel SSSR3),Intel流式SIMD四代扩展(Intel SSR4)和Intel AES新指令集(Intel AES-NI)编程。__ ... -__第十三章 - 使用XSAVE特性集来管理状态。__ ... -__第十四章 - 使用AVX,FMA和AVX2编程。__ ... -__第十五章 - 使用Intel AVX-512编程。__ ... -__第十六章 - 使用Intel事务同步扩展编程。__ ... -__第十七章 - Intel内存保护扩展。__ ... +__第八章 - 使用 x87 FPU 编程。__ ... +__第九章 - 使用 Intel MMX 技术编程。__ ... +__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ ... +__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ ... +__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充型 Intel 流式SIMD三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ ... +__第十三章 - 使用 XSAVE 特性集来管理状态。__ ... +__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ ... +__第十五章 - 使用 Intel AVX-512 编程。__ ... +__第十六章 - 使用 Intel 事务同步扩展编程。__ ... +__第十七章 - Intel 内存保护扩展。__ ... __第十八章 - 控制流执行技术。__ ... __第十九章 - 输入/输出。__ ... __第二十章 - 处理器识别与特性判别。__ ... -__附录A - EFLAG交叉引用。__ ... -__附录B - EFLAG条件码。__ ... +__附录A - EFLAG 交叉引用。__ ... +__附录B - EFLAG 条件码。__ ... __附录C - 浮点异常汇总。__ ... -__附录D - 书写SIMD浮点异常句柄的准则。__ ... +__附录D - 书写 SIMD 浮点异常句柄的准则。__ ... ## 1.3 标记习惯 From b97184f30a7dbaff739b6dd559a5bb9a92551c7b Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 16:29:21 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E7=AC=A6=E5=8F=B7=E4=BF=AE=E6=94=B9=20=20=E6=8C=81?= =?UTF-8?q?=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../卷一:基本架构.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index e6795aa..72903c2 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -90,29 +90,29 @@ 此手册的概述内容如下: __第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel手册以及来自开发者们和硬件设计者们的关联文章。 -__第二章 - Intel 64 和 IA-32 架构。__ ... -__第三章 - 基本执行环境。__ ... -__第四章 - 数据类型。__ ... -__第五章 - 指令集汇总。__ ... -__第六章 - 过程调用,中断与异常。__ ... -__第七章 - 使用通用指令编程。__ ... -__第八章 - 使用 x87 FPU 编程。__ ... -__第九章 - 使用 Intel MMX 技术编程。__ ... -__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ ... -__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ ... -__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充型 Intel 流式SIMD三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ ... -__第十三章 - 使用 XSAVE 特性集来管理状态。__ ... -__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ ... -__第十五章 - 使用 Intel AVX-512 编程。__ ... -__第十六章 - 使用 Intel 事务同步扩展编程。__ ... -__第十七章 - Intel 内存保护扩展。__ ... -__第十八章 - 控制流执行技术。__ ... -__第十九章 - 输入/输出。__ ... -__第二十章 - 处理器识别与特性判别。__ ... -__附录A - EFLAG 交叉引用。__ ... -__附录B - EFLAG 条件码。__ ... -__附录C - 浮点异常汇总。__ ... -__附录D - 书写 SIMD 浮点异常句柄的准则。__ ... +__第二章 - Intel 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史的介绍。 +__第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应用所使用的寄存器集合。 +__第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 +__第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术分组。 +__第六章 - 过程调用,中断与异常。__ 描述过程调用栈和进行过程调用与产生中断与异常的机制。 +__第七章 - 使用通用指令编程。__ 描述基本的读和写,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 +__第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 +__第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 +__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码准则。 +__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 +__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式SIMD三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码准则。 +__第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 +__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码准则。 +__第十五章 - 使用 Intel AVX-512 编程。__ 介绍 Intel AVX-512 指令集扩展和给出书写访问这些扩展的代码准则。 +__第十六章 - 使用 Intel 事务同步扩展编程。__ 描述通过销锁技术来提升多线程软件竞争线程锁的性能的指令集扩展。 +__第十七章 - Intel 内存保护扩展。__ 描述 Intel 内存保护扩展和给出书写访问这些扩展的代码准则。 +__第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码准则。 +__第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 +__第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 +__附录A - EFLAG 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 +__附录B - EFLAG 条件码。__ 汇总描述了 _条件跳转_ ,_转移_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 +__附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点处理单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 +__附录D - 书写 SIMD 浮点异常句柄的准则。__ 给出了书写由 SSE/SSE2/SSE3 浮点指令所产生的异常处理句柄的代码准则。 ## 1.3 标记习惯 From 0da005db1db0674b119b5b17c56587e08a7cf63a Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:16:53 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E7=AC=A6=E5=8F=B7=E4=BF=AE=E6=94=B9=20=20=E6=8C=81?= =?UTF-8?q?=E7=BB=AD=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 72903c2..90d44d7 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -100,8 +100,8 @@ __第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU), __第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 __第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码准则。 __第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 -__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式SIMD三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码准则。 -__第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 +__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式 SIMD 三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码准则。 +__第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 __第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码准则。 __第十五章 - 使用 Intel AVX-512 编程。__ 介绍 Intel AVX-512 指令集扩展和给出书写访问这些扩展的代码准则。 __第十六章 - 使用 Intel 事务同步扩展编程。__ 描述通过销锁技术来提升多线程软件竞争线程锁的性能的指令集扩展。 From eaae845b9b9f29f6963aa33cb72ce8afa7d5322b Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:23:28 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 90d44d7..c7a4b2b 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -94,7 +94,7 @@ __第二章 - Intel 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以 __第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应用所使用的寄存器集合。 __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 __第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术分组。 -__第六章 - 过程调用,中断与异常。__ 描述过程调用栈和进行过程调用与产生中断与异常的机制。 +__第六章 - 过程调用,中断与异常。__ 描述过程调用栈的原理以及进行过程调用,产生中断和抛出异常的机制。 __第七章 - 使用通用指令编程。__ 描述基本的读和写,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 __第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 __第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 From 44585908d25132ba8c00b8c0934a4370aaa42ef5 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:24:29 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index c7a4b2b..0e4c7c8 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -95,7 +95,7 @@ __第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应 __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 __第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术分组。 __第六章 - 过程调用,中断与异常。__ 描述过程调用栈的原理以及进行过程调用,产生中断和抛出异常的机制。 -__第七章 - 使用通用指令编程。__ 描述基本的读和写,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 +__第七章 - 使用通用指令编程。__ 描述基本的加载和写入,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 __第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 __第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 __第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码准则。 From cb08989fbfc1494c3ac38d4a8284e5f645b46f8a Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:52:20 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../卷一:基本架构.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 0e4c7c8..8601431 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -89,30 +89,30 @@ @翻译人:xushunke 此手册的概述内容如下: -__第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel手册以及来自开发者们和硬件设计者们的关联文章。 -__第二章 - Intel 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史的介绍。 +__第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel®手册以及来自开发者们和硬件设计者们的关联文章。 +__第二章 - Intel 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史介绍。 __第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应用所使用的寄存器集合。 __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 -__第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术分组。 +__第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术类别分组。 __第六章 - 过程调用,中断与异常。__ 描述过程调用栈的原理以及进行过程调用,产生中断和抛出异常的机制。 __第七章 - 使用通用指令编程。__ 描述基本的加载和写入,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 __第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 __第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 -__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码准则。 -__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 -__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式 SIMD 三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码准则。 +__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码的准则。 +__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码的准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 +__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式 SIMD 三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码的准则。 __第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 -__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码准则。 -__第十五章 - 使用 Intel AVX-512 编程。__ 介绍 Intel AVX-512 指令集扩展和给出书写访问这些扩展的代码准则。 +__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码的准则。 +__第十五章 - 使用 Intel AVX-512 编程。__ 介绍 Intel AVX-512 指令集扩展和给出书写访问这些扩展的代码的准则。 __第十六章 - 使用 Intel 事务同步扩展编程。__ 描述通过销锁技术来提升多线程软件竞争线程锁的性能的指令集扩展。 -__第十七章 - Intel 内存保护扩展。__ 描述 Intel 内存保护扩展和给出书写访问这些扩展的代码准则。 -__第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码准则。 +__第十七章 - Intel 内存保护扩展。__ 描述 Intel 内存保护扩展和给出书写访问这些扩展的代码的准则。 +__第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码的准则。 __第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 __第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 __附录A - EFLAG 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 __附录B - EFLAG 条件码。__ 汇总描述了 _条件跳转_ ,_转移_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 -__附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点处理单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 -__附录D - 书写 SIMD 浮点异常句柄的准则。__ 给出了书写由 SSE/SSE2/SSE3 浮点指令所产生的异常处理句柄的代码准则。 +__附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 +__附录D - 书写 SIMD 浮点异常句柄的准则。__ 给出了书写由 SSE/SSE2/SSE3 浮点指令所产生的异常处理句柄的代码的准则。 ## 1.3 标记习惯 From c12ed3e29cdcd0d7100b26bfe62704d3cde811d4 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:55:57 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 8601431..fe7b6af 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -89,23 +89,23 @@ @翻译人:xushunke 此手册的概述内容如下: -__第一章 - 关于此手册。__ 给出全五册《Intel 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel®手册以及来自开发者们和硬件设计者们的关联文章。 -__第二章 - Intel 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史介绍。 +__第一章 - 关于此手册。__ 给出全五册《Intel® 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel®手册以及来自开发者们和硬件设计者们的关联文章。 +__第二章 - Intel® 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史介绍。 __第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应用所使用的寄存器集合。 __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 __第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术类别分组。 __第六章 - 过程调用,中断与异常。__ 描述过程调用栈的原理以及进行过程调用,产生中断和抛出异常的机制。 __第七章 - 使用通用指令编程。__ 描述基本的加载和写入,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 __第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 -__第九章 - 使用 Intel MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 -__第十章 - 使用 Intel 流式 SIMD 扩展(Intel SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码的准则。 -__第十一章 - 使用 Intel 流式 SIMD 二代扩展(Intel SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码的准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 -__第十二章 - 使用 Intel 流式 SIMD 三代扩展(Intel SSR3),补充 Intel 流式 SIMD 三代扩展(Intel SSSR3),Intel 流式 SIMD 四代扩展(Intel SSR4)和 Intel AES 新指令集(Intel AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码的准则。 +__第九章 - 使用 Intel® MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 +__第十章 - 使用 Intel® 流式 SIMD 扩展(Intel® SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码的准则。 +__第十一章 - 使用 Intel® 流式 SIMD 二代扩展(Intel® SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码的准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 +__第十二章 - 使用 Intel® 流式 SIMD 三代扩展(Intel® SSR3),补充 Intel® 流式 SIMD 三代扩展(Intel® SSSR3),Intel® 流式 SIMD 四代扩展(Intel® SSR4)和 Intel® AES 新指令集(Intel® AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码的准则。 __第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 -__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码的准则。 -__第十五章 - 使用 Intel AVX-512 编程。__ 介绍 Intel AVX-512 指令集扩展和给出书写访问这些扩展的代码的准则。 +__第十四章 - 使用 AVX,FMA 和 AVX2 编程。__ 介绍 Intel® AVX 指令集,FMA 和 AVX2 扩展以及给出书写访问这些扩展的的代码的准则。 +__第十五章 - 使用 Intel® AVX-512 编程。__ 介绍 Intel® AVX-512 指令集扩展和给出书写访问这些扩展的代码的准则。 __第十六章 - 使用 Intel 事务同步扩展编程。__ 描述通过销锁技术来提升多线程软件竞争线程锁的性能的指令集扩展。 -__第十七章 - Intel 内存保护扩展。__ 描述 Intel 内存保护扩展和给出书写访问这些扩展的代码的准则。 +__第十七章 - Intel® 内存保护扩展。__ 描述 Intel® 内存保护扩展和给出书写访问这些扩展的代码的准则。 __第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码的准则。 __第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 __第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 From 1bc08254a02198b2680f3fa22a0cd3c8688474d3 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 17:58:24 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index fe7b6af..edbef11 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -89,7 +89,7 @@ @翻译人:xushunke 此手册的概述内容如下: -__第一章 - 关于此手册。__ 给出全五册《Intel® 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的Intel®手册以及来自开发者们和硬件设计者们的关联文章。 +__第一章 - 关于此手册。__ 给出全五册《Intel® 64 和 IA-32 架构软件开发者手册》的简要描述。同时介绍了在这几卷中会出现的标记习惯,关联的 Intel® 手册以及来自开发者们和硬件设计者们的关联文章。 __第二章 - Intel® 64 和 IA-32 架构。__ 介绍 Intel 64 和 IA-32 架构以及基于此架构的 Intel 处理器家族。同时列出这些处理器的公共特性以及给出 Intel 64 和 IA-32 架构的简要历史介绍。 __第三章 - 基本执行环境。__ 介绍内存组织模型以及介绍被应用所使用的寄存器集合。 __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关联模型;提供关于实数与浮点格式和浮点异常的概述。 From d064af22bf4077c97958f10934e683dd504b0567 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 18:05:43 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index edbef11..6e244ba 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -109,8 +109,8 @@ __第十七章 - Intel® 内存保护扩展。__ 描述 Intel® 内存保护扩 __第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码的准则。 __第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 __第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 -__附录A - EFLAG 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 -__附录B - EFLAG 条件码。__ 汇总描述了 _条件跳转_ ,_转移_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 +__附录A - EFLAGS 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 +__附录B - EFLAGS 条件码。__ 汇总描述了 _条件跳转_ ,_转移_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 __附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 __附录D - 书写 SIMD 浮点异常句柄的准则。__ 给出了书写由 SSE/SSE2/SSE3 浮点指令所产生的异常处理句柄的代码的准则。 From 5b2a3a43924d54e13da7abd0832996f6b33a2580 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Tue, 16 Nov 2021 18:07:53 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 6e244ba..25e2fca 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -110,7 +110,7 @@ __第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET) __第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 __第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 __附录A - EFLAGS 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 -__附录B - EFLAGS 条件码。__ 汇总描述了 _条件跳转_ ,_转移_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 +__附录B - EFLAGS 条件码。__ 汇总描述了 _条件跳转(condition jump)_ ,_转移(move)_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 __附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 __附录D - 书写 SIMD 浮点异常句柄的准则。__ 给出了书写由 SSE/SSE2/SSE3 浮点指令所产生的异常处理句柄的代码的准则。 From 66fed198542687e60deecfcee12b37e2c7a611c8 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Wed, 17 Nov 2021 09:17:03 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 25e2fca..233a5d2 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -108,7 +108,7 @@ __第十六章 - 使用 Intel 事务同步扩展编程。__ 描述通过销锁 __第十七章 - Intel® 内存保护扩展。__ 描述 Intel® 内存保护扩展和给出书写访问这些扩展的代码的准则。 __第十八章 - 控制流执行技术。__ 描述控制流执行技术(CET)以及给出访问这些扩展的的代码的准则。 __第十九章 - 输入/输出。__ 描述处理接的 I/O 机制,其中包含 I/O 端口地址,I/O 指令和 I/O 保护机制。 -__第二十章 - 处理器识别与特性判别。__ 描述如何判别CPU类型和识别处理器中可用的特性的方法。 +__第二十章 - 处理器识别与特性判别。__ 描述如何判别 CPU 类型和识别处理器中可用的特性的方法。 __附录A - EFLAGS 交叉引用。__ 汇总描述了 IA-32 指令是如何影响 EFLAGS 里面的标记的。 __附录B - EFLAGS 条件码。__ 汇总描述了 _条件跳转(condition jump)_ ,_转移(move)_ 以及 _'byte set on condition code'_ 指令是如何使用 EFLAGS 寄存器中的条件码标记(OF,CF,ZF,SF和PF)的。 __附录C - 浮点异常汇总。__ 汇总描述了异常是如何被 x87 浮点单元的浮点指令和 SSE/SSE2/SSE3 浮点指令所抛出的。 From 7c9cae9ceb22fdf92631b682a426de1000c5b579 Mon Sep 17 00:00:00 2001 From: xushunke <387617982@qq.com> Date: Wed, 17 Nov 2021 09:21:50 +0800 Subject: [PATCH 17/22] =?UTF-8?q?=20=E7=9B=AE=E5=BD=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=EF=BC=8C=E6=B6=A6=E8=89=B2=20=20=E6=8C=81=E7=BB=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Intel 手册中文版/卷一:基本架构.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 233a5d2..64aadbe 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -96,9 +96,9 @@ __第四章 - 数据类型。__ 描述被处理器所识别的数据模型和关 __第五章 - 指令集汇总。__ 列出所有 Intel 64 和 IA-32 指令,根据技术类别分组。 __第六章 - 过程调用,中断与异常。__ 描述过程调用栈的原理以及进行过程调用,产生中断和抛出异常的机制。 __第七章 - 使用通用指令编程。__ 描述基本的加载和写入,程序控制,算数以及作用于基础数据类型的字符串指令和面向通用目的的段寄存器;同时描述了在保护模式可调用的系统指令。 -__第八章 - 使用 x87 FPU 编程。__ 描述了x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 +__第八章 - 使用 x87 FPU 编程。__ 描述了 x87 浮点单元(FPU),包括其中的浮点寄存器和数据类型;列出所有浮点指令集以及描述处理器产生浮点异常的条件。 __第九章 - 使用 Intel® MMX 技术编程。__ 描述 Intel MMX 技术,其中包含 MMX 寄存器和数据类型;同时列出所有的 MMX 指令集。 -__第十章 - 使用 Intel® 流式 SIMD 扩展(Intel® SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器, MXCSR 寄存器以及编码的单精度浮点数据类型; 列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码的准则。 +__第十章 - 使用 Intel® 流式 SIMD 扩展(Intel® SSR)编程。__ 描述 SSE 扩展,其中包含 XXM 寄存器,MXCSR 寄存器以及编码的单精度浮点数据类型;列出所有 SSE 指令集以及给出书写访问 SSE 扩展的代码的准则。 __第十一章 - 使用 Intel® 流式 SIMD 二代扩展(Intel® SSR2)编程。__ 描述 SSE2 扩展,其中包含 XXM 寄存器和编码的双精度浮点数据类型;列出所有的 SSE2 指令集以及给出书写访问 SSE2 扩展的代码的准则。 本章同时也描述了 SSE 和 SSE2 指令可能产生的 SIMD 浮点异常。也提供了在操作系统中和应用代码中使用 SSE 和 SSE2 扩展的通常准则。 __第十二章 - 使用 Intel® 流式 SIMD 三代扩展(Intel® SSR3),补充 Intel® 流式 SIMD 三代扩展(Intel® SSSR3),Intel® 流式 SIMD 四代扩展(Intel® SSR4)和 Intel® AES 新指令集(Intel® AES-NI)编程。__ 列出所有 SSE3,补充 SSE3,SSE4,AESNI 指令集以及书写访问这些扩展的代码的准则。 __第十三章 - 使用 XSAVE 特性集来管理状态。__ 描述 XSAVE 特性集指令,介绍了软件是如何开启 XSAVE 特性集以及开启 XSAVE 后的会带来的特性。 From b0ff5d73f003a450d030c5e1c6d8e09f4269ca76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AA=E5=AE=A2sun?= <18811311416@sina.cn> Date: Wed, 17 Nov 2021 10:12:01 +0800 Subject: [PATCH 18/22] Update README.md --- Intel 手册中文版/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Intel 手册中文版/README.md b/Intel 手册中文版/README.md index 5b79657..474099a 100644 --- a/Intel 手册中文版/README.md +++ b/Intel 手册中文版/README.md @@ -23,6 +23,7 @@ - Intel 64 - IA-32 +- Words, Doublewords, Quadwords, Double Quadwords ### 规范化翻译词库 From 749afbe30fb635547256262bc7724566e1e8296e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AA=E5=AE=A2sun?= <18811311416@sina.cn> Date: Thu, 18 Nov 2021 10:36:39 +0800 Subject: [PATCH 19/22] =?UTF-8?q?Update=20=E7=AC=AC=E4=B8=80=E5=9B=9EFAQ.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FAQ/第一回FAQ.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/FAQ/第一回FAQ.md b/FAQ/第一回FAQ.md index 273a487..fe3594c 100644 --- a/FAQ/第一回FAQ.md +++ b/FAQ/第一回FAQ.md @@ -16,3 +16,6 @@ 这个问题本身错了,在于不清楚 ds 寄存器只是数据访问的基地址,而不是代码。具体见 Intel 手册 Volume-1 3.4.2 Segment Registers,里面清晰表达了访问代码、数据、栈用的都是哪个段寄存器。 ![image](https://user-images.githubusercontent.com/25787738/141405471-44a45263-df37-418a-bc47-3bf1f3729f64.png) + +### CPU 刚启动时为什么能直接访问 BIOS 的代码? +@解答人:ShengHui From c41fcfab4dae2456064108d3f7a4b9891aa14e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AA=E5=AE=A2sun?= <18811311416@sina.cn> Date: Thu, 18 Nov 2021 11:01:00 +0800 Subject: [PATCH 20/22] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8b565b8..d43eed5 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ * [第一回 最开始的两行代码](https://mp.weixin.qq.com/s/LIsqRX51W7d_yw-HN-s2DA) * [第二回 自己给自己挪个地儿](https://mp.weixin.qq.com/s/U-txDYt0YqLh5EeFOcB4NQ) + * [第三回 做好最最基础的准备工作](https://mp.weixin.qq.com/s/90QBJ-lP_-du2qQJxNF-Fw) * **第二部分:大战前期的初始化工作** From e1cdae9b9ced54d75705de1525ac5a775db20891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AA=E5=AE=A2sun?= <18811311416@sina.cn> Date: Thu, 18 Nov 2021 17:25:43 +0800 Subject: [PATCH 21/22] Update README.md --- Intel 手册中文版/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Intel 手册中文版/README.md b/Intel 手册中文版/README.md index 474099a..01177b8 100644 --- a/Intel 手册中文版/README.md +++ b/Intel 手册中文版/README.md @@ -11,6 +11,7 @@ - 中文和英文两端要有空格 - 图片无需上传,只需标注图片标号,如 Figure 2-5 - 语句要通顺,自己多读几遍,不会合并翻译有明显问题的 pr +- 提 pr 前看下 md 编辑后的预览,很多人的 md 格式都是有错误的,看一眼预览一下就知道了,避免浪费时间打回 ### 具体手册链接 From 29eb59acc4d43a3acbe184383bba5ac5083791a9 Mon Sep 17 00:00:00 2001 From: zk Date: Thu, 18 Nov 2021 18:00:50 +0800 Subject: [PATCH 22/22] feat: translation_2.1_begin --- Intel 手册中文版/卷一:基本架构.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Intel 手册中文版/卷一:基本架构.md b/Intel 手册中文版/卷一:基本架构.md index 1070f86..11ef00d 100644 --- a/Intel 手册中文版/卷一:基本架构.md +++ b/Intel 手册中文版/卷一:基本架构.md @@ -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®2Duo,Core 2 Quad 和 Intel Xeon 处理器 5300 和 7300 系列。1978 年以前发布的处理器创建的对象代码仍然在 Inter 64 和 IA-32 架构系列中的最新处理器上运行着。 @@ -213,13 +214,16 @@ Intel 和 IA-32 处理器都是采用“little endian(小端)”方式存储 8086/8088 向 IA-32 架构引入了段(segmentation)。通过分段, 16 位段寄存器可以指向高达 64 KB 的内存段。同时使用四个段寄存器,8086/8088 处理器能够不在段之间切换的情况下寻址达 256 KB。使用段寄存器和额外的 16 位指针可以形成的 20 位地址提供 1 MB 的总寻址范围。 +### 2.1.2 - 2.1.22 + +[@翻译人:zhangkai803](https://github.com/zhangkai803) # 第三章 Basic Execution Environment ## 3.4 BASIC PROGRAM EXECUTION REGISTERS - ### 3.4.2 段寄存器 + @翻译人:墨 段寄存器控制(代码段寄存器,数据段寄存器,堆栈段寄存器,扩展段寄存器,标志段寄存器,全局段寄存器)16 位的段选择子。段选择子是一种特殊的指针,用来标识内存中的段。为了访问内存中特定的段,该段的段选择子必须存在于适当的段寄存器中。