寄存器概述
通用寄存器
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 。