微機原理第02章微處理器指令系統(tǒng)(2)ppt課件_第1頁
微機原理第02章微處理器指令系統(tǒng)(2)ppt課件_第2頁
微機原理第02章微處理器指令系統(tǒng)(2)ppt課件_第3頁
微機原理第02章微處理器指令系統(tǒng)(2)ppt課件_第4頁
微機原理第02章微處理器指令系統(tǒng)(2)ppt課件_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章第第2章:微處置器指令系統(tǒng)章:微處置器指令系統(tǒng)-教學重點教學重點8088/8086的尋址方式的尋址方式8088/8086的根本指令的根本指令數(shù)據(jù)傳送數(shù)據(jù)傳送加減運算加減運算邏輯運算、移位邏輯運算、移位控制轉(zhuǎn)移、功能調(diào)用控制轉(zhuǎn)移、功能調(diào)用匯編言語程序段匯編言語程序段第第2章:章:2.1 微處置器的內(nèi)部構(gòu)造微處置器的內(nèi)部構(gòu)造從運用角度不是從內(nèi)部任務(wù)原理展開從運用角度不是從內(nèi)部任務(wù)原理展開典型典型8位微處置器的根本構(gòu)造位微處置器的根本構(gòu)造8088/8086的功能構(gòu)造的功能構(gòu)造8088/8086的存放器構(gòu)造的存放器構(gòu)造8088/8086的存儲器構(gòu)造的存儲器構(gòu)造為學習指令系統(tǒng)打好根底為學習

2、指令系統(tǒng)打好根底例如:關(guān)懷用戶例如:關(guān)懷用戶“可編程存放器,可編程存放器,不關(guān)懷無法支配的不關(guān)懷無法支配的“透明存放器透明存放器內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線暫存器暫存器累加器累加器ALU標志存放器標志存放器指指令令寄寄存存指指令令譯譯碼碼時序時序和和控制控制邏輯邏輯通通 用用存放器組存放器組地地 址址存放器組存放器組地址地址總線總線控制控制數(shù)據(jù)數(shù)據(jù)總線總線控制控制第第2章章: 2.1.1 微處置器的根本構(gòu)造微處置器的根本構(gòu)造1.算術(shù)邏輯單元運算器算術(shù)邏輯單元運算器2.存放器組存放器組3.指令處置單元控制器指令處置單元控制器第第2章章: 2.1.2 8

3、088/8086的功能構(gòu)造的功能構(gòu)造8088的內(nèi)部構(gòu)造從功能上分成兩個單元的內(nèi)部構(gòu)造從功能上分成兩個單元1. 總線接口單元總線接口單元BIU管理管理8088與系統(tǒng)總線的接口與系統(tǒng)總線的接口擔任擔任CPU對存儲器和外設(shè)進展訪問對存儲器和外設(shè)進展訪問2. 執(zhí)行單元執(zhí)行單元EU擔任指令的譯碼、執(zhí)行和數(shù)據(jù)的運算擔任指令的譯碼、執(zhí)行和數(shù)據(jù)的運算兩個單元相互獨立,分別完成各自操作,兩個單元相互獨立,分別完成各自操作,還可以并行執(zhí)行,實現(xiàn)指令預(yù)取指令讀還可以并行執(zhí)行,實現(xiàn)指令預(yù)取指令讀取和執(zhí)行的流水線操作取和執(zhí)行的流水線操作第第2章:章:2.1.3 8088/8086的存放器構(gòu)造的存放器構(gòu)造8088/808

4、6的存放器組有的存放器組有8個通用存放器個通用存放器4個段存放器個段存放器1個標志存放器個標志存放器1個指令指針存放器個指令指針存放器他們均為他們均為16位位!圖示圖示 匯編言語程序員看到的處置器,就是存放器匯編言語程序員看到的處置器,就是存放器 所以,一定要熟習這些存放器的稱號和作用所以,一定要熟習這些存放器的稱號和作用第第2章:章:1. 通用存放器通用存放器 8088有有8個通用的個通用的16位存放器位存放器 1數(shù)據(jù)存放器數(shù)據(jù)存放器: AX BX CX DX 2變址存放器變址存放器: SI DI 3指針存放器指針存放器: BP SP 4個數(shù)據(jù)存放器還可以分成高個數(shù)據(jù)存放器還可以分成高8位和

