第02章21寄存器的結(jié)構(gòu)_第1頁(yè)
第02章21寄存器的結(jié)構(gòu)_第2頁(yè)
第02章21寄存器的結(jié)構(gòu)_第3頁(yè)
第02章21寄存器的結(jié)構(gòu)_第4頁(yè)
第02章21寄存器的結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2.1 8086/80888086/8088的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)第第2 2章章 80X8680X86微處理器及其體系結(jié)構(gòu)微處理器及其體系結(jié)構(gòu)2.2 8086/80888086/8088的總線周期的總線周期2.3 8086/80888086/8088的管腳特性的管腳特性2.5 80X8680X86高檔微處理器高檔微處理器2.4 8086/80888086/8088的兩種組態(tài)模式的兩種組態(tài)模式 微型計(jì)算機(jī)是由具有不同功能的一些部件組成的,微型計(jì)算機(jī)是由具有不同功能的一些部件組成的,包含運(yùn)算器和控制器電路的大規(guī)模集成電路,稱為包含運(yùn)算器和控制器電路的大規(guī)模集成電路,稱為“微微處理器處理器”,又稱,又

2、稱“中央處理器(中央處理器(CPU)”,其職能是執(zhí),其職能是執(zhí)行算術(shù)行算術(shù)/邏輯運(yùn)算,并負(fù)責(zé)控制整個(gè)計(jì)算機(jī)系統(tǒng),使之能邏輯運(yùn)算,并負(fù)責(zé)控制整個(gè)計(jì)算機(jī)系統(tǒng),使之能自動(dòng)協(xié)調(diào)地完成各種操作。自動(dòng)協(xié)調(diào)地完成各種操作。 16位微處理器位微處理器8086/8088的性能遠(yuǎn)遠(yuǎn)優(yōu)于的性能遠(yuǎn)遠(yuǎn)優(yōu)于8位機(jī),不位機(jī),不僅在運(yùn)行速度、運(yùn)算能力和尋址范圍等縱向能力有很大僅在運(yùn)行速度、運(yùn)算能力和尋址范圍等縱向能力有很大提高,還由于具有協(xié)處理器接口,橫向能力也大為提高。提高,還由于具有協(xié)處理器接口,橫向能力也大為提高。特別是特別是80286、80386、80486等更高性能的微處理器都等更高性能的微處理器都保持了對(duì)它的兼容

3、。保持了對(duì)它的兼容。 8086/8088既有廣泛的應(yīng)用,也有既有廣泛的應(yīng)用,也有很好的承上啟下很好的承上啟下 作用。作用。 所以我們以所以我們以8086/8088為例作重點(diǎn)介紹。為例作重點(diǎn)介紹。2.1 8086/80882.1 8086/8088的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8086: Intel系列的系列的16位微處理器;位微處理器; 采用高速運(yùn)算性能的采用高速運(yùn)算性能的HMOS工藝制造,芯片上集成工藝制造,芯片上集成了了2.9萬(wàn)只晶體管;萬(wàn)只晶體管; 使用單一的使用單一的+5V電源,電源,40條引腳雙列直插式封裝;條引腳雙列直插式封裝; 時(shí)鐘頻率為時(shí)鐘頻率為5MHz10MHz; 16根數(shù)據(jù)線和根數(shù)據(jù)

4、線和20根地址線,可尋址的地址空間達(dá)根地址線,可尋址的地址空間達(dá)1MB; 8086可以和浮點(diǎn)運(yùn)算器、可以和浮點(diǎn)運(yùn)算器、I/O處理器或其他處理器處理器或其他處理器組成多處理器系統(tǒng),從而極大地提高了系統(tǒng)的數(shù)據(jù)組成多處理器系統(tǒng),從而極大地提高了系統(tǒng)的數(shù)據(jù)吞吐能力和數(shù)據(jù)處理能力。吞吐能力和數(shù)據(jù)處理能力。 8088:內(nèi)部與:內(nèi)部與8086兼容,也是一個(gè)兼容,也是一個(gè)16位微處理器,只位微處理器,只是外部數(shù)據(jù)總線為是外部數(shù)據(jù)總線為8位,所以稱為準(zhǔn)位,所以稱為準(zhǔn)16位微處理器。位微處理器。它具有包括乘法和除法的它具有包括乘法和除法的1616位運(yùn)算指令,所以能處位運(yùn)算指令,所以能處理理1616位數(shù)據(jù),還能處理

5、位數(shù)據(jù),還能處理8 8位數(shù)據(jù)。位數(shù)據(jù)。80888088有有2020根地址根地址線,所以可尋址的地址空間達(dá)線,所以可尋址的地址空間達(dá)2 22020即即1M1M字節(jié)。字節(jié)。AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器暫存寄存器暫存寄存器ALU執(zhí)行部分執(zhí)行部分控制電路控制電路1 2 3 4 5 6 CS DS SS ES IP內(nèi)部寄存內(nèi)部寄存器器I/O控制控制電路電路地址加地址加法器法器20位位16位位8位位指令隊(duì)列緩沖器指令隊(duì)列緩沖器外外部部總總線線執(zhí)行部件執(zhí)行部件EU總線接口部件總線接口部件BIU8086CPU結(jié)構(gòu)圖結(jié)構(gòu)圖16位位ALU數(shù)數(shù)據(jù)總線據(jù)總線AX

6、BXCXDX標(biāo)志寄存器標(biāo)志寄存器 1 2 3 4AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器暫存寄存器暫存寄存器ALU標(biāo)志寄存器標(biāo)志寄存器執(zhí)行部分執(zhí)行部分控制電路控制電路 CS DS SS ES IP內(nèi)部寄存內(nèi)部寄存器器I/O控制控制電路電路地址加地址加法器法器20位位8位位8位位指令隊(duì)列緩沖器指令隊(duì)列緩沖器外外部部總總線線執(zhí)行部件執(zhí)行部件EU總線接口部件總線接口部件BIU8088CPU結(jié)構(gòu)圖結(jié)構(gòu)圖16位位ALU數(shù)數(shù)據(jù)總線據(jù)總線AXBXCXDX8086/8088 的內(nèi)部結(jié)構(gòu)從功能上分成兩個(gè)單元的內(nèi)部結(jié)構(gòu)從功能上分成兩個(gè)單元1)執(zhí)行部件)執(zhí)行部件EU 負(fù)責(zé)

