习惯定义

#GP(0)

指令运行的异常反馈,本示例指一个错误代码为0的常规保护(General-Protection)异常。

1011b

二进制数字,后缀b表示二进制(binary)。

F0EA_0B02h

十六进制数字,后缀h表示十六进制(hexadecimal)。
有时会插入下划线增强可读性。

128

数字没有字母后缀时表示十进制数字。

7:4

字节范围, 示例表示从第7个字节一直到第4个被包含的字节,表达方式为先写高位,再写低位。可以插入逗号表空。

CR0–CR4

寄存器范围,示例表示CR0至CR4,先写标号小的寄存器,再写标号大的寄存器。

CR0[PE], CR0.PE

引用寄存器中的字段的符号——在本例中,是 CR0 寄存器的 PE 字段。

CR0[PE] = 1, CR0.PE = 1

设置 CR0(控制寄存器)的 PE 字段(包含值 1)。

EFER[LME] = 0, EFER.LME = 0

EFER 寄存器的 LME 字段被清除(包含值 0)。

DS:SI

远指针或逻辑地址。由段寄存器(本例中为 DS)指定的实际地址或段描述符与第二个寄存器(本例中为 SI)中包含的偏移量相结合,形成实际或虚拟地址。

RFLAGS[13:12]

寄存器中由其位范围标识的字段。 在本例中,对应于 IOPL 字段。

术语缩写

128-bit media instructions

对各种 128 位矢量数据类型进行操作的指令。在旧版 SSE 和扩展 SSE 指令集中均受支持。

256-bit media instructions

对各种 256 位矢量数据类型进行操作的指令。在扩展的 SSE 指令集中受支持。

64-bit media instructions

对 64 位向量数据类型进行操作的指令。 这些主要是 MMX 和 3DNow!™ 指令集及其扩展的组合,以及来自 SSE1 和 SSE2 指令集的一些附加指令。

16-bit mode

Legacy mode or compatibility mode in which a 16-bit address size is active. See legacy mode and
compatibility mode.

32-bit mode

32 位地址大小处于活动状态的传统模式或兼容模式。 请参阅传统模式和兼容模式。

64-bit mode

长模式的子模式。 在 64 位模式下,默认地址大小为 64 位,系统和应用软件支持寄存器扩展等新功能。

absolute

表示引用代码段基址而不是指令指针的位移。
Contrast with relative.

AES

高级加密标准(AES)算法加速指令; 流 SIMD 扩展 (SSE) 的一部分。

ASID

Address space identifier.

AVX

支持 128 位和 256 位向量(压缩)操作数的 SSE 指令集的扩展。 请参阅流式 SIMD 扩展。

AVX2

扩展 AVX 指令子集,增加了对 256 位向量(主要是压缩整数)操作数和一些新 SIMD 指令的支持。 请参阅流式 SIMD 扩展。

biased exponent

浮点值的指数和特定浮点数据类型的常数偏差之和。 偏置使偏置指数的范围始终为正,从而允许往复而不溢出。

byte

Eight bits.

clear

To write a bit value of 0. Compare set.

compatibility mode

长模式的子模式。 在兼容模式下,默认地址大小为 32 位,旧版 16 位和 32 位应用程序无需修改即可运行。

commit

以程序顺序将指令的结果不可逆地写入软件可见存储,例如寄存器(包括标志)、数据缓存、内部写缓冲区或内存。

CPL(Current privilege level)

当前特权等级(Current privilege level).

direct

引用地址包含在指令语法中的内存位置作为立即操作数。 地址可以是绝对地址或相对地址。
Compare indirect.

dirty data

处理器缓存或内部缓冲区中保存的数据比主存储器中保存的副本更新。

displacement

添加到段基址(绝对寻址)或指令指针(相对寻址)的有符号值。 与偏移相同。

doubleword

两个字,等于四个字节,32 位(bit)。

double quadword

8个字,等于16个字节,也称为octword.

effective address size

在考虑了默认地址大小和任何地址大小覆盖前缀之后的当前指令的地址大小。

effective operand size

在考虑默认操作数大小和任何操作数大小覆盖前缀之后,当前指令的操作数大小。

element

See vector.

exception

由于执行指令而发生的异常情况。 处理器对异常的响应取决于异常的类型。 对于除 SSE 浮点异常和 x87 浮点异常之外的所有异常,控制将转移到该异常的处理程序(或服务例程),由异常向量定义。 对于 IEEE 754 标准定义的浮点异常,有屏蔽和未屏蔽的响应。
取消屏蔽时,调用异常处理程序,屏蔽时,提供默认响应而不是调用处理程序。

extended SSE

增强的 SIMD 指令集支持 256 位矢量数据类型并允许指定多达四个操作数。 流式 SIMD 扩展 (SSE) 的子集。 包括 AVX、AVX2、FMA、FMA4 和 XOP 指令。 比较旧版 SSE。

flush

An often ambiguous term meaning (1) writeback, if modified, and invalidate, as in “flush the cache
line,” or (2) invalidate, as in “flush the pipeline,” or (3) change a value, as in “flush to zero.”

FMA4

Fused Multiply Add, four operand. Part of the extended SSE instruction set.

FMA

Fused Multiply Add. Part of the extended SSE instruction set.

GDT

Global descriptor table.

GIF

Global interrupt flag.

IDT

Interrupt descriptor table.

IGN

Ignored(忽略)。写入的值被硬件忽略。 读取时返回的值是不确定的。
See reserved

indirect

引用地址在寄存器或其他内存位置中的内存位置。地址可以是绝对地址或相对地址。
Compare direct.

IRB

The virtual-8086 mode interrupt-redirection bitmap.

IST

The long-mode interrupt-stack table.

IVT

The real-address mode interrupt-vector table.

