x86指令集全面解析
1. 引言
x86指令集是计算机领域中广泛使用的指令集之一。这里主要介绍常用的x86指令,不涉及系统模式指令以及通常仅在操作系统内核代码或保护模式设备驱动程序中使用的指令。
2. 标志位(Flags)
每个指令描述中都包含一系列框,用于描述该指令将如何影响CPU状态标志。每个标志由一个字母标识:
| 标志 | 含义 |
| ---- | ---- |
| O | 溢出(Overflow) |
| S | 符号(Sign) |
| P | 奇偶(Parity) |
| D | 方向(Direction) |
| Z | 零(Zero) |
| C | 进位(Carry) |
| I | 中断(Interrupt) |
| A | 辅助进位(Auxiliary Carry) |
框内使用以下符号表示指令对标志的影响:
- 1:设置标志。
- 0:清除标志。
- ?:可能将标志更改为未确定的值。
- (空白):标志不变。
- *:根据与标志相关的特定规则更改标志。
例如,从某个指令描述中的CPU标志图可以看出,溢出、符号、零和奇偶标志将被更改为未知值,辅助进位和进位标志将根据相关规则修改,方向和中断标志不变。
3. 指令描述和格式
在引用源操作数和目的操作数时,遵循x86指令中操作数的自然顺序,即第一个操作数是目的操作数,第二个是源操作数。例如,在 MOV 指令中:
超级会员免费看
订阅专栏 解锁全文
99

被折叠的 条评论
为什么被折叠?