5、低位和低8位兩位兩個獨立的存放器,這樣又構(gòu)成個獨立的存放器,這樣又構(gòu)成8個通用的個通用的8位存放器位存放器 AX: AH ALBX: BH BL CX: CH CLDX: DH DL第第2章:章:1數(shù)據(jù)存放器數(shù)據(jù)存放器AX稱為累加器稱為累加器Accumulator運用頻度最高。用于算術(shù)、邏輯運算以及與外設(shè)運用頻度最高。用于算術(shù)、邏輯運算以及與外設(shè)傳送信息等傳送信息等BX稱為基址存放器稱為基址存放器Base address Register常用做存放存儲器地址常用做存放存儲器地址CX稱為計數(shù)器稱為計數(shù)器Counter作為循環(huán)和串操作等指令中的隱含計數(shù)器作為循環(huán)和串操作等指令中的隱含計數(shù)器DX稱為

6、數(shù)據(jù)存放器稱為數(shù)據(jù)存放器Data register常用來存放雙字長數(shù)據(jù)的高常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端位,或存放外設(shè)端口地址口地址第第2章:章:1數(shù)據(jù)存放器數(shù)據(jù)存放器AX稱為累加器稱為累加器Accumulator運用頻度最高。用于算術(shù)、邏輯運算以及與外設(shè)運用頻度最高。用于算術(shù)、邏輯運算以及與外設(shè)傳送信息等傳送信息等BX稱為基址存放器稱為基址存放器Base address Register常用做存放存儲器地址常用做存放存儲器地址CX稱為計數(shù)器稱為計數(shù)器Counter作為循環(huán)和串操作等指令中的隱含計數(shù)器作為循環(huán)和串操作等指令中的隱含計數(shù)器DX稱為數(shù)據(jù)存放器稱為數(shù)據(jù)存放器Data r

7、egister常用來存放雙字長數(shù)據(jù)的高常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端位,或存放外設(shè)端口地址口地址第第2章:章:2變址存放器變址存放器16位變址存放器位變址存放器SI和和DI常用于存儲器變址尋址方式時提供地址常用于存儲器變址尋址方式時提供地址SI是源地址存放器是源地址存放器Source IndexDI是目的地址存放器是目的地址存放器Destination Index在串操作類指令中,在串操作類指令中,SI、DI還有較特殊的還有較特殊的用法用法 如今不用完全了解,以后會詳細展開如今不用完全了解,以后會詳細展開第第2章:章:3指針存放器指針存放器 指針存放器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)指針

8、存放器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù) SPSP為堆棧指針存放器為堆棧指針存放器Stack PointerStack Pointer, ,指示堆棧段棧頂?shù)奈恢闷频刂分甘径褩6螚m數(shù)奈恢闷频刂?BPBP為基址指針存放器為基址指針存放器Base PointerBase Pointer,表示數(shù)據(jù)在堆棧段中的基地址表示數(shù)據(jù)在堆棧段中的基地址 SPSP和和BPBP存放器與存放器與SSSS段存放器結(jié)合運用以確段存放器結(jié)合運用以確定堆棧段中的存儲單元地址定堆棧段中的存儲單元地址堆棧堆棧Stack是主存中一個特殊的是主存中一個特殊的區(qū)域,采用區(qū)域,采用“先進后出或先進后出或“后進先出存后進先出存取操作方式、而不是

