i386寄存器主要包括
- 一個16位標志寄存器
- 4個內存管理寄存器
- 4個控制寄存器以及調試寄存器
下面先介紹標志寄存器:
16位標志寄存器
各位置代表的意義:
-
第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):方向標志位。
第10位DF Flag
方向標志位用于控制字符串指令處理字符串時的方式。當DF=1時,從高地址到低地址;DF=0時,從低地址到高地址。
-
第11位(OF):有符號數溢出標志位。
OF Flag
如果整數結果是一個太大的正數或太小的負數(不包括符號位)以適應
目標操作數,那么OF=1;否則為0。這個標志位用于判斷一個有符號整數
運算是否發生溢出。