7、指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算2)總線接口部件)總線接口部件BIU 管理管理8086/8088與系統(tǒng)總線的接口與系統(tǒng)總線的接口 負(fù)責(zé)負(fù)責(zé)CPU對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)2.1.1 執(zhí)行部件執(zhí)行部件EU功能:功能:EU不與外部系統(tǒng)總線相連,只負(fù)責(zé)指令的譯碼和執(zhí)行。不與外部系統(tǒng)總線相連,只負(fù)責(zé)指令的譯碼和執(zhí)行。(1)從指令隊(duì)列中取出指令。)從指令隊(duì)列中取出指令。(2)對(duì)指令進(jìn)行譯碼,執(zhí)行指令所規(guī)定的全部功能。)對(duì)指令進(jìn)行譯碼,執(zhí)行指令所規(guī)定的全部功能。(3)執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由)執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向向

8、BIU發(fā)出命令,讓發(fā)出命令,讓BIU對(duì)存儲(chǔ)器或?qū)Υ鎯?chǔ)器或I/O接口進(jìn)行讀接口進(jìn)行讀/寫操作。寫操作。執(zhí)行部件的組成:執(zhí)行部件的組成:EU由算術(shù)由算術(shù)/邏輯運(yùn)算器邏輯運(yùn)算器ALU,寄存器,寄存器陣列,陣列,EU控制器組成??刂破鹘M成。(1)算術(shù)邏輯單元)算術(shù)邏輯單元ALU 完成完成8位或者位或者16位二進(jìn)制算術(shù)和邏輯運(yùn)算,計(jì)算偏移量。位二進(jìn)制算術(shù)和邏輯運(yùn)算,計(jì)算偏移量。(2)寄存器陣列)寄存器陣列(3)執(zhí)行部件的控制電路)執(zhí)行部件的控制電路從總線接口的指令隊(duì)列取出指令操作碼,通過(guò)譯碼電從總線接口的指令隊(duì)列取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制路分析,發(fā)出相應(yīng)的控制命令,控制A