9、隨機存取方式。取操作方式、而不是隨機存取方式。用用8088/8086構(gòu)成的微機系統(tǒng)中,堆構(gòu)成的微機系統(tǒng)中,堆棧區(qū)域被稱為堆棧段棧區(qū)域被稱為堆棧段第第2章:章:2. 指令指針存放器指令指針存放器IPInstruction Pointer為指令指針存放為指令指針存放器,指示主存儲器指令的位置器,指示主存儲器指令的位置隨著指令的執(zhí)行,隨著指令的執(zhí)行,IP將自動修正以指示下將自動修正以指示下一條指令所在的存儲器位置一條指令所在的存儲器位置IP存放器是一個公用存放器存放器是一個公用存放器IP存放器與存放器與CS段存放器結(jié)合運用以確定下段存放器結(jié)合運用以確定下一條指令的存儲單元地址一條指令的存儲單元地址第

10、第2章:章:3. 標志存放器標志存放器標志標志Flag用于反映指令執(zhí)行結(jié)果用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行方式或控制指令執(zhí)行方式8088處置器的各種標志構(gòu)成了一個處置器的各種標志構(gòu)成了一個16位的標志存放器位的標志存放器FLAGS程序形狀字程序形狀字PSW存放器存放器 程序設(shè)計需求利用標志的形狀程序設(shè)計需求利用標志的形狀第第2章:標志存放器章:標志存放器-分類分類形狀標志用來記錄程序運轉(zhuǎn)結(jié)果的形狀形狀標志用來記錄程序運轉(zhuǎn)結(jié)果的形狀信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CF ZF SF PF OF AF控制標志可由程序根據(jù)需求用指令設(shè)置,控制標志可由程序根據(jù)需

11、求用指令設(shè)置,用于控制處置器執(zhí)行指令的方式用于控制處置器執(zhí)行指令的方式DF IF TFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0第第2章:進位標志章:進位標志CFCarry Flag 當運算結(jié)果的最高有效位有進位加法或借位減法時,進位標志置1,即CF1; 否那么CF03AH + 7CHB6H,沒有進位:,沒有進位:CF = 0AAH + 7CH126H,有進位:,有進位:CF = 1第第2章:零標志章:零標志ZFZero Flag假設(shè)運算結(jié)果為假設(shè)運算結(jié)果為0,那么,那么ZF1;否那么否那么ZF03AH7CHB6H,結(jié)果不是零:,結(jié)果不是零:ZF084H7CH1

12、00H,結(jié)果是零:,結(jié)果是零:ZF1 留意:留意:ZF為為1表示的結(jié)果是表示的結(jié)果是0第第2章:符號標志章:符號標志SFSign Flag運算結(jié)果最高位為運算結(jié)果最高位為1,那么,那么SF1; 否那么否那么SF03AH7CHB6H,最高位,最高位D71:SF184H7CH100H,最高位,最高位D70:SF0 有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標志的形狀所以,最高有效位就是符號標志的形狀第第2章:奇偶標志章:奇偶標志PFParity Flag 當運算結(jié)果最低字節(jié)中當運算結(jié)果最低字節(jié)中“1的個數(shù)為的個數(shù)為零或偶數(shù)時,零或偶數(shù)時,PF1

13、;否那么;否那么PF03AH7CHB6H10110110B結(jié)果中有結(jié)果中有5個個“1,是奇數(shù):,是奇數(shù):PF0 PF標志僅反映最低標志僅反映最低8位中位中“1的個數(shù)是的個數(shù)是偶或奇,即使是進展偶或奇,即使是進展16位字操作位字操作第第2章:溢出標志章:溢出標志OFOverflow Flag假設(shè)算術(shù)運算的結(jié)果有溢出,那么假設(shè)算術(shù)運算的結(jié)果有溢出,那么OF1; 否那么否那么 OF03AH + 7CHB6H,產(chǎn)生溢出:,產(chǎn)生溢出:OF1AAH + 7CH126H,沒有溢出:,沒有溢出:OF0第第2章:什么是溢出章:什么是溢出處置器內(nèi)部以補碼表示有符號數(shù)處置器內(nèi)部以補碼表示有符號數(shù)8位表達的整數(shù)范圍是

