北航微機(jī)原理課件第二講_第1頁
北航微機(jī)原理課件第二講_第2頁
北航微機(jī)原理課件第二講_第3頁
北航微機(jī)原理課件第二講_第4頁
北航微機(jī)原理課件第二講_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二講8086/8088CPU的結(jié)構(gòu)的結(jié)構(gòu)2009.2.24(2009.2.24(星期二星期二) )主要內(nèi)容:主要內(nèi)容: 1.復(fù)習(xí)復(fù)習(xí)三種碼制之間關(guān)系及特點(diǎn)三種碼制之間關(guān)系及特點(diǎn) 2.第三章第三章 8086/8088微處理器及其系統(tǒng)微處理器及其系統(tǒng)三種碼制之間關(guān)系及特點(diǎn):三種碼制之間關(guān)系及特點(diǎn):正數(shù):正數(shù):原,反,補(bǔ)相同原,反,補(bǔ)相同負(fù)數(shù):負(fù)數(shù):原,反,補(bǔ)不同,但最高位為原,反,補(bǔ)不同,但最高位為1。負(fù)數(shù)負(fù)數(shù): 原原反,反, 符號(hào)位不變,尾數(shù)按位求反符號(hào)位不變,尾數(shù)按位求反 反反原原 ,符號(hào)位不變,尾數(shù)求反,符號(hào)位不變,尾數(shù)求反. 原原補(bǔ)補(bǔ) ,符號(hào)位不變,尾數(shù)按位求反,符號(hào)位不變,尾數(shù)按位求反

2、+1 補(bǔ)補(bǔ)原,原, 符號(hào)位不變,尾數(shù)求反符號(hào)位不變,尾數(shù)求反+1X補(bǔ)1 000 0000,求二進(jìn)制的真值。X原1 111 111111000 0000128真值為絕對(duì)值,為128。5.判斷溢出的方法:根據(jù)結(jié)果判斷溢出(運(yùn)算結(jié)果超出了數(shù)據(jù)寬度表示的范圍127D128)V=CD7 CD6,CD7 CD6不等,V=1表示有溢出。兩正數(shù)相加、兩負(fù)數(shù)相加、正數(shù)與負(fù)數(shù)相加的正數(shù)幾種情況分析得到。例:正數(shù)溢出的情況X=0100 0000 (64)10 Y=01000001 (65) 10 0100 0000補(bǔ)碼+0100 0001補(bǔ)碼=1000 0001 補(bǔ)碼(-127) 10 ,CD7=0,CD6=1,V

3、=1,有溢出,需要進(jìn)行調(diào)整。 第三章第三章 8086/8088微處理器及其系統(tǒng)微處理器及其系統(tǒng)分五部分討論:分五部分討論:(一)(一) 8088編程結(jié)構(gòu)編程結(jié)構(gòu) (二)(二) 8088的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)(三)引腳功能與典型系統(tǒng)結(jié)構(gòu)(三)引腳功能與典型系統(tǒng)結(jié)構(gòu)(四)存儲(chǔ)器組織(四)存儲(chǔ)器組織(五)指令系統(tǒng)(五)指令系統(tǒng)本講內(nèi)容:本講內(nèi)容: 一、一、8086/8088微處理器微處理器1.內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)2.寄存器結(jié)構(gòu)寄存器結(jié)構(gòu)概述概述INTEL 8086為為16位機(jī)位機(jī). INTEL 8088(簡(jiǎn)稱(簡(jiǎn)稱8088)是一種準(zhǔn))是一種準(zhǔn)16位微處位微處理器,理器, 在在INTEL8080與與80