9、LU數(shù)據(jù)流向。數(shù)據(jù)流向。2.1.2 總線接口部件總線接口部件BIU功能:與外部總線相連,負(fù)責(zé)與存儲(chǔ)器或者功能:與外部總線相連,負(fù)責(zé)與存儲(chǔ)器或者I/O端口端口傳送信息。根據(jù)執(zhí)行部件傳送信息。根據(jù)執(zhí)行部件EU的請(qǐng)求,管理預(yù)取指令的請(qǐng)求,管理預(yù)取指令和存數(shù)、取數(shù)的實(shí)際過(guò)程。和存數(shù)、取數(shù)的實(shí)際過(guò)程。組成:組成:(1)指令隊(duì)列()指令隊(duì)列(8086六字節(jié),六字節(jié),8088四字節(jié))四字節(jié))在執(zhí)行指令的同時(shí),將取下一條指令,并放入指令隊(duì)在執(zhí)行指令的同時(shí),將取下一條指令,并放入指令隊(duì)列中。列中。CPU執(zhí)行完一條指令后,可以接著執(zhí)行下一條執(zhí)行完一條指令后,可以接著執(zhí)行下一條指令(流水線技術(shù))。提高指令(流水線技

10、術(shù))。提高CPU效率。效率。(2)地址加法器)地址加法器(3)寄存器陣列)寄存器陣列(4)總線控制邏輯()總線控制邏輯(I/O控制電路)控制電路)等待取指等待取指1 執(zhí)行執(zhí)行1等待取指等待取指2 執(zhí)行執(zhí)行2等待取指等待取指3 執(zhí)行執(zhí)行3MPU總總線線忙忙閑閑忙忙閑閑忙忙閑閑傳統(tǒng)微處理器的指令執(zhí)行過(guò)程傳統(tǒng)微處理器的指令執(zhí)行過(guò)程 取指取指1取指取指2取指取指3取指取指4取指取指5取指取指6EU總線總線執(zhí)行執(zhí)行1執(zhí)行執(zhí)行2執(zhí)行執(zhí)行3執(zhí)行執(zhí)行4執(zhí)行執(zhí)行5執(zhí)行執(zhí)行6忙忙忙忙忙忙忙忙忙忙忙忙BIU8086CPU的指令執(zhí)行過(guò)程的指令執(zhí)行過(guò)程 2.1.3 8088/8086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)寄存器是微處

11、理器(寄存器是微處理器(CPUCPU)內(nèi)部暫存數(shù)據(jù)的存儲(chǔ)單)內(nèi)部暫存數(shù)據(jù)的存儲(chǔ)單元。元。8088/8086的寄存器組有的寄存器組有8個(gè)通用寄存器個(gè)通用寄存器4個(gè)段寄存器個(gè)段寄存器1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器1個(gè)指令指針寄存器個(gè)指令指針寄存器它們均為它們均為1616位位! !圖示圖示 匯編語(yǔ)言程序員看到的處理器,就是寄存器匯編語(yǔ)言程序員看到的處理器,就是寄存器 所以,一定要熟悉這些寄存器的名稱和作用所以,一定要熟悉這些寄存器的名稱和作用 這這個(gè)個(gè)16位寄存器,按其用途可分為位寄存器,按其用途可分為3類:通用寄存器、類:通用寄存器、段寄存器、控制寄存器。段寄存器、控制寄存器。 累加器累加器AHALB

12、HBLCLDHDLCHSPSIDIIPFLAGSCSDSSSESBP基址寄存器基址寄存器計(jì)數(shù)寄存器計(jì)數(shù)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器堆棧指針寄存器堆棧指針寄存器基址指針寄存器基址指針寄存器源變址寄存器源變址寄存器目的變址寄存器目的變址寄存器指令指針寄存器指令指針寄存器標(biāo)志寄存器標(biāo)志寄存器代碼段寄存器代碼段寄存器段寄存器段寄存器附加段寄存器附加段寄存器堆棧段寄存器堆棧段寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器地址指針和地址指針和變址寄存器變址寄存器控制寄存器控制寄存器通用寄存器通用寄存器數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器8086CPU內(nèi)部寄存器結(jié)構(gòu)內(nèi)部寄存器結(jié)構(gòu) 2.1.3.1 通用寄存器通用寄存器8088有有8個(gè)通用的個(gè)