LDT

Local descriptor table.

legacy x86

传统的 x86 架构。 有关旧 x86 架构的描述,请参见第 xxx 页的“相关文档”。

legacy mode

AMD64 架构的一种运行模式,现有的 16 位和 32 位应用程序和操作系统无需修改即可运行。 AMD64 架构的处理器实现可以在长模式或传统模式下运行。 Legacy 模式具有三个子模式,实模式、保护模式和虚拟 8086 模式。

legacy SSE

流 SIMD 扩展 (SSE) 的子集,由 SSE1、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2 和 SSE4A 指令集组成。 比较扩展 SSE。

LIP

Linear Instruction Pointer. LIP = (CS.base + rIP).

long mode

AMD64架构独有的操作模式。 AMD64 架构的处理器实现可以在长模式或传统模式下运行。 Long 模式有两个子模式,64 位模式和兼容模式。

lsb

Least-significant bit.

LSB

Least-significant byte.

main memory

安装在特定计算机系统中的物理内存,例如 RAM 和 ROM(但不包括高速缓存内存)。

mask

(1) A control bit that prevents the occurrence of a floating-point exception from invoking an
exception-handling routine. (2) A field of bits used for a control purpose.

MBZ

Must be zero. 如果软件尝试将 MBZ 位设置为 1,则会发生一般保护异常 (#GP)。 见保留。

memory

Unless otherwise specified, main memory.

msb

Most-significant bit.

MSB

Most-significant byte.

multimedia instructions

那些同时对向量数据类型中的多个元素进行操作的指令。
包括 256 位媒体指令、128 位媒体指令和 64 位媒体指令。

octword

Same as double quadword.

offset

Same as displacement.

overflow

浮点数的大小大于可用数据类型格式表示的最大、有限、正数或负数的情况。

packed

See vector.

PAE

Physical-address extensions.

physical memory

Actual memory, consisting of main memory and cache.

probe

检查处理器缓存或内部缓冲区中的地址。 外部探测源自处理器外部,内部探测源自处理器内部。

procedure stack

内存中堆栈段的一部分,用于链接过程。 也称为程序堆栈。

program stack

See procedure stack.

protected mode

A submode of legacy mode.

quadword

Four words, or eight bytes, or 64 bits.

RAZ

Read as zero. 无论先前写入什么,读取时返回的值始终为零 (0)。 (See reserved)

real-address mode

See real mode.

real mode

实地址模式的简称,是传统模式的子模式。

relative

从指令指针而不是代码段的基址引用位移(也称为偏移量)。 与绝对相反。

reserved

标记为保留的字段可能会在将来的某个时间使用。
为了保持与未来处理器的兼容性,保留字段在由软件读取或写入时需要特殊处理。 软件不得依赖于保留字段的状态(除非被限定为 RAZ),也不得依赖于此类字段返回先前写入状态的能力。
如果一个字段被标记为无条件保留,软件不得改变该字段的状态; 它必须使用从先前读取返回的相同值重新加载该字段。
保留字段可以限定为 IGN、MBZ、RAZ 或 SBZ(参见定义)。

REX

指令编码前缀,指定 64 位操作数大小并提供对其他寄存器的访问。

RIP-relative addressing

Addressing relative to the 64-bit RIP instruction pointer.

SBZ

应该为零。 软件尝试将 SBZ 位设置为 1 会导致未定义的行为。 见保留。

scalar

与向量相反,独立于任何位置、方向等规范而存在的原子值。

set

To write a bit value of 1. Compare clear.

shadow stack

影子堆栈是一个单独的、受保护的堆栈,它在概念上与过程堆栈平行并且仅由影子堆栈功能使用。

SIB

A byte following an instruction opcode that specifies address calculation based on scale (S), index
(I), and base (B).

SIMD

Single instruction, multiple data. See vector.

Streaming SIMD Extensions (SSE)

对标量或向量(压缩)整数和浮点数进行操作的指令。 SSE 指令集包括传统 SSE 和扩展 SSE 指令集。

SSE1

原始 SSE 指令集。 包括对 MMX 和 XMM 寄存器中的向量操作数进行操作的指令。

SSE2

Extensions to the SSE instruction set.

SSE3

Further extensions to the SSE instruction set.

SSSE3

Further extensions to the SSE instruction set.

SSE4.1

Further extensions to the SSE instruction set.

SSE4.2

Further extensions to the SSE instruction set.

SSE4A

对 SSE 指令集的次要扩展,添加了指令 EXTRQ、INSERTQ、MOVNTSS 和 MOVNTSD。

sticky bit

由硬件设置或清除并保持该状态直到被软件明确更改的位。

TOP

The x87 top-of-stack pointer.

TSS

Task-state segment.

underflow

浮点数的大小小于可以在所使用的数据类型格式中表示的最小非零、正数或负数的条件。

vector

(1) 一组整数或浮点值,称为元素,它们被打包到单个操作数中。
大多数媒体指令都支持向量作为操作数。 向量也称为打包或 SIMD(单指令多数据)操作数。
(2) 中断描述符表 (IDT) 的索引,用于访问异常处理程序。 比较异常。

VEX

一个指令编码转义前缀,它打开一个新的扩展指令编码空间,指定一个 64 位操作数大小,并提供对其他寄存器的访问。See XOP prefix.

virtual-8086 mode

A submode of legacy mode.
传统模式的子模式。

VMCB

Virtual machine control block.

VMM

Virtual machine monitor.

word

Two bytes, or 16 bits.

XOP instructions

使用 XOP 前缀的扩展 SSE 指令集的一部分。 请参阅流式 SIMD 扩展。

XOP prefix

扩展指令标识符前缀,由 XOP 指令使用,允许指定最多四个操作数和 128 或 256 位操作数宽度。