4、85的基礎(chǔ)上發(fā)展起來的。的基礎(chǔ)上發(fā)展起來的。GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC (5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD (RQ/GT0)HLDA (RQ/GT1)WR (LOCK)M/IO (S2)DT/R (S1)DEN (S0)ALE (QS0)INTA (QS1)TESTREADYRESET123456789101112131415161718192021222324252627282930313233343536373839

5、408086CPU8086/88結(jié)構(gòu)特點(diǎn):結(jié)構(gòu)特點(diǎn): (1) 內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 是是16位的位的 (內(nèi)部寄存器,內(nèi)部運(yùn)算部件,內(nèi)部操作按(內(nèi)部寄存器,內(nèi)部運(yùn)算部件,內(nèi)部操作按 16位設(shè)計(jì));位設(shè)計(jì)); (2)外部數(shù)據(jù)總線外部數(shù)據(jù)總線8條,能處理?xiàng)l,能處理16位數(shù)據(jù)位數(shù)據(jù),也能處理也能處理8位數(shù)據(jù);位數(shù)據(jù); (具有(具有16位運(yùn)算指令,包括位運(yùn)算指令,包括*、/指令)指令) (3) 匯編語言與匯編語言與8080/8085兼容,即能執(zhí)行整套兼容,即能執(zhí)行整套8080/8085的指令的指令. 增加了許多增加了許多16位操作指令;位操作指令; (4) 20條地址總線,直接尋址能力條地址總線,直接尋址能

6、力1M字節(jié);字節(jié); (5) 40條引線封裝;條引線封裝; (6) 單相時(shí)鐘;單相時(shí)鐘; (7) 電源為電源為5V。 8086與與8088的主要區(qū)別在于的主要區(qū)別在于8086的外部數(shù)據(jù)總線的外部數(shù)據(jù)總線16位。位。(一)、(一)、8088編程結(jié)構(gòu)編程結(jié)構(gòu)編程結(jié)構(gòu):從程序員和使用者的角度來看的結(jié)構(gòu)。編程結(jié)構(gòu):從程序員和使用者的角度來看的結(jié)構(gòu)。 這種結(jié)構(gòu)與這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局有區(qū)別。內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局有區(qū)別。8088編程結(jié)構(gòu)如下頁圖所示(編程結(jié)構(gòu)如下頁圖所示(P23)分兩部分:分兩部分:1、總線接口單元、總線接口單元 BIU(Bus Interface Unit)2、執(zhí)行部

7、件、執(zhí)行部件 EU (Execution Unit)8086編程結(jié)構(gòu)編程結(jié)構(gòu)CHDHDISPBPSI65標(biāo)志3執(zhí)行部分控制電路運(yùn)算寄存器ALU1 24DSSSES輸入/輸出控制電路IPCS內(nèi)部暫存器BHAHDLCLALBL20 位地址加法16 位外部總線指令隊(duì)列緩沖器8 位16 位通用寄存器執(zhí)行部件(EU)總線接口部件(BIU)1、總線接口單元、總線接口單元 BIU(Bus Interface Unit)(1)功能:功能:負(fù)責(zé)與負(fù)責(zé)與 M、I/O 端口傳送數(shù)據(jù)端口傳送數(shù)據(jù)。 具體講:具體講: 總線接口部件要從內(nèi)存總線接口部件要從內(nèi)存 取指令送到指令隊(duì)列取指令送到指令隊(duì)列; CPU執(zhí)行指令時(shí),要

8、配合執(zhí)行部件從指定的內(nèi)存單元執(zhí)行指令時(shí),要配合執(zhí)行部件從指定的內(nèi)存單元 或者外設(shè)端口中或者外設(shè)端口中取數(shù)據(jù)取數(shù)據(jù),將,將數(shù)據(jù)傳送給執(zhí)行部件數(shù)據(jù)傳送給執(zhí)行部件; 或把執(zhí)行部件的操作或把執(zhí)行部件的操作結(jié)果傳送給指定的結(jié)果傳送給指定的M或或I/O口口。(2)組成組成q 4 個(gè)段地址寄存器(個(gè)段地址寄存器(CS、DS、ES、SS),),q 16位指令指針寄存器位指令指針寄存器IP,q 20位的地址加法器位的地址加法器(16d 段地址段地址+偏移地址物理地址偏移地址物理地址),q 6字節(jié)(字節(jié)(8086)或)或4字節(jié)(字節(jié)(8088)的指令隊(duì)列)的指令隊(duì)列,q 總線控制電路總線控制電路: 處理器與外界總

9、線聯(lián)系的轉(zhuǎn)接電路。處理器與外界總線聯(lián)系的轉(zhuǎn)接電路。包括三組總線:包括三組總線:20 位地址總線,位地址總線, 16/8 位雙向數(shù)據(jù)總線,一組控制總線。位雙向數(shù)據(jù)總線,一組控制總線。(3 )二點(diǎn)說明二點(diǎn)說明 指令隊(duì)列指令隊(duì)列8086 的指令隊(duì)列為的指令隊(duì)列為6個(gè)字節(jié)個(gè)字節(jié),8088 的指令隊(duì)列為的指令隊(duì)列為4個(gè)字節(jié)。個(gè)字節(jié)。不論是不論是8086還是還是8088都會(huì)在執(zhí)行指令的同時(shí)從內(nèi)存中取下一條或都會(huì)在執(zhí)行指令的同時(shí)從內(nèi)存中取下一條或幾條指令,取來的指令放在指令隊(duì)列中,使幾條指令,取來的指令放在指令隊(duì)列中,使 BIU 具有預(yù)取指令的具有預(yù)取指令的功能,功能,是一種先進(jìn)先出(是一種先進(jìn)先出(FIF

10、O)的數(shù)據(jù)結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。 指令執(zhí)行順序指令執(zhí)行順序順序指令執(zhí)行順序指令執(zhí)行:指令隊(duì)列存放緊接在執(zhí)行指令后面的那一條指令。:指令隊(duì)列存放緊接在執(zhí)行指令后面的那一條指令。執(zhí)行轉(zhuǎn)移指令執(zhí)行轉(zhuǎn)移指令:BIU 清除指令隊(duì)列中的內(nèi)容,從新的地址取入指清除指令隊(duì)列中的內(nèi)容,從新的地址取入指 令,立即送往執(zhí)行單元,然后再從新單元開始重令,立即送往執(zhí)行單元,然后再從新單元開始重 新填滿隊(duì)列。新填滿隊(duì)列。2、EU (Execution Unit)執(zhí)行單元)執(zhí)行單元(1)、)、 功能功能:負(fù)責(zé)指令執(zhí)行。負(fù)責(zé)指令執(zhí)行。(2)、)、 組成:組成:q 4個(gè)通用寄存器:個(gè)通用寄存器:AX、BX、CX、DXq 4個(gè)專用寄