14、:位表達的整數(shù)范圍是:127 12816位表達的范圍是:位表達的范圍是:32767 32768假設(shè)運算結(jié)果超出這個范圍,就產(chǎn)生了溢出假設(shè)運算結(jié)果超出這個范圍,就產(chǎn)生了溢出有溢出,闡明有符號數(shù)的運算結(jié)果不正確有溢出,闡明有符號數(shù)的運算結(jié)果不正確3AH7CHB6H,就是,就是58124182,曾經(jīng)超出曾經(jīng)超出128127范圍,產(chǎn)生溢出,故范圍,產(chǎn)生溢出,故OF1;補碼補碼B6H表達真值是表達真值是74,顯然運算結(jié)果也不正確,顯然運算結(jié)果也不正確 B6H10110110B,最高位為,最高位為1,作為有符號數(shù)是負數(shù)作為有符號數(shù)是負數(shù) 對對B6H求反加求反加1等于:等于:01001001B1010010

15、10B4AH74 所以,所以,B6H表達有符號數(shù)的真值為表達有符號數(shù)的真值為74第第2章:溢出和進位的區(qū)別章:溢出和進位的區(qū)別溢出標志溢出標志OF和進位標志和進位標志CF是兩個意義是兩個意義不同的標志不同的標志進位標志表示無符號數(shù)運算結(jié)果能否進位標志表示無符號數(shù)運算結(jié)果能否超出范圍,運算結(jié)果依然正確超出范圍,運算結(jié)果依然正確溢出標志表示有符號數(shù)運算結(jié)果能否溢出標志表示有符號數(shù)運算結(jié)果能否超出范圍,運算結(jié)果曾經(jīng)不正確超出范圍,運算結(jié)果曾經(jīng)不正確第第2章:章: 溢出和進位的對比溢出和進位的對比例例1:3AH7CHB6H無符號數(shù)運算:無符號數(shù)運算:58124182范圍內(nèi),無進位范圍內(nèi),無進位有符號數(shù)

16、運算:有符號數(shù)運算: 58124182范圍外,有溢出范圍外,有溢出例例2:AAH7CH126H無符號數(shù)運算:無符號數(shù)運算:170124294范圍外,有進位范圍外,有進位有符號數(shù)運算:有符號數(shù)運算:8612428范圍內(nèi),無溢出范圍內(nèi),無溢出第第2章:溢出和進位的運用場所章:溢出和進位的運用場所處置器對兩個操作數(shù)進展運算時,按照無處置器對兩個操作數(shù)進展運算時,按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進位標志符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進位標志CF;同時,根據(jù)能否超出有符號數(shù)的范圍設(shè)置同時,根據(jù)能否超出有符號數(shù)的范圍設(shè)置溢出標志溢出標志OF應(yīng)該利用哪個標志,那么由程序員來決議。應(yīng)該利用哪個標志,那么由程序員來

17、決議。也就是說,假設(shè)將參與運算的操作數(shù)以為也就是說,假設(shè)將參與運算的操作數(shù)以為是無符號數(shù),就應(yīng)該關(guān)懷進位;以為是有是無符號數(shù),就應(yīng)該關(guān)懷進位;以為是有符號數(shù),那么要留意能否溢出符號數(shù),那么要留意能否溢出第第2章:溢出的判別章:溢出的判別判別運算結(jié)果能否溢出有一個簡單的規(guī)那么:判別運算結(jié)果能否溢出有一個簡單的規(guī)那么:只需當兩個一樣符號數(shù)相加包括不同符號數(shù)相只需當兩個一樣符號數(shù)相加包括不同符號數(shù)相減,而運算結(jié)果的符號與原數(shù)據(jù)符號相反時,減,而運算結(jié)果的符號與原數(shù)據(jù)符號相反時,產(chǎn)生溢出;由于,此時的運算結(jié)果顯然不正確產(chǎn)生溢出;由于,此時的運算結(jié)果顯然不正確其他情況下,那么不會產(chǎn)生溢出其他情況下,那么