13、通用的16位寄存器位寄存器(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器: AX BX CX DX(2)變址寄存器)變址寄存器: SI DI(3)指針寄存器)指針寄存器: BP SP4個(gè)數(shù)據(jù)寄存器還可以分成高個(gè)數(shù)據(jù)寄存器還可以分成高8位和低位和低8位兩位兩個(gè)獨(dú)立的寄存器,這樣又形成個(gè)獨(dú)立的寄存器,這樣又形成8個(gè)通用的個(gè)通用的8位寄存器位寄存器AX: AH ALBX: BH BLCX: CH CLDX: DH DL(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器AX稱為稱為累加器累加器(Accumulator)使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等息等BX稱為稱為基址寄存

14、器基址寄存器(Base address Register)常用做存放存儲(chǔ)器地址常用做存放存儲(chǔ)器地址CX稱為稱為計(jì)數(shù)器計(jì)數(shù)器(Counter)作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器DX稱為稱為數(shù)據(jù)寄存器數(shù)據(jù)寄存器(Data register)常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高16位,或存放外設(shè)端口地址位,或存放外設(shè)端口地址(2)變址寄存器)變址寄存器16位變址寄存器位變址寄存器SI和和DI常用于存儲(chǔ)器變址尋址方式時(shí)提供地址常用于存儲(chǔ)器變址尋址方式時(shí)提供地址SI是源地址寄存器(是源地址寄存器(Source Index)DI是目的地址寄存器(是目的地址

15、寄存器(Destination Index)在串操作類指令中,在串操作類指令中,SI、DI還有較特殊的還有較特殊的用法用法(3)指針寄存器)指針寄存器指針寄存器用于尋址內(nèi)存指針寄存器用于尋址內(nèi)存堆棧堆棧內(nèi)的數(shù)據(jù)內(nèi)的數(shù)據(jù)SPSP為堆棧指針寄存器(為堆棧指針寄存器(Stack Pointer), ,指示指示堆棧段棧頂?shù)奈恢茫ㄆ频刂罚┒褩6螚m數(shù)奈恢茫ㄆ频刂罚〣PBP為基址指針寄存器(為基址指針寄存器(Base Pointer),表示),表示數(shù)據(jù)在堆棧段中的基地址數(shù)據(jù)在堆棧段中的基地址SPSP和和BPBP寄存器與寄存器與SSSS段寄存器聯(lián)合使用以確段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址定堆

16、棧段中的存儲(chǔ)單元地址堆棧堆棧(Stack)(1)堆棧的概念)堆棧的概念 堆棧是堆棧是主存中一個(gè)特殊的區(qū)域,用主存中一個(gè)特殊的區(qū)域,用8088/8086形成的微機(jī)系統(tǒng)形成的微機(jī)系統(tǒng)中,堆棧區(qū)域被稱為堆棧段。中,堆棧區(qū)域被稱為堆棧段。這片存儲(chǔ)區(qū)的一端固定,另一這片存儲(chǔ)區(qū)的一端固定,另一端活動(dòng),且只允許數(shù)據(jù)從活動(dòng)端進(jìn)出。采用端活動(dòng),且只允許數(shù)據(jù)從活動(dòng)端進(jìn)出。采用“先進(jìn)后出先進(jìn)后出”的的規(guī)則規(guī)則 ,而不是隨機(jī)存取方式。而不是隨機(jī)存取方式。堆棧主要用于暫存數(shù)據(jù)和在過(guò)堆棧主要用于暫存數(shù)據(jù)和在過(guò)程調(diào)用或處理中斷時(shí)暫存斷點(diǎn)信息。程調(diào)用或處理中斷時(shí)暫存斷點(diǎn)信息。 2.1.3.2 指令指針寄存器指令指針寄存器IP