11、存器:個(gè)專用寄存器:BP、SP、SI、DI,q 標(biāo)志寄存器(標(biāo)志寄存器(PSW):): 9個(gè)標(biāo)志位,其中個(gè)標(biāo)志位,其中6個(gè)條件標(biāo)志位用于存放結(jié)果狀態(tài),個(gè)條件標(biāo)志位用于存放結(jié)果狀態(tài),q 算術(shù)邏輯單元:算術(shù)邏輯單元: 16 位加法器,用于對(duì)寄存器和指令操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算,位加法器,用于對(duì)寄存器和指令操作數(shù)進(jìn)行算術(shù)或邏輯運(yùn)算,q EU 控制系統(tǒng):控制系統(tǒng): 接受接受從總線接口單元的從總線接口單元的指令隊(duì)列中取來的指令代碼指令隊(duì)列中取來的指令代碼, 對(duì)其譯碼和向?qū)ζ渥g碼和向 EU 內(nèi)各有關(guān)部分內(nèi)各有關(guān)部分發(fā)出時(shí)序命令信號(hào)發(fā)出時(shí)序命令信號(hào), 協(xié)調(diào)執(zhí)行指令規(guī)定的操作協(xié)調(diào)執(zhí)行指令規(guī)定的操作。由此可見,

