每条汇编指令都必须包含至少一个字节的操作码
-----------------------------------------------------------
最常用的三个段:
数据段
bss段
文本段
-----------------------------------------------------------
通过尽量减少程序中的分支,可以帮助提高程序中指令码的执行速度(因为指令预取,缓存,分支预测等)
-----------------------------------------------------------
IA-32内存模式
平坦内存模式
分段内存模式
实地址模式
-----------------------------------------------------------
1.通用寄存器:32位
EAX:操作数和结果数据
EBX:指向数据的指针
ECX:字符串和循环操作
EDX:I/O指针
EDI:目标索引
ESI:源索引
EBP:堆栈的基指针
ESP:堆栈的栈顶指针
2.段寄存器:16位
CS:代码
DS:数据
SS:堆栈
ES:数据
FS:数据
GS:数据
3.指令指针寄存器(程序计数器)
EIP
4.控制寄存器
CR0
CR1
CR2
CR3
CR4
5.浮点寄存器
6.调试寄存器
7.标志寄存器
EFLAGS
-----------------------------------------------------------
状态标志:
CF进位标志(包括借位)
PF奇偶校验标志
AF辅助进位标志
ZF零标志
SF符号标志
OF溢出标志
控制标志:
DF方向标志
系统标志:
TF陷阱标志
IF中断是能标志
IOPL I/O特权级别标志
NT嵌套任务标志
RF恢复标志
VM虚拟8086模式标志
AC对准检查标志
VIF虚拟中断标志
VIP虚拟中断挂起标志
ID识别标志
-----------------------------------------------------------
FPU浮点处理单元
-----------------------------------------------------------
MMX多媒体扩展:提高了复杂整数运算的处理速度
64位打包整数
MMX0~MMX7
SSE流化SIMD扩展:提高了复杂浮点运算的处理速度
128位打包浮点(SSE2增加128位打包整数)
XMMX0~XMMX7