18、不會產(chǎn)生溢出例例1:3AH7CHB6H溢出溢出例例2:AAH7CH無溢出無溢出例例3:3AH7CH無溢出無溢出例例4:AAH7CH2DH溢出溢出第第2章:輔助進位標志章:輔助進位標志AFAuxiliary Carry Flag3AH7CHB6H,D3有進位:有進位:AF1運算時運算時D3D3位低半字節(jié)有進位位低半字節(jié)有進位或借位時,或借位時,AFAF1 1;否那么;否那么AFAF0 0這個標志主要由處置器內(nèi)部運用,這個標志主要由處置器內(nèi)部運用,用于十進制算術(shù)運算調(diào)整指令中,用于十進制算術(shù)運算調(diào)整指令中,用戶普通不用關(guān)懷用戶普通不用關(guān)懷第第2章:方向標志章:方向標志DFDirection Fla

19、g用于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DF0,存儲器地址自動添加;,存儲器地址自動添加;設(shè)置設(shè)置DF1,存儲器地址自動減少,存儲器地址自動減少CLDCLD指令復(fù)位方向標志:指令復(fù)位方向標志:DFDF0 0STDSTD指令置位方向標志:指令置位方向標志:DFDF1 1第第2章:中斷允許標志章:中斷允許標志IFInterrupt-enable Flag控制可屏蔽中斷能否可以被處置器呼應(yīng):控制可屏蔽中斷能否可以被處置器呼應(yīng):設(shè)置設(shè)置IF1,那么允許中斷;,那么允許中斷;設(shè)置設(shè)置IF0,那么制止中斷,那么制止中斷CLICLI指令復(fù)位中斷標志:指令復(fù)位中斷

20、標志:IFIF0 0STISTI指令置位中斷標志:指令置位中斷標志:IFIF1 1第第2章:圈套標志章:圈套標志TFTrap Flag用于控制處置器進入單步操作方式:用于控制處置器進入單步操作方式:設(shè)置設(shè)置TF0,處置器正常任務(wù);,處置器正常任務(wù);設(shè)置設(shè)置TF1,處置器單步執(zhí)行指令,處置器單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令處置器在每條指令執(zhí)行終處置器在每條指令執(zhí)行終了時,便產(chǎn)生一個編號為了時,便產(chǎn)生一個編號為1 1的內(nèi)部中斷的內(nèi)部中斷這種內(nèi)部中斷稱為單步中斷這種內(nèi)部中斷稱為單步中斷所以所以TFTF也稱為單步標志也稱為單步標志利用單步中斷可對程序進展逐條指令的調(diào)試利用單步中斷可對程序進展逐條指

21、令的調(diào)試這種逐條指令調(diào)試程序的方法就是單步伐試這種逐條指令調(diào)試程序的方法就是單步伐試第第2章:章:2.1.4 8088/8086的存儲器構(gòu)造的存儲器構(gòu)造存儲器是計算機存儲信息的地方。掌握數(shù)存儲器是計算機存儲信息的地方。掌握數(shù)據(jù)存儲格式,以及存儲器的分段管理對以據(jù)存儲格式,以及存儲器的分段管理對以后的匯編程序設(shè)計非常重要后的匯編程序設(shè)計非常重要他能區(qū)別存放器、存儲器他能區(qū)別存放器、存儲器(主存主存)、外存、外存(包包括硬盤、光盤、磁帶等存儲介質(zhì)括硬盤、光盤、磁帶等存儲介質(zhì))嗎?嗎?答案答案第第2章:存放器、存儲器和外存的區(qū)別章:存放器、存儲器和外存的區(qū)別 存放器是微處置器存放器是微處置器CPU內(nèi)