12、由此可見,8086/8088取指部分與執(zhí)行部分是分開的。取指部分與執(zhí)行部分是分開的。 在一條指令的執(zhí)行過程中可以取出下一條(或多條)指令,指令在一條指令的執(zhí)行過程中可以取出下一條(或多條)指令,指令 在指令隊(duì)列中排隊(duì);在指令隊(duì)列中排隊(duì); 在一條指令執(zhí)行完成后在一條指令執(zhí)行完成后,就可以立即執(zhí)行下一條指令,減少就可以立即執(zhí)行下一條指令,減少CPU為為取指令而等待的時(shí)間,提高取指令而等待的時(shí)間,提高CPU的利用率和整個(gè)運(yùn)行速度。的利用率和整個(gè)運(yùn)行速度。8086/8088微處理器微處理器:BIU和和EU分開,取指和執(zhí)行可以重迭,分開,取指和執(zhí)行可以重迭,大大減少了等待取指所需的時(shí)間,提高大大減少了等

13、待取指所需的時(shí)間,提高CPU的利用率。的利用率。重迭操作技術(shù):重迭操作技術(shù):一方面提高了整個(gè)執(zhí)行速率,一方面提高了整個(gè)執(zhí)行速率, 另一方面降低了與之相配的存儲(chǔ)器的存取速度的要求另一方面降低了與之相配的存儲(chǔ)器的存取速度的要求。取指取指取指取指取指取指取指取指得到數(shù)據(jù)得到數(shù)據(jù)等待等待執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行 (二二 ) 、8088的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu) (P22) PSW(程序狀態(tài)字)結(jié)構(gòu)(程序狀態(tài)字)結(jié)構(gòu)AHAHALALBHBHBLBLCHCHCLCLDHDHDLDLSPSPBPBPSISIDIDIIPIPPSWPSWCSCSDSDSSSSSESESAXAXBXBXCXCXDXDX累加

14、器累加器基址基址計(jì)數(shù)計(jì)數(shù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)寄存器數(shù)據(jù)寄存器0 015150 07 78 815150 015150 01515附加數(shù)據(jù)段附加數(shù)據(jù)段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段代碼段代碼段段寄存器段寄存器指令指針指令指針狀態(tài)標(biāo)志狀態(tài)標(biāo)志控制寄存器控制寄存器堆棧指針堆棧指針基址指針基址指針 源變址源變址目的變址目的變址指針寄存器指針寄存器變址寄存器變址寄存器通通用用寄寄存存器器OFOF DFDF IFIF TFTF SFSF ZFZFAFAFPFPFCFCF0 015152 24 45 56 67 78 89 910101、通用寄存器、通用寄存器通用寄存器包括:通用寄存器包括: 數(shù)據(jù)寄存器、地址指針寄存器、

15、變址寄存器數(shù)據(jù)寄存器、地址指針寄存器、變址寄存器。 數(shù)據(jù)寄存器包括數(shù)據(jù)寄存器包括: AX 、BX 、CX 、DX 。 地址指針寄存器包括地址指針寄存器包括: SP 、 BP 。 變址寄存器包括變址寄存器包括: SI 、 DI 。2、段寄存器、段寄存器 段寄存器包括段寄存器包括: CS 、 SS 、 DS 、 ES 。3、控制寄存器、控制寄存器 控制寄存器包括:控制寄存器包括:IP 、PSW。1、通用寄存器、通用寄存器(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器AX、BX、CX、DX 作為通用寄存器。作為通用寄存器。 用來用來暫存暫存計(jì)算過程中所用到的計(jì)算過程中所用到的操作數(shù),結(jié)果或其它信息操作數(shù),結(jié)果或其它信

16、息。 訪問形式訪問形式: 可以用可以用16位的訪問位的訪問;或者可以用字節(jié)(或者可以用字節(jié)(8位)形式訪問位)形式訪問,它們的它們的高高8位記作位記作 : AH 、 BH 、 CH 、 DH 。它們的它們的低低8位記作位記作 : AL 、BL 、CL 、DL 。AX(Accumulator)作為)作為累加器累加器。 它它是算術(shù)運(yùn)算的主要寄存器,是算術(shù)運(yùn)算的主要寄存器,所有所有I/O指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)。例:例: IN AL , 20HOUT 30H , AXBXBase用作用作基址寄存器基址寄存器使用。使用。 在在計(jì)算內(nèi)存儲(chǔ)器地址時(shí),經(jīng)常

