i386寄存器主要包括
- 一个16位标志寄存器
- 4个内存管理寄存器
- 4个控制寄存器以及调试寄存器
下面先介绍标志寄存器:
各位置代表的意义:
-
第0位(CF):无符号数进位标志。当两个数相加且相加产生进位
后的数据大于寄存器所能存储的数据的最大值时,CF=1。 - 第2位(PF):奇偶校验位。如:
mov ax,5
add ax,2
执行后其结果为7,二进制表达是111,1的个数为奇数,即PF的值为0
-
第4位(AF):辅助进位标志符。在字操作时,当发生低字节向
高字节进位或借位时,或在字操作时,低四位向高四位进位或借位时,
AF的值为1,其他情况为AF=0。 -
第6位(ZF):0标志位。当两个数据进行运算后,如果运算结果为0,
则ZF=1,否则ZF=0。 -
第7位(SF):符号位,代表是否为负数。如果两个数运算结果为负
数,则SF=1。 -
第8位(TF):陷阱标志。当TF=1,设置为单步调试模式;当TF=0,
关闭单步模式。 -
第9位(IF):中断允许标志位,决定CPU是否响应CPU外部的可屏
蔽中断发生的中断请求。 -
第10位(DF):方向标志位。
方向标志位用于控制字符串指令处理字符串时的方式。当DF=1时,从高地址到低地址;DF=0时,从低地址到高地址。
-
第11位(OF):有符号数溢出标志位。
如果整数结果是一个太大的正数或太小的负数(不包括符号位)以适应
目标操作数,那么OF=1;否则为0。这个标志位用于判断一个有符号整数
运算是否发生溢出。