22、部暫存數(shù)據(jù)的存儲內(nèi)部暫存數(shù)據(jù)的存儲單元,以稱號表示,例如:單元,以稱號表示,例如:AX,BX.等等 存儲器也就是平常所說的主存,也叫內(nèi)存,可直存儲器也就是平常所說的主存,也叫內(nèi)存,可直接與接與CPU進展數(shù)據(jù)交換。主存利用地址區(qū)別進展數(shù)據(jù)交換。主存利用地址區(qū)別 外存主要指用來長久保管數(shù)據(jù)的外部存儲介質(zhì),外存主要指用來長久保管數(shù)據(jù)的外部存儲介質(zhì),常見的有硬盤、光盤、磁帶、常見的有硬盤、光盤、磁帶、U盤等。外存的數(shù)據(jù)盤等。外存的數(shù)據(jù)只能經(jīng)過主存間接地與只能經(jīng)過主存間接地與CPU交換數(shù)據(jù)交換數(shù)據(jù) 程序及其數(shù)據(jù)可以長久存放在外存,在運轉(zhuǎn)需求程序及其數(shù)據(jù)可以長久存放在外存,在運轉(zhuǎn)需求時才進入主存時才進入主

23、存第第2章:章:1. 數(shù)據(jù)的存儲格式數(shù)據(jù)的存儲格式計算機中信息的單位計算機中信息的單位二進制位二進制位Bit:存儲一位二進制數(shù):存儲一位二進制數(shù):0或或1字節(jié)字節(jié)Byte:8個二進制位,個二進制位,D7D0字字Word:16位,位,2個字節(jié),個字節(jié),D15D0雙字雙字DWord:32位,位,4個字節(jié),個字節(jié),D31D0最低有效位最低有效位LSB:數(shù)據(jù)的最低位,:數(shù)據(jù)的最低位,D0位位最高有效位最高有效位MSB:數(shù)據(jù)的最高位,對應(yīng)字:數(shù)據(jù)的最高位,對應(yīng)字節(jié)、字、雙字分別指節(jié)、字、雙字分別指D7、D15、D31位位第第2章:存儲單元及其存儲內(nèi)容章:存儲單元及其存儲內(nèi)容每個存儲單元都有一個編號;被稱

24、每個存儲單元都有一個編號;被稱為存儲器地址為存儲器地址每個存儲單元存放一個字節(jié)的內(nèi)容每個存儲單元存放一個字節(jié)的內(nèi)容0002H0002H單元存放有一個數(shù)據(jù)單元存放有一個數(shù)據(jù)34H34H表達為表達為0002H0002H34H34H第第2章:多字節(jié)數(shù)據(jù)存放方式章:多字節(jié)數(shù)據(jù)存放方式多字節(jié)數(shù)據(jù)在存儲器中占延續(xù)的多個多字節(jié)數(shù)據(jù)在存儲器中占延續(xù)的多個存儲單元:存儲單元:存放時,低字節(jié)存入低地址,高字節(jié)存放時,低字節(jié)存入低地址,高字節(jié)存入高地址;存入高地址;表達時,用它的低地址表示多字節(jié)數(shù)表達時,用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。據(jù)占據(jù)的地址空間。圖圖2-52-5中中0002H0002H“字單元的內(nèi)

25、容為:字單元的內(nèi)容為:0002H = 1234H0002H = 1234H0002H0002H號號“雙字單元的內(nèi)容為:雙字單元的內(nèi)容為:0002H = 78561234H0002H = 78561234H 80 x86處置器采用處置器采用“低對低、高對低對低、高對高的存儲方式,被稱為高的存儲方式,被稱為“小端方式小端方式Little Endian。 相 對 應(yīng) 還 存 在相 對 應(yīng) 還 存 在 “ 大 端 方 式大 端 方 式 B i g Endian。第第2章:數(shù)據(jù)的地址對齊章:數(shù)據(jù)的地址對齊 同一個存儲器地址可以是字節(jié)單元地址、同一個存儲器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等

