汇编语言
中英文对照
CS(Code Segment): 代码段寄存器
IP(Instruction Pointer): 指令指针寄存器
PC(Program Counter): 程序计数器(寄存器)
PC=CS<<4+IP
一般寄存器: AX、BX、CX、DX
AH&AL=AX(accumulator): 累加寄存器
BH&BL=BX(base): 基址寄存器
CH&CL=CX(count): 计数寄存器
DH&DL=DX(data): 数据寄存器
SP(Stack Pointer): 堆栈指针寄存器(存放栈顶的偏移地址)
BP(Base Pointer): 基址指针寄存器
索引寄存器: SI、DI
SI(Source Index): 源索引寄存器
DI(Destination Index): 目的索引寄存器
通用寄存器: EAX、EBX、ECX、EDX | ESP、EBP | ESI、EDI(32位)
EAX、EBX、ECX、EDX 各为 AX、BX、CX、DX的延申
ESP、EBP 各为 SP、BP的延申
ESI、EDI 各为 SI、DI的延申
DS(Data Segment): 数据段寄存器(存放数据段的段地址)
ES(Extra Segment): 附加段寄存器
SS(Stack Segment): 堆栈段寄存器(存放栈段的段地址)
CS(Code Segment): 代码段寄存器(存放代码段的段地址)
IP(Instruction Pointer): 指令指针寄存器(存放当前指令的偏移地址)
SS:SP指向栈顶元素
NV(not overflow) 溢出标志
UP(up) 方向标志
EI
NG
NZ
NA
PO
NC
常见寄存器
寄存器 | 16位 | 32位 | 64位 |
---|---|---|---|
累加寄存器 | AX | EAX | RAX |
基址寄存器 | BX | EBX | RBX |
计数寄存器 | CX | ECX | RCX |
数据寄存器 | DX | EDX | RDX |
堆栈基指针 | BP | EBP | RBP |
变址寄存器 | SI | ESI | RSI |
堆栈顶指针 | SP | ESP | RSP |
指令寄存器 | IP | EIP | RIP |
1 | movx source, destination |
寄存器与数据传送指令
【CSAPP-深入理解计算机系统】3-2.寄存器与数据传送指令
Operation code(操作码):movq、addq、subq、ret、、、
Operands(操作数):Immediate(立即数)、REgister(寄存器)、Memory Reference(内存引用)
shift
shift arithmetic left (sal)
shift left (shl)
shift arithmetic right (sar)
shift right (shr)
条件码寄存器
condition code register
CF, Carry Flag, 进位标志
ZF, Zero Flag, 零标志
SF, Sign Flag, 符号标志
OF, Overflow Flag, 溢出标志