17、(Instruction Pointer)為指令指針寄存)為指令指針寄存器,指示主存儲(chǔ)器指令的位置器,指示主存儲(chǔ)器指令的位置隨著指令的執(zhí)行,隨著指令的執(zhí)行,IP將自動(dòng)修改以指示下將自動(dòng)修改以指示下一條指令所在的存儲(chǔ)器位置一條指令所在的存儲(chǔ)器位置IP寄存器是一個(gè)寄存器是一個(gè)專用專用寄存器寄存器IPIP寄存器與寄存器與CSCS段寄存器聯(lián)合使用以確定下段寄存器聯(lián)合使用以確定下一條指令的存儲(chǔ)單元地址一條指令的存儲(chǔ)單元地址2.1.3.3 標(biāo)志寄存器標(biāo)志寄存器標(biāo)志標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式或控制指令執(zhí)行形式8088處理器的各種標(biāo)志形成了一個(gè)處理器的各種標(biāo)志

18、形成了一個(gè)16位的標(biāo)志寄存器位的標(biāo)志寄存器FLAGS(程序狀態(tài)字(程序狀態(tài)字PSW寄存器寄存器) 程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)標(biāo)志寄存器的分類:標(biāo)志寄存器的分類:狀態(tài)標(biāo)志狀態(tài)標(biāo)志用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CF ZF SF PF OF AF控制標(biāo)志控制標(biāo)志可由程序根據(jù)需要用指令設(shè)置,可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式用于控制處理器執(zhí)行指令的方式DF IF TFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0(6)標(biāo)志寄存器)標(biāo)志

19、寄存器16位寄存器,其中有位寄存器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF進(jìn)進(jìn)借借位位標(biāo)標(biāo)志志奇奇偶偶標(biāo)標(biāo)志志半半進(jìn)進(jìn)借借位位標(biāo)標(biāo)志志零零標(biāo)標(biāo)志志符符號(hào)號(hào)標(biāo)標(biāo)志志單單步步中中斷斷中中斷斷允允許許方方向向標(biāo)標(biāo)志志溢溢出出標(biāo)標(biāo)志志1-有進(jìn)、借位有進(jìn)、借位0-無(wú)進(jìn)、借位無(wú)進(jìn)、借位1-低低8位有偶數(shù)個(gè)位有偶數(shù)個(gè)10-低低8位有奇數(shù)個(gè)位有奇數(shù)個(gè)11-低低4位向高位向高4位有進(jìn)、借位位有進(jìn)、借位0-低低4位向高位向高4位無(wú)進(jìn)、借位位無(wú)進(jìn)、借位1-結(jié)果為結(jié)果為00-結(jié)果不為結(jié)果不為0(1)進(jìn)位標(biāo)志)進(jìn)位標(biāo)志CF(Carry Flag)當(dāng)運(yùn)算結(jié)果的最高有效位有

20、進(jìn)位(加法)或借當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置位(減法)時(shí),進(jìn)位標(biāo)志置1,即,即CF1; 否則否則CF03AH + 7CHB6H,沒(méi)有進(jìn)位:,沒(méi)有進(jìn)位:CF = 0AAH + 7CH(1)26H,有進(jìn)位:,有進(jìn)位:CF = 1(2)零標(biāo)志)零標(biāo)志ZF(Zero Flag)若運(yùn)算結(jié)果為若運(yùn)算結(jié)果為0,則,則ZF1;否則否則ZF03AH7CHB6H,結(jié)果不是零:,結(jié)果不是零:ZF084H7CH(1)00H,結(jié)果是零:,結(jié)果是零:ZF1 注意:注意:ZF為為1表示的結(jié)果是表示的結(jié)果是0(3)符號(hào)標(biāo)志)符號(hào)標(biāo)志SF(Sign Flag)運(yùn)算結(jié)果最高位為運(yùn)算結(jié)果最高位為

21、1,則,則SF1; 否則否則SF03AH7CHB6H,最高位,最高位D71:SF184H7CH(1)00H,最高位,最高位D70:SF0 有符號(hào)數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號(hào)有符號(hào)數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號(hào)所以,最高有效位就是符號(hào)標(biāo)志的狀態(tài)所以,最高有效位就是符號(hào)標(biāo)志的狀態(tài)(4)奇偶標(biāo)志)奇偶標(biāo)志PF(Parity Flag)當(dāng)運(yùn)算結(jié)果最低字節(jié)中當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為的個(gè)數(shù)為零或偶數(shù)時(shí),零或偶數(shù)時(shí),PF1;否則;否則PF03AH7CHB6H10110110B結(jié)果中有結(jié)果中有5個(gè)個(gè)“1”,是奇數(shù):是奇數(shù):PF0 PF標(biāo)志僅反映最低標(biāo)志僅反映最低8位中位中“1”的個(gè)數(shù)是的個(gè)數(shù)是偶或