26、等視詳細情字單元地址、雙字單元地址等等視詳細情況來確定況來確定 字單元安排在偶地址字單元安排在偶地址xxx0B、雙字單、雙字單元安排在模元安排在模4地址地址xx00B等,被稱為等,被稱為“地地址對齊址對齊Align 對于不對齊地址的數(shù)據(jù),處置器訪問時,對于不對齊地址的數(shù)據(jù),處置器訪問時,需求額外的訪問存儲器時間需求額外的訪問存儲器時間 應(yīng)該將數(shù)據(jù)的地址對齊,以獲得較高的存應(yīng)該將數(shù)據(jù)的地址對齊,以獲得較高的存取速度取速度第第2章:章:2. 存儲器的分段管理存儲器的分段管理8088CPU8088CPU有有2020條地址線條地址線最大可尋址空間為最大可尋址空間為2202201MB1MB物理地址范圍從

27、物理地址范圍從00000H00000HFFFFFHFFFFFH8 0 8 8 C P U8 0 8 8 C P U 將將 1 M B1 M B 空 間 分 成 許 多 邏 輯 段空 間 分 成 許 多 邏 輯 段SegmentSegment每個段最大限制為每個段最大限制為64KB64KB段地址的低段地址的低4 4位為位為0000B0000B這樣,一個存儲單元除具有一個獨一的物這樣,一個存儲單元除具有一個獨一的物理地址外,還具有多個邏輯地址理地址外,還具有多個邏輯地址第第2章:物理地址和邏輯地址章:物理地址和邏輯地址8088CPU存儲系統(tǒng)中,對應(yīng)每個物理存存儲系統(tǒng)中,對應(yīng)每個物理存儲單元都有一個

28、獨一的儲單元都有一個獨一的20位編號,就是物位編號,就是物理地址,從理地址,從00000H FFFFFH分段后在用戶編程時,采用邏輯地址,分段后在用戶編程時,采用邏輯地址,方式為方式為段基地址段基地址 : 段內(nèi)偏移地址段內(nèi)偏移地址分隔符分隔符物理地址物理地址 14700H邏輯地址邏輯地址 1460H:100H第第2章:邏輯地址章:邏輯地址段地址闡明邏輯段在主存中的起始位置段地址闡明邏輯段在主存中的起始位置8088規(guī)定段地址必需是模規(guī)定段地址必需是模16地址:地址:xxxx0H省略低省略低4位位0000B,段地址就可以用,段地址就可以用16位數(shù)位數(shù)據(jù)表示,就能用據(jù)表示,就能用16位段存放器表達段

29、地址位段存放器表達段地址偏移地址闡明主存單元間隔段起始位置的偏移地址闡明主存單元間隔段起始位置的偏移量偏移量每段不超越每段不超越64KB,偏移地址也可用,偏移地址也可用16位數(shù)位數(shù)據(jù)表示據(jù)表示第第2章:物理地址和邏輯地址的轉(zhuǎn)換章:物理地址和邏輯地址的轉(zhuǎn)換將邏輯地址中的段地址左移將邏輯地址中的段地址左移4位,加上位,加上偏移地址就得到偏移地址就得到20位物理地址位物理地址一個物理地址可以有多個邏輯地址一個物理地址可以有多個邏輯地址邏輯地址邏輯地址 1460:1001460:100、0:F000:F00物理地址物理地址 14700H 14700H14700H 14700H14600H14600H

30、100H100H14700H14700H00H00H F00HF00H14700H14700H段地址左移段地址左移4 4位位加上偏移地址加上偏移地址得到物理地址得到物理地址第第2章:章:3. 段存放器段存放器8088有有4個個16位段存放器位段存放器CS代碼段指明代碼段的起始地址代碼段指明代碼段的起始地址SS堆棧段指明堆棧段的起始地址堆棧段指明堆棧段的起始地址DS數(shù)據(jù)段指明數(shù)據(jù)段的起始地址數(shù)據(jù)段指明數(shù)據(jù)段的起始地址ES附加段指明附加段的起始地址附加段指明附加段的起始地址每個段存放器用來確定一個邏輯段的起每個段存放器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途始地址,每種邏輯段均有各自

