標誌暫存器

2021-06-04 12:02:15 字數 2307 閱讀 5122

標誌暫存器

標誌暫存器(flags register,fr)又稱程式狀態字(program status word,psw)。這是乙個存放條件標誌、控制標誌暫存器,主要用於反映處理器的狀態和運算結果的某些特徵及控制指令的執行  

各標誌在標誌暫存器中的位置:

條件標誌:

cf(carry flag)進製標誌:用於反映運算是否產生進製或借位。如果運算結果的最高位產生乙個進製或借位,則cf置1,否則置0。運算結果的最高位包括字操作的第15位和位元組操作的第7位。移位指令也會將運算元的最高位或最低位移入cf。

pf(parity flag)奇偶標誌:用於反映運算結果低8位中「1」的個數。「1」的個數為偶數,則pf置1,否則置0。

af(auxiliary carry flag)輔助進製標誌:在位元組操作時低半位元組向高半位元組進製或借位,字操作時低位元組向高位元組進製或借位,af置1,否則置0。

zf(zero flag)零標誌:用於判斷結果是否為0。運算結果0,zf置1,否則置0。

sf(sign flag)符號標誌:用於反映運算結果的符號,運算結果為負,sf置1,否則置0。因為有符號數採用補碼的形式表示,所以sf與運算結果的最高位相同。

of(overflow flag)溢位標誌:反映有符號數加減運算是否溢位。如果運算結果超過了8位或者16位有符號數的表示範圍,則of置1,否則置0。

控制標誌:

tf(trap flag)陷阱標誌:當tf被設定位1時,cpu進入單步模式,所謂單步模式就是cpu在每執行一步指令後都產生乙個單步中斷。主要用於程式的除錯。8086/8088中沒有專門用來置位和清零tf的命令,需要用其他辦法。

if(interrupt flag)中斷標誌:決定cpu是否響應外部可遮蔽中斷請求。if為1時,cpu允許響應外部的可遮蔽中斷請求。

df(direction flag)方向標誌:決定串操作指令執行時有關指標暫存器調整方向。當df為1時,串操作指令按遞減方式改變有關儲存器指標值,每次操作後使si、di遞減。

各標誌位名稱、英文全稱、標誌值符號及含義一覽:

標誌位    標誌位名稱/英文    =1    =0

cf        進製標誌/carry flag    cy/carry/進製    nc/no carry/無進製

pf        奇偶標誌/parity flag    pe/parity even/偶    po/parity odd/奇

af        輔助進製標誌/auxiliary carry flag    ac/auxiliary carry/進製    na/no auxiliary carry/無進製

zf        零標誌/zero flag    zr/zero/等於零    nz/not zero/不等於零

sf        符號標誌/sign flag    ng/negative/負    pl/plus/正

tf        陷阱標誌/trap flag    

if        中斷標誌/interrupt flag    ei/enable interrupt/允許    di/disable interrupt/禁止

df        方向標誌/direction flag    dn/down/減少    up/增加

of        溢位標誌/overflow flag    ov/overflow/溢位    nv/not overflow/未溢位

debug下觀察:

標誌名                    中文         標誌為1時        標誌為0時

of[overflow flag]        溢位標誌    ov[overflow]    nv[not overflow]

df[direction flag]        方向        dn[down]        up[up]

if[interrupt flag]        中斷        ei[enable]        di[disable]

sf[sign flag]            符號        ng[negative]    pl[plus]

zf[zero flag]            零            zr[zero]        nz[not zero]

af[auxiliarycarryflag]    輔進製        ac[auxiliary]    na[not]

pf[parity flag]            奇偶        pe[eve]            po[odd]

cf[carry flag]            進製        cy[carry]        nc[not carry]

標誌暫存器df 標誌暫存器

cpu內部的暫存器中,有一種特殊的暫存器具有以下三種作用。用來儲存相關指令的某些執行結果 用來為cpu執行相關指令提供行為依據 用來控制cpu的相關工作方式 這種特殊的暫存器在8086cpu種,被稱為標誌暫存器 flag 8086cpu的標誌暫存器有16位,其中儲存的資訊通常被稱為程式狀態字 psw...

暫存器,標誌暫存器

涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...

標誌暫存器

按位起作用 15 14 13 12 11 of 10 df 09 if 08 tf 07 sf 06 zf 05 04 af 03 02 pf 01 00 cf 沒有標記的位,沒有含義 只有add,sub,mul,div,inc,or,and等運算指令才會影響標誌暫存器,mov,push,pop 等...