22、奇,即使是進(jìn)行偶或奇,即使是進(jìn)行16位字操作位字操作(5)溢出標(biāo)志)溢出標(biāo)志OF(Overflow Flag)若算術(shù)運(yùn)算的結(jié)果有溢出,則若算術(shù)運(yùn)算的結(jié)果有溢出,則OF1; 否則否則 OF03AH + 7CHB6H,產(chǎn)生溢出:,產(chǎn)生溢出:OF1AAH + 7CH(1)26H,沒(méi)有溢出:,沒(méi)有溢出:OF0什么是溢出什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:127 12816位表達(dá)的范圍是:位表達(dá)的范圍是:32767 32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不

23、正確有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確3AH7CHB6H,就是,就是58124182,已經(jīng)超出已經(jīng)超出128127范圍,產(chǎn)生溢出,故范圍,產(chǎn)生溢出,故OF1;補(bǔ)碼補(bǔ)碼B6H表達(dá)真值是表達(dá)真值是74,顯然運(yùn)算結(jié)果也不正確,顯然運(yùn)算結(jié)果也不正確 B6H10110110B,最高位為,最高位為1,作為有符號(hào)數(shù)是負(fù)數(shù)作為有符號(hào)數(shù)是負(fù)數(shù) 對(duì)對(duì)B6H求反加求反加1等于:等于:01001001B101001010B4AH74 所以,所以,B6H表達(dá)有符號(hào)數(shù)的真值為表達(dá)有符號(hào)數(shù)的真值為74溢出和進(jìn)位的區(qū)別溢出和進(jìn)位的區(qū)別溢出標(biāo)志溢出標(biāo)志OF和進(jìn)位標(biāo)志和進(jìn)位標(biāo)志CF是兩個(gè)意義是兩個(gè)意義不同的標(biāo)志不同的標(biāo)志進(jìn)位標(biāo)

24、志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確超出范圍,運(yùn)算結(jié)果仍然正確溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確超出范圍,運(yùn)算結(jié)果已經(jīng)不正確(6)輔助進(jìn)位標(biāo)志)輔助進(jìn)位標(biāo)志AF(Auxiliary Carry Flag)3AH7CHB6H,D3有進(jìn)位:有進(jìn)位:AF1運(yùn)算時(shí)運(yùn)算時(shí)D D3 3位(低半字節(jié))有進(jìn)位或位(低半字節(jié))有進(jìn)位或借位時(shí),借位時(shí),AFAF1 1;否則;否則AFAF0 0這個(gè)標(biāo)志主要由處理器內(nèi)部使用,這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算調(diào)整指令中,用于十進(jìn)制算術(shù)運(yùn)算調(diào)整指令中,

25、用戶一般不必關(guān)心用戶一般不必關(guān)心(7)方向標(biāo)志)方向標(biāo)志DF(Direction Flag)用于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DF0,存儲(chǔ)器地址自動(dòng)增加;,存儲(chǔ)器地址自動(dòng)增加;設(shè)置設(shè)置DF1,存儲(chǔ)器地址自動(dòng)減少,存儲(chǔ)器地址自動(dòng)減少CLDCLD指令復(fù)位方向標(biāo)志:指令復(fù)位方向標(biāo)志:DFDF0 0STDSTD指令置位方向標(biāo)志:指令置位方向標(biāo)志:DFDF1 1(8)中斷允許標(biāo)志)中斷允許標(biāo)志IF(Interrupt-enable Flag)控制可屏蔽中斷是否可以被處理器響應(yīng):控制可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置設(shè)置IF1,則允許中斷;,則允許中斷;