17、用來存放基址。計(jì)算內(nèi)存儲(chǔ)器地址時(shí),經(jīng)常用來存放基址。例:例:MOV AX, BX+03HCXCount可以可以作計(jì)數(shù)寄存器作計(jì)數(shù)寄存器使用。使用。 在在循環(huán)循環(huán)LOOP指令和串處理指令中用作隱含計(jì)數(shù)器指令和串處理指令中用作隱含計(jì)數(shù)器。例:例:MOV CX , 200HAGAIN:LOOP AGAIN ;(CX)-1(CX),結(jié)果結(jié)果 0轉(zhuǎn)轉(zhuǎn)AGAINDXData可以可以作為數(shù)據(jù)寄存器使用。作為數(shù)據(jù)寄存器使用。一般在一般在雙字長(zhǎng)乘除法運(yùn)算時(shí)雙字長(zhǎng)乘除法運(yùn)算時(shí), 把把DX和和AX組合在一起存放一個(gè)雙字長(zhǎng)組合在一起存放一個(gè)雙字長(zhǎng)(32位位)數(shù),數(shù),DX用來存放高用來存放高16位位; 對(duì)某些對(duì)某些I/

18、O操作操作DX可用來存放可用來存放I/O的端口地址(的端口地址(口地址口地址 256)。)。例:例:MUL BX ; (AX) (BX)(DX)(AX)例例:IN AL , DX(2)地址指針與變址寄存器)地址指針與變址寄存器: 段起始地址段起始地址 SP、BP、SI、DI 四個(gè)四個(gè)16位寄存器。位寄存器。以字為單位在運(yùn)算過程中存放操作數(shù),以字為單位在運(yùn)算過程中存放操作數(shù),經(jīng)常用以在經(jīng)常用以在段內(nèi)尋址時(shí)提供偏移地址。段內(nèi)尋址時(shí)提供偏移地址。 段內(nèi)偏移地址段內(nèi)偏移地址段地址段地址 :只取段起始地址高只取段起始地址高16位值。位值。偏移地址偏移地址:指在段內(nèi)某內(nèi)存單元物理地址相對(duì)段起始地址的偏移值

19、。指在段內(nèi)某內(nèi)存單元物理地址相對(duì)段起始地址的偏移值。 高高16位值位值 0000B地址指針寄存器地址指針寄存器(SP 、 BP ) SP(stack pointer)堆棧指針寄存器堆棧指針寄存器 用來用來指示棧頂?shù)钠频刂分甘緱m數(shù)钠频刂? 必須必須與與SS段寄存器段寄存器聯(lián)合使用確定實(shí)際地址。聯(lián)合使用確定實(shí)際地址。 堆棧和指針如下堆棧和指針如下頁頁圖所示。圖所示。 BP(base pointer)基址指針寄存器基址指針寄存器 可以可以與與SS寄存器聯(lián)合使用來確定寄存器聯(lián)合使用來確定堆棧段堆棧段中中某一某一存儲(chǔ)器單元地址存儲(chǔ)器單元地址。 變址寄存器變址寄存器(SI 、 DI)SISource

20、 Index Register 源變址寄存器。源變址寄存器。DIDestination Index 目的變址寄存器目的變址寄存器。使用場(chǎng)合:常用于變址尋址。使用場(chǎng)合:常用于變址尋址。 一般與一般與DS聯(lián)用,用來確定聯(lián)用,用來確定數(shù)據(jù)段數(shù)據(jù)段中某一存儲(chǔ)單元的地址,中某一存儲(chǔ)單元的地址, SI , DI具有自動(dòng)增量和自動(dòng)減量功能具有自動(dòng)增量和自動(dòng)減量功能.例:例:MOV AX, SI2、段寄存器、段寄存器段寄存器段寄存器: 4個(gè)個(gè)16位段寄存器位段寄存器CS、DS、SS、ES。用來用來識(shí)別當(dāng)前可尋址的四個(gè)段,不可互換的使用。識(shí)別當(dāng)前可尋址的四個(gè)段,不可互換的使用。CSCode Segment Re

