寄存器

通用寄存器『数据寄存器,指针寄存器,变址寄存器』

数据寄存器:AX[AH,AL],BX[BH,BL],CX[CH,CL],DX[DH,DL] // H 是高位,L 是低位
AX 和 AL 一般用于数据累加器
BX       唯一一个可以作为指针寄存器的数据寄存器
CX 控制循环的次数
CL 控制移位的次数
DX 存储 32 位乘除法的被除数


指针寄存器:SP,BP
SP 永远指向栈顶
BP 通过BP可以访问堆栈每一个数据


变址寄存器:SI,DI
SI 源地址寄存器
DI 目的地址寄存器

 

控制寄存器:IP
IP 指令指针,接着要执行的指令,在代码段的偏移

标志寄存器:FLAG
FLAG 包含了存储器的状态或运算结果的特征
[15] [14] [13] [12] OF[11] DF[10] IF[9] TF[8] SF[7] ZF[6] [5] AF[4] [3] PF[2] [1] CF[0]
-------运算结果标志:
CF 在运算时,最高有效位是否产生进位或借位 , 进位或借位时 CF=1 ,没有时 CF=0
ZF 反映运算结果是否为 0 ,如果运算结果为 0 ,ZF = 1 , 不等于0 ZF=0
SF 反映运算结果是整数还是负数,SF 与运算结果的最高有效位相同
OF 符号数是否“溢出”
PF 反映运算结果中 1 的个数 ,如果运算结果中 1 的个数为偶数 PF=1 ,是奇数时 PF = 0
AF 辅助进位标志,运算时 低 位向 高 位进位或借位时 AF=1 ,没有进位或借位 AF = 0

-------状态控制标志
DF 串操作指令的方向
IF 中断允许标志, IF=1 CUP 可以相应外部的中断请求,IF =0 CPU 不相应中断
TF 追踪标志,调试使用


段寄存器:CS,DS,SS,ES
CS 代码段
DS 数据段
SS 堆栈段
ES 附加段
// 32 位里增加了 FS,GS   附加段

你可能感兴趣的:(寄存器)