關(guān)于標(biāo)志寄存器的各個(gè)標(biāo)志
運(yùn)算結(jié)果標(biāo)志位?
1、進(jìn)位標(biāo)志CF(Carry?Flag)?
進(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)志位的情況有:多字(字節(jié))數(shù)的加減運(yùn)算,無(wú)符號(hào)數(shù)的大小比較運(yùn)算,移位操作,字(字節(jié))之間移位,專門改變CF值的指令等。??
2、奇偶標(biāo)志PF(Parity?Flag)?
奇偶標(biāo)志PF用于反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性。如果“1”的個(gè)數(shù)為偶數(shù),則PF的值為1,否則其值為0。??
利用PF可進(jìn)行奇偶校驗(yàn)檢查,或產(chǎn)生奇偶校驗(yàn)位。在數(shù)據(jù)傳送過(guò)程中,為了提供傳送的可靠性,如果采用奇偶校驗(yàn)的方法,就可使用該標(biāo)志位。??
3、輔助進(jìn)位標(biāo)志AF(Auxiliary?Carry?Flag)?
在發(fā)生下列情況時(shí),輔助進(jìn)位標(biāo)志AF的值被置為1,否則其值為0:??
(1)、在字操作時(shí),發(fā)生低字節(jié)向高字節(jié)進(jìn)位或借位時(shí);?(2)、在字節(jié)操作時(shí),發(fā)生低4位向高4位進(jìn)位或借位時(shí)。??
對(duì)以上6個(gè)運(yùn)算結(jié)果標(biāo)志位,在一般編程情況下,標(biāo)志位CF、ZF、SF和OF的使用頻率較高,而標(biāo)志位PF和AF的使用頻率較低。??
4、零標(biāo)志ZF(Zero?Flag)?
零標(biāo)志ZF用來(lái)反映運(yùn)算結(jié)果是否為0。如果運(yùn)算結(jié)果為0,則其值為1,否則其值為0。在判斷運(yùn)算結(jié)果是否為0時(shí),可使用此標(biāo)志位。??
5、符號(hào)標(biāo)志SF(Sign?Flag)??
符號(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。??
6、溢出標(biāo)志OF(Overflow?Flag)?
溢出標(biāo)志OF用于反映有符號(hào)數(shù)加減運(yùn)算所得結(jié)果是否溢出。如果運(yùn)算結(jié)果超過(guò)當(dāng)前運(yùn)算位數(shù)所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。??
“溢出”和“進(jìn)位”是兩個(gè)不同含義的概念,不要混淆。如果不太清楚的話,請(qǐng)查閱《計(jì)算機(jī)組成原理》課程中的有關(guān)章節(jié)。
標(biāo)志寄存器的各個(gè)標(biāo)志
二、狀態(tài)控制標(biāo)志位?
狀態(tài)控制標(biāo)志位是用來(lái)控制CPU操作的,它們要通過(guò)專門的指令才能使之發(fā)生改變。??
1、追蹤標(biāo)志TF(Trap?Flag)?
當(dāng)追蹤標(biāo)志TF被置為1時(shí),CPU進(jìn)入單步執(zhí)行方式,即每執(zhí)行一條指令,產(chǎn)生一個(gè)單步中斷請(qǐng)求。這種方式主要用于程序的調(diào)試。??
指令系統(tǒng)中沒(méi)有專門的指令來(lái)改變標(biāo)志位TF的值,但程序員可用其它辦法來(lái)改變其值。??
2、中斷允許標(biāo)志IF(Interrupt-enable?Flag)?
中斷允許標(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)求;??
(2)、當(dāng)IF=0時(shí),CPU不響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。??
CPU的指令系統(tǒng)中也有專門的指令來(lái)改變標(biāo)志位IF的值。??
3、方向標(biāo)志DF(Direction?Flag)?
方向標(biāo)志DF用來(lái)決定在串操作指令執(zhí)行時(shí)有關(guān)指針寄存器發(fā)生調(diào)整的方向。具體規(guī)定在第5.2.11節(jié)——字符串操作指令——中給出。在微機(jī)的指令系統(tǒng)中,還提供了專門的指令來(lái)改變標(biāo)志位DF的值。
跳轉(zhuǎn)指令
非常好我支持^.^
(169) 98.8%
不好我反對(duì)
(2) 1.2%
相關(guān)閱讀:
- [電子說(shuō)] 國(guó)產(chǎn)運(yùn)放和溫度傳感器介紹 2023-10-24
- [電子說(shuō)] 學(xué)習(xí)STM32F103的ADC功能 2023-10-24
- [電子說(shuō)] 學(xué)習(xí)STM32F103的DAC功能 2023-10-24
- [電子說(shuō)] HOLTEK新推出BH66F2475連續(xù)血糖監(jiān)測(cè)MCU 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ō)] 運(yùn)算放大器反相輸入端電壓高于同相輸入端會(huì)怎樣?輸出是什么樣子? 2023-10-24
( 發(fā)表人:李倩 )