x86与ARM处理器架构解析
1. x86处理器家族
1.1 寄存器组织
x86处理器的寄存器组织包含多种类型的寄存器,具体如下表所示:
| 类型 | 位数模式 | 数量 | 长度(位) | 用途 |
| — | — | — | — | — |
| 通用 | 32位 | 8 | 32 | 通用用户寄存器 |
| 通用 | 64位 | 16 | 64 | 通用用户寄存器 |
| 段 | - | 6 | 16 | 包含段选择器 |
| 标志 | 32位 | 1 | 32 | 条件码和各种模式位 |
| 标志 | 64位 | 1 | 64 | 条件码和各种模式位(扩展) |
| 指令指针 | 32位 | 1 | 32 | 指向当前指令地址 |
| 指令指针 | 64位 | 1 | 64 | 指向当前指令地址 |
| 浮点单元 - 数值 | - | 8 | 80 | 保存浮点数字 |
| 浮点单元 - 控制 | - | 1 | 16 | 控制浮点单元操作 |
| 浮点单元 - 状态 | - | 1 | 16 | 反映浮点单元当前状态 |
| 浮点单元 - 标记字 | - | 1 | 16 | 指定数值寄存器内容 |
| 浮点单元 - 指令指针 | - | 1 | 48 | 指向因异常中断的指令 |
| 浮点单元 - 数据指针 | - | 1 | 48 | 指向因异常中断的操作数 |
通用寄存器在32位模式下有8个32位寄存器,可用于各类x86指令及地址计算,部分还有特殊用途,如字符串指令会使用ECX、ESI和EDI寄存器内容作为操作数。
超级会员免费看
订阅专栏 解锁全文
94

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