21、gister 代碼段寄存器代碼段寄存器 用來識(shí)別當(dāng)前代碼段(程序一般放在代碼段)。用來識(shí)別當(dāng)前代碼段(程序一般放在代碼段)。DSData Segment Register數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器 用來識(shí)別當(dāng)前數(shù)據(jù)段寄存器。用來識(shí)別當(dāng)前數(shù)據(jù)段寄存器。SSStack Segment Register堆棧段寄存器,堆棧段寄存器, 用來識(shí)別當(dāng)前堆棧段。用來識(shí)別當(dāng)前堆棧段。ESExtra Segment Register附加段寄存器附加段寄存器, 用來識(shí)別當(dāng)前附加段。用來識(shí)別當(dāng)前附加段。3、控制寄存器、控制寄存器控制寄存器控制寄存器:IP 、 PSWIPInstruction Pointer指令指針寄存

22、器指令指針寄存器 用來存儲(chǔ)代碼段中的偏移地址用來存儲(chǔ)代碼段中的偏移地址; 程序運(yùn)行過程中程序運(yùn)行過程中IP始終指向下一次要取出的指令偏移地址始終指向下一次要取出的指令偏移地址。 IP要與要與CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。PSW(Processor States Word Program)程序狀態(tài)字寄存器,程序狀態(tài)字寄存器, 16位寄存器位寄存器。 由條件碼標(biāo)志由條件碼標(biāo)志FLAG、控制標(biāo)志構(gòu)成。、控制標(biāo)志構(gòu)成。只用了其中只用了其中9位位, 6位條件碼標(biāo)志位條件碼標(biāo)志 , 3位控制標(biāo)志位控制標(biāo)志。如下表示。如下表示。OFOF DFDF IFIF TF

23、TF SFSF ZFZFAFAFPFPFCFCF0 015152 24 45 56 67 78 89 91010q條件碼標(biāo)志條件碼標(biāo)志:用來記錄程序中運(yùn)行結(jié)果的用來記錄程序中運(yùn)行結(jié)果的狀態(tài)信息狀態(tài)信息作為作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。稱為條件碼。稱為條件碼。條件碼包括條件碼包括6位:位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。OF(Overflow Flag)溢出標(biāo)志(一般指補(bǔ)碼溢出)溢出標(biāo)志(一般指補(bǔ)碼溢出)OF=1:在運(yùn)算過程中,如操作數(shù)超過了機(jī)器表示的范圍稱為:在運(yùn)算過程中,如操作數(shù)超過了機(jī)器表示的范圍稱為溢出溢出。OF=0:在運(yùn)算

24、過程中,如操作數(shù)未超過了機(jī)器能表示的范圍稱為在運(yùn)算過程中,如操作數(shù)未超過了機(jī)器能表示的范圍稱為 不溢出。不溢出。字節(jié)允許范圍字節(jié)允許范圍 -128+127,字運(yùn)算范圍,字運(yùn)算范圍 -32768+32767 。SF(Sign Flag)符號(hào)標(biāo)志符號(hào)標(biāo)志 SF=1:記錄運(yùn)算結(jié)果的:記錄運(yùn)算結(jié)果的符號(hào)為負(fù)符號(hào)為負(fù)。SF=0:記錄運(yùn)算結(jié)果的:記錄運(yùn)算結(jié)果的符號(hào)為正。符號(hào)為正。ZF(Zero Flag)零標(biāo)志零標(biāo)志 ZF=1:運(yùn)算結(jié)果:運(yùn)算結(jié)果為為0。 ZF=0:運(yùn)算結(jié)果運(yùn)算結(jié)果不為不為0。CF(Carry Flag)進(jìn)位標(biāo)志進(jìn)位標(biāo)志 CF=1:記錄運(yùn)算時(shí)記錄運(yùn)算時(shí)從最高有效位產(chǎn)生進(jìn)位值。從最高有效位產(chǎn)