31、的用途第第2章:代碼段存放器章:代碼段存放器CSCode Segment代碼段用來存放程序的指令序列代碼段用來存放程序的指令序列代碼段存放器代碼段存放器CS存放代碼段的段地址存放代碼段的段地址指令指針存放器指令指針存放器IP指示下條指令的偏移地指示下條指令的偏移地址址處置器利用處置器利用CS:IP獲得下一條要執(zhí)行的指令獲得下一條要執(zhí)行的指令第第2章:堆棧段存放器章:堆棧段存放器SSStack Segment堆棧段確定堆棧所在的主存區(qū)域堆棧段確定堆棧所在的主存區(qū)域堆棧段存放器堆棧段存放器SS存放堆棧段的段地址存放堆棧段的段地址堆棧指針存放器堆棧指針存放器SP指示堆棧棧頂?shù)钠频刂甘径褩m數(shù)钠?/p>

32、地址址處置器利用處置器利用SS:SP操作堆棧頂?shù)臄?shù)據(jù)操作堆棧頂?shù)臄?shù)據(jù)第第2章:數(shù)據(jù)段存放器章:數(shù)據(jù)段存放器DSData Segment數(shù)據(jù)段存放運轉(zhuǎn)程序所用的數(shù)據(jù)數(shù)據(jù)段存放運轉(zhuǎn)程序所用的數(shù)據(jù)數(shù)據(jù)段存放器數(shù)據(jù)段存放器DS存放數(shù)據(jù)段的段地址存放數(shù)據(jù)段的段地址各種主存尋址方式有效地址各種主存尋址方式有效地址EA得到存得到存儲器中操作數(shù)的偏移地址儲器中操作數(shù)的偏移地址處置器利用處置器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)存取數(shù)據(jù)段中的數(shù)據(jù)第第2章:附加段存放器章:附加段存放器ESExtra Segment附加段是附加的數(shù)據(jù)段,也保管數(shù)據(jù):附加段是附加的數(shù)據(jù)段,也保管數(shù)據(jù):附加段存放器附加段存放器ES存放附加

33、段的段地址存放附加段的段地址各種主存尋址方式有效地址各種主存尋址方式有效地址EA得到存得到存儲器中操作數(shù)的偏移地址儲器中操作數(shù)的偏移地址處置器利用處置器利用ES:EA存取附加段中的數(shù)據(jù)存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域存放區(qū)域第第2章:如何分配各個邏輯段章:如何分配各個邏輯段程序的指令序列必需安排在代碼段程序的指令序列必需安排在代碼段程序運用的堆棧一定在堆棧段程序運用的堆棧一定在堆棧段程序中的數(shù)據(jù)默許是安排在數(shù)據(jù)段,程序中的數(shù)據(jù)默許是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必需是附加段的目的區(qū)必需是附加段數(shù)據(jù)的存放比較靈敏,實踐上可以存數(shù)據(jù)的存放比較靈敏,實踐上可以存放在任何一種邏輯段中放在任何一種邏輯段中第第2章:段超越前綴指令章:段超越前綴指令沒有指明時,普通的數(shù)據(jù)訪問在沒有指明時,普通的數(shù)據(jù)訪問在DS段;段;運用運用BP訪問主存,那么在訪問主存,那么在SS段段默許的情況允許改動,需求運用段超默許的情況允許改動,需求運用段超越前綴指令;越前綴指令;8088指令系統(tǒng)中有指令系統(tǒng)中有4個:個:CS:;代碼段超越,運用代碼段的;代碼段超越,運用代

溫馨提示

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

評論

0/150

提交評論