26、設(shè)置設(shè)置IF0,則禁止中斷,則禁止中斷CLICLI指令復(fù)位中斷標(biāo)志:指令復(fù)位中斷標(biāo)志:IFIF0 0STISTI指令置位中斷標(biāo)志:指令置位中斷標(biāo)志:IFIF1 1(9)陷阱標(biāo)志)陷阱標(biāo)志TF(Trap Flag)用于控制處理器進(jìn)入單步操作方式:用于控制處理器進(jìn)入單步操作方式:設(shè)置設(shè)置TF0,處理器正常工作;,處理器正常工作;設(shè)置設(shè)置TF1,處理器,處理器單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令處理器在處理器在每條指令執(zhí)行結(jié)每條指令執(zhí)行結(jié)束束時(shí),便產(chǎn)生一個(gè)編號(hào)為時(shí),便產(chǎn)生一個(gè)編號(hào)為1 1的內(nèi)部中斷的內(nèi)部中斷這種內(nèi)部中斷稱為這種內(nèi)部中斷稱為單步中斷單步中斷所以所以TFTF也稱為也稱為單步標(biāo)

27、志單步標(biāo)志n利用單步中斷可對(duì)程序進(jìn)行逐條指令的調(diào)試?yán)脝尾街袛嗫蓪?duì)程序進(jìn)行逐條指令的調(diào)試n這種逐條指令調(diào)試程序的方法就是這種逐條指令調(diào)試程序的方法就是單步調(diào)試單步調(diào)試2.1.3.4 段寄存器段寄存器存儲(chǔ)單元及其存儲(chǔ)內(nèi)容存儲(chǔ)單元及其存儲(chǔ)內(nèi)容每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào);每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào);被稱為被稱為存儲(chǔ)器地址存儲(chǔ)器地址每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的內(nèi)容內(nèi)容00002H00002H單元存放有一個(gè)數(shù)據(jù)單元存放有一個(gè)數(shù)據(jù)34H34H表達(dá)為表達(dá)為00002H00002H34H34HD7 D000006H78H00005H56H00004H12H00003H34H00002H00

28、001H00000H存儲(chǔ)器的分段管理存儲(chǔ)器的分段管理8088CPU8088CPU有有2020條地址線條地址線最大可尋址空間為最大可尋址空間為2 220201MB1MB物理地址范圍從物理地址范圍從00000H00000HFFFFFHFFFFFH但是但是CPUCPU內(nèi)部寄存器和數(shù)據(jù)總線都是內(nèi)部寄存器和數(shù)據(jù)總線都是1616位,怎位,怎么輸出一個(gè)么輸出一個(gè)2020位的地址信息呢?位的地址信息呢?8 0 8 8 C P U8 0 8 8 C P U 將將 1 M B1 M B 空 間 分 成 許 多空 間 分 成 許 多 邏 輯 段邏 輯 段(SegmentSegment)段不能起始于任意地址,段地址的

29、低段不能起始于任意地址,段地址的低4 4位為位為0000B0000B每一段每一段最大限制最大限制可尋址可尋址216(64K)字節(jié))字節(jié)在在1M1M字節(jié)的地址空間里,共有字節(jié)的地址空間里,共有64K64K個(gè)小段首地址:個(gè)小段首地址: 00000H00000H 00010H 00010H 41230H 41230H 41240H 41240H FFFE0H FFFE0H FFFFFH FFFFFH 存儲(chǔ)器分段存儲(chǔ)器分段 00000H 圖圖3-10 存儲(chǔ)器分段示意圖存儲(chǔ)器分段示意圖 邏輯段邏輯段1 起點(diǎn)起點(diǎn) 邏輯段邏輯段2 起點(diǎn)起點(diǎn) 邏輯段邏輯段3 起點(diǎn)起點(diǎn) 邏輯段邏輯段4 起點(diǎn)起點(diǎn) FFFFFH

30、邏輯段邏輯段1 64KB 邏輯段邏輯段2 64KB 邏輯段邏輯段3 64KB 邏輯段邏輯段4 64KB 物理地址和邏輯地址物理地址和邏輯地址存儲(chǔ)器中的每個(gè)存儲(chǔ)單元都可以用兩個(gè)形式的存儲(chǔ)器中的每個(gè)存儲(chǔ)單元都可以用兩個(gè)形式的地址來(lái)表示實(shí)際地址(或稱物理地址)和邏輯地地址來(lái)表示實(shí)際地址(或稱物理地址)和邏輯地址。址。8088CPU存儲(chǔ)系統(tǒng)中,對(duì)應(yīng)每個(gè)物理存儲(chǔ)單存儲(chǔ)系統(tǒng)中,對(duì)應(yīng)每個(gè)物理存儲(chǔ)單元都有一個(gè)唯一的元都有一個(gè)唯一的20位編號(hào),就是物理地址,從位編號(hào),就是物理地址,從00000H FFFFFH,規(guī)定了規(guī)定了1M字節(jié)存儲(chǔ)體中某字節(jié)存儲(chǔ)體中某個(gè)具體單元的地址個(gè)具體單元的地址 。邏輯地址形式為邏輯地址