25、生進(jìn)位值。CF=0:記錄運(yùn)算時(shí):記錄運(yùn)算時(shí)從最高有效位不產(chǎn)生進(jìn)值從最高有效位不產(chǎn)生進(jìn)值。 AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AF=1:記錄運(yùn)算時(shí)記錄運(yùn)算時(shí)第第3位(半個(gè)字節(jié))產(chǎn)生進(jìn)位值。位(半個(gè)字節(jié))產(chǎn)生進(jìn)位值。AF=0:記錄運(yùn)算時(shí)記錄運(yùn)算時(shí)第第3位(半個(gè)字節(jié))不產(chǎn)生進(jìn)位值。位(半個(gè)字節(jié))不產(chǎn)生進(jìn)位值。 PF(Parity Flag)奇偶標(biāo)志奇偶標(biāo)志 PF=1: 結(jié)果操作數(shù)結(jié)果操作數(shù)低低8位中有偶數(shù)個(gè)位中有偶數(shù)個(gè)1。PF=0: 結(jié)果操作數(shù)結(jié)果操作數(shù)低低8位中有奇數(shù)個(gè)位中有奇數(shù)個(gè)1。用來為機(jī)器中傳送信息時(shí)可能產(chǎn)生的代碼出現(xiàn)情況提供檢驗(yàn)條用來為機(jī)器中傳送信息時(shí)

26、可能產(chǎn)生的代碼出現(xiàn)情況提供檢驗(yàn)條件。件。q 控制標(biāo)志控制標(biāo)志:對(duì)控制標(biāo)志位進(jìn)行設(shè)置后對(duì)控制標(biāo)志位進(jìn)行設(shè)置后,對(duì)其后的操作起控對(duì)其后的操作起控制作用。制作用。控制標(biāo)志位包括控制標(biāo)志位包括3位位: TF、 IF 、 DF 。 跟蹤(陷阱)標(biāo)志跟蹤(陷阱)標(biāo)志TF、中斷標(biāo)志、中斷標(biāo)志IF 、方向標(biāo)志方向標(biāo)志 DF 。 TF(Trap Flag)跟蹤跟蹤(陷阱陷阱)標(biāo)志位標(biāo)志位 TF=1 ,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,使使CPU處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。戶能檢查程序。 T

27、F=0, CPU正常工作,不產(chǎn)生陷阱正常工作,不產(chǎn)生陷阱。 IF(Interupt Flag)中斷標(biāo)志中斷標(biāo)志 位位 IF=1, 允許外部可屏蔽中斷允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請(qǐng)求??梢皂憫?yīng)可屏蔽中斷請(qǐng)求。 IF=0, 關(guān)閉中斷關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求。禁止響應(yīng)可屏蔽中斷請(qǐng)求。 IF的狀態(tài)對(duì)不可屏蔽中斷和內(nèi)部軟中斷沒有影響。的狀態(tài)對(duì)不可屏蔽中斷和內(nèi)部軟中斷沒有影響。DF(Direction Flag)方向標(biāo)志位方向標(biāo)志位 DF=1,每次每次串處理操作串處理操作后使變址寄存器后使變址寄存器SI和和DI減量減量,使串處理從,使串處理從高地址向低地址方向處理。高地址向低

28、地址方向處理。 DF=0,每次每次串處理操作串處理操作后使變址寄存器后使變址寄存器SI和和DI增量增量, 使串處理從使串處理從低地址向高地址方向處理。低地址向高地址方向處理。 DF方向標(biāo)志位是在串處理指令中控制處理信息的方向標(biāo)志位是在串處理指令中控制處理信息的方向方向用的。用的??刂菩畔⒖刂菩畔?由系統(tǒng)程序或用戶程序由系統(tǒng)程序或用戶程序根據(jù)需要用指令來設(shè)置的。根據(jù)需要用指令來設(shè)置的。 狀態(tài)信息狀態(tài)信息:由中央處理器由中央處理器,根據(jù)計(jì)算結(jié)果自動(dòng)設(shè)置的,根據(jù)計(jì)算結(jié)果自動(dòng)設(shè)置的,機(jī)器提供了設(shè)置狀態(tài)信息指令機(jī)器提供了設(shè)置狀態(tài)信息指令,必要時(shí)必要時(shí),程序員可以用這些指令來建立狀態(tài)信息程序員可以用這些指

