標(biāo)志寄存器的作用
標(biāo)志寄存器中存放的有條件標(biāo)志,也有控制標(biāo)志,它對(duì)于處理器的運(yùn)行和整個(gè)過(guò)程的控制有著非常重要的作用。條件標(biāo)志主要包括進(jìn)位標(biāo)志、奇偶標(biāo)志、輔助進(jìn)位標(biāo)志、零標(biāo)志、符號(hào)標(biāo)志、溢出標(biāo)志等等,控制標(biāo)志主要有跟蹤標(biāo),下面就隨小編一起去了解一下關(guān)于標(biāo)志寄存器的相關(guān)知識(shí)吧。
標(biāo)志寄存器標(biāo)志位置
進(jìn)位標(biāo)志:
用于反映運(yùn)算是否產(chǎn)生進(jìn)位或借位。如果運(yùn)算結(jié)果的最高位產(chǎn)生一個(gè)進(jìn)位或借位,則CF置1,否則置0。運(yùn)算結(jié)果的最高位包括字操作的第15位和字節(jié)操作的第7位。移位指令也會(huì)將操作數(shù)的最高位或最低位移入CF。
奇偶標(biāo)志:用于反映運(yùn)算結(jié)果低8位中“1”的個(gè)數(shù)。“1”的個(gè)數(shù)為偶數(shù),則PF置1,否則置0。
輔助進(jìn)位標(biāo)志:在字節(jié)操作時(shí)低半字節(jié)向高半字節(jié)進(jìn)位或借位,字操作時(shí)低字節(jié)向高字節(jié)進(jìn)位或借位,AF置1,否則置0。
零標(biāo)志:用于判斷結(jié)果是否為0。運(yùn)算結(jié)果0,ZF置1,否則置0。
符號(hào)標(biāo)志:用于反映運(yùn)算結(jié)果的符號(hào),運(yùn)算結(jié)果為負(fù),SF置1,否則置0。因?yàn)橛蟹?hào)數(shù)采用補(bǔ)碼的形式表示,所以SF與運(yùn)算結(jié)果的最高位相同。
溢出標(biāo)志:反映有符號(hào)數(shù)加減運(yùn)算是否溢出。如果運(yùn)算結(jié)果超過(guò)了8位或者16位有符號(hào)數(shù)的表示范圍,則OF置1,否則置0。
控制標(biāo)志:
跟蹤標(biāo)志:當(dāng)TF被設(shè)置位1時(shí),CPU進(jìn)入單步模式,所謂單步模式就是CPU在每執(zhí)行一步指令后都產(chǎn)生一個(gè)單步中斷。主要用于程序的調(diào)試。8086/8088中沒(méi)有專(zhuān)門(mén)用來(lái)置位和清零TF的命令,需要用其他辦法。
中斷標(biāo)志:決定CPU是否響應(yīng)外部可屏蔽中斷請(qǐng)求。IF為1時(shí),CPU允許響應(yīng)外部的可屏蔽中斷請(qǐng)求。
方向標(biāo)志:決定串操作指令執(zhí)行時(shí)有關(guān)指針寄存器調(diào)整方向。當(dāng)DF為1時(shí),串操作指令按遞減方式改變有關(guān)存儲(chǔ)器指針值,每次操作后使SI、DI遞減。
標(biāo)志寄存器中狀態(tài)標(biāo)志的作用是什么
標(biāo)志寄存器里面有標(biāo)志位用來(lái)判斷CPU的狀態(tài):
比如:OF: 溢出標(biāo)志位OF用于反映有符號(hào)數(shù)加減運(yùn)算所得結(jié)果是否溢出。如果運(yùn)算結(jié)果超過(guò)當(dāng)前運(yùn)算位數(shù)所能表示的范圍,則稱(chēng)為溢出,OF的值被置為1,否則,OF的值被清為0.
DF: 方向標(biāo)志DF位用來(lái)決定在串操作指令執(zhí)行時(shí)有關(guān)指針寄存器發(fā)生調(diào)整的方向。
IF: 中斷允許標(biāo)志IF位用來(lái)決定CPU是否響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。但不管該標(biāo)志為何值,CPU都必須響應(yīng)CPU外部的不可屏蔽中斷所發(fā)出的中斷請(qǐng)求,以及CPU內(nèi)部產(chǎn)生的中斷請(qǐng)求。具體規(guī)定如下:
(1)、當(dāng)IF=1時(shí),CPU可以響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求;
?。?)、當(dāng)IF=0時(shí),CPU不響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。
TF: 狀態(tài)控制標(biāo)志位是用來(lái)控制CPU操作的,它們要通過(guò)專(zhuān)門(mén)的指令才能使之發(fā)生改變
SF: 符號(hào)標(biāo)志SF用來(lái)反映運(yùn)算結(jié)果的符號(hào)位,它與運(yùn)算結(jié)果的最高位相同。在微機(jī)系統(tǒng)中,有符號(hào)數(shù)采用補(bǔ)碼表示法,所以,SF也就反映運(yùn)算結(jié)果的正負(fù)號(hào)。運(yùn)算結(jié)果為正數(shù)時(shí),SF的值為0,否則其值為1。
ZF: 零標(biāo)志ZF用來(lái)反映運(yùn)算結(jié)果是否為0。如果運(yùn)算結(jié)果為0,則其值為1,否則其值為0。在判斷運(yùn)算結(jié)果是否為0時(shí),可使用此標(biāo)志位。
AF: 下列情況下,輔助進(jìn)位標(biāo)志AF的值被置為1,否則其值為0:
(1)、在字操作時(shí),發(fā)生低字節(jié)向高字節(jié)進(jìn)位或借位時(shí);
(2)、在字節(jié)操作時(shí),發(fā)生低4位向高4位進(jìn)位或借位時(shí)。
PF: 奇偶標(biāo)志PF用于反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性。如果“1”的個(gè)數(shù)為偶數(shù),則PF的值為1,否則其值為0。
CF: 進(jìn)位標(biāo)志CF主要用來(lái)反映運(yùn)算是否產(chǎn)生進(jìn)位或借位。如果運(yùn)算結(jié)果的最高位產(chǎn)生了一個(gè)進(jìn)位或借位,那么,其值為1,否則其值為0。)
標(biāo)志寄存器的作用
標(biāo)志寄存器有一個(gè)很大的用處,那就是它能夠利用上面的標(biāo)志來(lái)讓用戶(hù)了解此時(shí)cpu所處的狀態(tài)。如果標(biāo)志是of的話(huà),這就是溢出標(biāo)志,如果符號(hào)的加減運(yùn)算結(jié)果超出了所能運(yùn)算的范圍的話(huà),就是溢出了,而且此時(shí)of的值就是固定的,也就是1,不是的話(huà),就是0了。標(biāo)志df是方向標(biāo)志,這個(gè)標(biāo)志能夠指導(dǎo)寄存器指針調(diào)整的方向。
if是中斷允許的標(biāo)志,這個(gè)標(biāo)志的主要用處就在于當(dāng)cpu的外部有中斷請(qǐng)求的話(huà),它能夠決定是否針對(duì)這一情況予以反應(yīng)。但是實(shí)際運(yùn)行過(guò)程中,對(duì)于這種中斷要求的反應(yīng)是不會(huì)受到標(biāo)志值的影響的。tf是狀態(tài)控制標(biāo)志,這個(gè)標(biāo)志作用非常重要,因?yàn)樗饕脕?lái)控制cpu,而且它本身非常的穩(wěn)定,除非會(huì)有專(zhuān)門(mén)的指令,它才會(huì)有所變化。sf是符號(hào)的標(biāo)志,這個(gè)標(biāo)志就是用來(lái)反應(yīng)運(yùn)算的結(jié)果的,但是它也就只能反應(yīng)運(yùn)算結(jié)果的正負(fù)而已,如果是正的話(huà),就為0,如果是負(fù)的話(huà),就為1。
總的來(lái)說(shuō),標(biāo)志寄存器的作用主要有三個(gè),分別是存儲(chǔ)計(jì)算機(jī)執(zhí)行之后的一些結(jié)果,提供一些依據(jù)給cpu的運(yùn)行,對(duì)于cpu的一些工作的方式給予一定的控制等等。在標(biāo)志寄存器中有很多的指令,要想了解并且很好的運(yùn)用標(biāo)志寄存器,必須要真正的了解這些指令的含義。
指令中中的pushf、popf,雖然它們很相似,但是功能卻大不相同,pushf主要是把值壓棧,但是popf主要是將數(shù)據(jù)從棧中彈出,然后把它們輸入寄存器之中,兩者可以說(shuō)是完全相反的。寄存器中還有一類(lèi)條件轉(zhuǎn)移指令,條件的話(huà),是指是否有需要修改ip的條件,而轉(zhuǎn)移的話(huà),就是修改ip的一個(gè)過(guò)程,兩者結(jié)合,才能完成。
非常好我支持^.^
(5) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] Blackwell GB100能否在超級(jí)計(jì)算機(jī)和AI市場(chǎng)保持領(lǐng)先優(yōu)勢(shì)? 2023-10-24
- [電子說(shuō)] 學(xué)習(xí)STM32F103的ADC功能 2023-10-24
- [電子說(shuō)] 學(xué)習(xí)STM32F103的DAC功能 2023-10-24
- [電子說(shuō)] 學(xué)習(xí)STM32F103的定時(shí)器功能 2023-10-24
- [電子說(shuō)] STM32基礎(chǔ)知識(shí):定時(shí)器的PWM輸出功能 2023-10-24
- [電子說(shuō)] 既然ODR能控制管腳高低電平,為什么還需要BSRR寄存器呢? 2023-10-24
- [電子說(shuō)] ARM系列-P Channel簡(jiǎn)析 2023-10-24
- [電子說(shuō)] 3線串行數(shù)據(jù)通訊EEPROM的使用 2023-10-23
( 發(fā)表人:李倩 )