寄存器概述
通用寄存器
| 64位 | 32位 | 16位 | 8位 | 作用 |
|---|---|---|---|---|
| rax | eax | ax | al | 加法乘法指令的缺省寄存器 |
| rbx | ebx | bx | bl | 内存寻址时存放基地址 |
| rcx | ecx | cx | cl | LOOP指令的计数器 |
| rdx | edx | dx | dl | 整数除法产生的余数 |
| rsi | esi | si | sil | 源变址寄存器 |
| rdi | edi | di | dil | 目的变址寄存器 |
| rbp | ebp | bp | bpl | 当前线程的栈底指针 |
| rsp | esp | sp | spl | 当前线程的栈顶指针 |
64 位独有寄存器
| 名称 |
|---|
| r8 |
| r9 |
| r10 |
| r11 |
| r12 |
| r13 |
| r14 |
| r15 |

状态寄存器(条件码寄存器)
-
CF(Carry Flag) 进位标志
unsigned char a = 255; unsigned char b = 1; unsigned char t = a + b; -
ZF(Zero Flag) 零标志
int a = 1; int b = -1; int t = a + b; -
SF(Sign Flag) 符号标志
当最近的操作结果小于零时,符号标志 (SF) 会被置 1 。
-
OF(Overflow Flag) 溢出标志
最近的操作导致正溢出或者负溢出时溢出标志 (OF) 会被置 1 。