29、令來建立狀態(tài)信息。在調(diào)試程序時(shí),在調(diào)試程序時(shí),DEBUG提供了測(cè)試標(biāo)志位的手段提供了測(cè)試標(biāo)志位的手段,用符號(hào)表示標(biāo)志位的值,用符號(hào)表示標(biāo)志位的值,每種標(biāo)志位的符號(hào)如下表:每種標(biāo)志位的符號(hào)如下表:標(biāo)志名標(biāo)志名標(biāo)志為1標(biāo)志為1 標(biāo)志為0標(biāo)志為0OF溢出(是/否)OF溢出(是/否)OVOVNVNVDF方向(減量/加量)DF方向(減量/加量)DNDNUPUPIF中斷(允許/關(guān)閉)IF中斷(允許/關(guān)閉)EIEIDIDISF符號(hào)(負(fù)/正)SF符號(hào)(負(fù)/正)NGNGPLPLZF零(是/否)ZF零(是/否)ZRZRNZNZAF輔助進(jìn)位(是/否)AF輔助進(jìn)位(是/否)ACACNANAPF奇偶標(biāo)志( 偶/奇)PF

30、奇偶標(biāo)志( 偶/奇)PEPEPOPOCF進(jìn)位標(biāo)志(是/否)CF進(jìn)位標(biāo)志(是/否)CYCYNCNCDEBUG不提供不提供TF的符號(hào)用于單步方式操作。的符號(hào)用于單步方式操作。1 10 00 00 01 11 10 01 10 00 00 01 10 01 10 00 00 00 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1+ +0 01 11 11 11 10 01 10 01 10 01 10 01 10 01 10 0標(biāo)志標(biāo)志: 運(yùn)算結(jié)果最高位為運(yùn)算結(jié)果最高位為0SF=0; 運(yùn)算結(jié)果本身運(yùn)算結(jié)果本身0 ZF=0低低8位中位中1的個(gè)數(shù)為奇數(shù)個(gè)的個(gè)數(shù)為奇數(shù)

31、個(gè) PF=0; 最高位沒有進(jìn)位最高位沒有進(jìn)位 CF=0第三位向第四位無進(jìn)位第三位向第四位無進(jìn)位 AF=0;次高位向最高位沒有進(jìn)位次高位向最高位沒有進(jìn)位 ,最高位向前沒有進(jìn)位,最高位向前沒有進(jìn)位 , OF=0。例例1:執(zhí)行:執(zhí)行1345+3219兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響。兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響。標(biāo)志標(biāo)志:運(yùn)算結(jié)果最高位為運(yùn)算結(jié)果最高位為1, SF=1 ;運(yùn)算結(jié)果本身不為運(yùn)算結(jié)果本身不為0, ZF=0 ;最高位向前無進(jìn)位,最高位向前無進(jìn)位, CF=0 次高位向最高位產(chǎn)生進(jìn)位次高位向最高位產(chǎn)生進(jìn)位,而最高位向前沒有進(jìn)位,而最高位向前沒有進(jìn)位, OF=1 ;結(jié)果低結(jié)果低8位含偶數(shù)個(gè)位

32、含偶數(shù)個(gè)1, PF=1 ;第三位向第四位有進(jìn)位第三位向第四位有進(jìn)位, AF=1 。在絕大多數(shù)情況下,一次運(yùn)算后并不影響所有標(biāo)志,在絕大多數(shù)情況下,一次運(yùn)算后并不影響所有標(biāo)志,程序也并不需要對(duì)所有的標(biāo)志作全面的關(guān)注。程序也并不需要對(duì)所有的標(biāo)志作全面的關(guān)注。一般只是在一般只是在某些操作某些操作后后,對(duì)其中對(duì)其中某個(gè)標(biāo)志某個(gè)標(biāo)志進(jìn)行檢測(cè)。進(jìn)行檢測(cè)。例例2:執(zhí)行:執(zhí)行5439+456A兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響。兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志位的影響。0 01 10 01 10 00 00 00 01 11 11 10 00 01 11 10 00 01 10 00 00 01 10 01 10 01 11 10 01 10 01 10 0+ +1 11 10 00 00 01 10 01 11 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論