31、形式為段基地址段基地址 : : 段內(nèi)偏移地址段內(nèi)偏移地址分隔符分隔符邏輯地址邏輯地址段基地址段基地址說(shuō)明邏輯段在主存中的起始位置說(shuō)明邏輯段在主存中的起始位置8088規(guī)定段地址必須是:規(guī)定段地址必須是:xxxx0H省略低省略低4位位0000B,段地址就可以用,段地址就可以用16位數(shù)位數(shù)據(jù)表示,即能用據(jù)表示,即能用16位位段寄存器段寄存器表達(dá)段地址表達(dá)段地址偏移地址偏移地址說(shuō)明主存單元距離段起始位置的說(shuō)明主存單元距離段起始位置的偏移量偏移量每段不超過(guò)每段不超過(guò)64KB,偏移地址也可用,偏移地址也可用16位位數(shù)數(shù)據(jù)表示據(jù)表示物理地址的形成:物理地址有兩部分組成,段基址和偏物理地址的形成:物理地址有兩

32、部分組成,段基址和偏移地址。移地址。 8086/8088CPU中有一個(gè)地址加法器,它將段寄存器提中有一個(gè)地址加法器,它將段寄存器提供的段地址自動(dòng)乘以供的段地址自動(dòng)乘以10H(16)即左移)即左移4位,然后與位,然后與16位的偏移地址相加,并鎖存在物理地址鎖存器中。位的偏移地址相加,并鎖存在物理地址鎖存器中。物理地址物理地址=段基址段基址 * 16 +偏移地址。偏移地址。存放段基址的寄存器:存放段基址的寄存器:CS、DS、ES、SS。存放偏移地址的寄存器:存放偏移地址的寄存器:IP、DI、SI、BP、SP等。等。+物理地址的形成物理地址的形成段寄存器值段寄存器值偏移量偏移量物理地址物理地址16位

33、位4位位16位位20位位存儲(chǔ)器物理地址的計(jì)算方法存儲(chǔ)器物理地址的計(jì)算方法一個(gè)物理地址可以有多個(gè)邏輯地址一個(gè)物理地址可以有多個(gè)邏輯地址邏輯地址邏輯地址 1460:1001460:100、1380:F001380:F00物理地址物理地址 14700H 14700H14700H 14700H14600H14600H 100H100H14700H14700H13800H13800H F00HF00H14700H14700H段地址左移段地址左移4 4位位加上偏移地址加上偏移地址得到物理地址得到物理地址段寄存器段寄存器 8086CPU中有四段寄存器:中有四段寄存器:CS,DS,SS和和ES,這四個(gè),這四個(gè)段寄存器存放了段寄存器存放了CPU當(dāng)前可以尋址的四個(gè)段的基址,當(dāng)前可以尋址的四個(gè)段的基址,也即可以從這四個(gè)段寄存器規(guī)定的邏輯段中存取指令也即可以從這四個(gè)段寄存器規(guī)定的邏輯段中存取指令代碼和數(shù)據(jù)。一旦這四個(gè)段寄存器的內(nèi)容被設(shè)定,就代碼和數(shù)據(jù)。一旦這四個(gè)段寄存器的內(nèi)容被設(shè)定,就規(guī)定了規(guī)定了CPU當(dāng)前可尋址的段。當(dāng)前可尋址的段。 8088有有4個(gè)個(gè)16位段寄存器位段寄存器CS(代碼段)指明(代碼段)指明代碼段代碼段的起始地址的起始地址SS(堆棧段)指明(堆棧段)指明堆棧段堆棧段的起始地址的起始地址DS(數(shù)據(jù)段)指明(數(shù)據(jù)段)指明數(shù)據(jù)段數(shù)據(jù)段的起始地址的起始地址ES(附加段)指明(附加段)指明附

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論