微機(jī)原理與匯編語言第02章1._第1頁
微機(jī)原理與匯編語言第02章1._第2頁
微機(jī)原理與匯編語言第02章1._第3頁
微機(jī)原理與匯編語言第02章1._第4頁
微機(jī)原理與匯編語言第02章1._第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章第第2章:微處理器指令系統(tǒng)章:微處理器指令系統(tǒng)-教學(xué)重點(diǎn)教學(xué)重點(diǎn)8088/8086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)BIUEU8088/8086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)通用寄存器通用寄存器段寄存器段寄存器標(biāo)志寄存器標(biāo)志寄存器指令指針寄存器指令指針寄存器CUP引腳、工作模式、時(shí)序引腳、工作模式、時(shí)序第第2章:章:2.18086微處理器微處理器從應(yīng)用角度(不是從內(nèi)部工作原理)展開從應(yīng)用角度(不是從內(nèi)部工作原理)展開典型典型8位微處理器的基本結(jié)構(gòu)位微處理器的基本結(jié)構(gòu)8088/8086的功能結(jié)構(gòu)的功能結(jié)構(gòu)8088/8086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)為學(xué)習(xí)指令系統(tǒng)打好基礎(chǔ)為學(xué)習(xí)指令系統(tǒng)打好基礎(chǔ)例如:例如:

2、關(guān)心用戶關(guān)心用戶“可編程可編程”寄存器,寄存器,不關(guān)心無法操縱的不關(guān)心無法操縱的“透明透明”寄存器寄存器2.1.18086微處理器內(nèi)部結(jié)構(gòu)微處理器內(nèi)部結(jié)構(gòu)內(nèi)部暫存器內(nèi)部暫存器IPESSSDSCS輸入輸入/輸出輸出控制電路控制電路外部總線外部總線執(zhí)行部分執(zhí)行部分控制電路控制電路123456ALU標(biāo)志寄存器標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器通用寄存器地址加法器地址加法器指令隊(duì)列緩沖器指令隊(duì)列緩沖器執(zhí)行部件(執(zhí)行部件(EU)總線接口部件(總線接口部件(BIU)16位位20位位16位位8位位2.1.18086微處理器內(nèi)部結(jié)構(gòu)微處理器內(nèi)部結(jié)構(gòu)1.執(zhí)行部件(執(zhí)行部件(EU

3、)負(fù)責(zé)指令的執(zhí)行負(fù)責(zé)指令的執(zhí)行2.總線接口部件(總線接口部件(BIU)負(fù)責(zé)完成負(fù)責(zé)完成CPU與存儲(chǔ)器或與存儲(chǔ)器或I/O端口之間的數(shù)據(jù)傳端口之間的數(shù)據(jù)傳送送3.BIU和和EU的協(xié)調(diào)原則的協(xié)調(diào)原則流水線技術(shù)流水線技術(shù)第第2章章:2.1.28088/8086的功能結(jié)構(gòu)的功能結(jié)構(gòu)8086的的內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)從功能上分成兩個(gè)單元從功能上分成兩個(gè)單元1.總線接口單元總線接口單元BIU管理管理8086與系統(tǒng)總線的接口與系統(tǒng)總線的接口負(fù)責(zé)負(fù)責(zé)CPU對存儲(chǔ)器和外設(shè)進(jìn)行訪問對存儲(chǔ)器和外設(shè)進(jìn)行訪問2.執(zhí)行單元執(zhí)行單元EU負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算兩個(gè)單元相互獨(dú)立,分別完成各自操

4、作,兩個(gè)單元相互獨(dú)立,分別完成各自操作,還可以還可以并行執(zhí)行并行執(zhí)行,實(shí)現(xiàn)指令預(yù)?。?,實(shí)現(xiàn)指令預(yù)取(指令讀取指令讀取和執(zhí)行的流水線操作和執(zhí)行的流水線操作)2.1.18086微處理器內(nèi)部結(jié)構(gòu)微處理器內(nèi)部結(jié)構(gòu)指令的執(zhí)行指令的執(zhí)行內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線暫存器暫存器累加器累加器ALU標(biāo)志寄存器標(biāo)志寄存器指指令令寄寄存存指指令令譯譯碼碼時(shí)序時(shí)序和和控制控制邏輯邏輯通用通用寄存器組寄存器組地址地址寄存器組寄存器組地址地址總線總線控制控制數(shù)據(jù)數(shù)據(jù)總線總線控制控制第第2章章:2.1.18086微處理器內(nèi)部結(jié)構(gòu)微處理器內(nèi)部結(jié)構(gòu)1.算術(shù)邏輯單元(運(yùn)算器)算術(shù)邏輯單

5、元(運(yùn)算器)2.寄存器組寄存器組3.指令處理單元(控制器)指令處理單元(控制器)第第2章:章:2.1.28086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)8086的寄存器組有的寄存器組有8個(gè)通用寄存器個(gè)通用寄存器4個(gè)段寄存器個(gè)段寄存器1個(gè)標(biāo)志寄存器個(gè)標(biāo)志寄存器1個(gè)指令指針寄存器個(gè)指令指針寄存器它們均為它們均為1616位位! !圖示圖示匯編語言程序員看到的處理器,就是寄存器匯編語言程序員看到的處理器,就是寄存器所以,一定要熟悉這些寄存器的名稱和作用所以,一定要熟悉這些寄存器的名稱和作用第第2章:章:2.1.21.通用寄存器通用寄存器8088有有8個(gè)通用的個(gè)通用的16位寄存器位寄存器(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器:A

6、XBXCXDX(2)變址寄存器)變址寄存器:SIDI(3)指針寄存器)指針寄存器:BPSP4個(gè)數(shù)據(jù)寄存器還可以分成高個(gè)數(shù)據(jù)寄存器還可以分成高8位和低位和低8位兩位兩個(gè)獨(dú)立的寄存器,這樣又形成個(gè)獨(dú)立的寄存器,這樣又形成8個(gè)通用的個(gè)通用的8位寄存器位寄存器AX:AHALBX:BHBLCX:CHCLDX:DHDL第第2章:章:2.1.21.(1)數(shù)據(jù)寄存器)數(shù)據(jù)寄存器AX稱為累加器(稱為累加器(Accumulator)使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等息等BX稱為基址寄存器(稱為基址寄存器(BaseaddressRegister)常用

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

8、存放存儲(chǔ)器地址常用做存放存儲(chǔ)器地址CX稱為稱為計(jì)數(shù)器計(jì)數(shù)器(Counter)作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器DX稱為稱為數(shù)據(jù)寄存器數(shù)據(jù)寄存器(Dataregister)常用來存放雙字長數(shù)據(jù)的高常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址位,或存放外設(shè)端口地址16位寄存器分為二個(gè)位寄存器分為二個(gè)8位寄存器位寄存器7654321076543210151413121110987654321016位寄存器分為二個(gè)位寄存器分為二個(gè)8位寄存器位寄存器765432107654321015141312111098765432100 10 0111000100000

9、寄存器寄存器寄存器中數(shù)據(jù)寄存器中數(shù)據(jù)所表示的值所表示的值A(chǔ)X010011100010000020000(4E20H)AH0100111078(4EH)AL0010000032(20H)字在寄存器中的存儲(chǔ)字在寄存器中的存儲(chǔ)765432107654321015141312111098765432100 10 0111000100000(4E20H)(4EH)(20H)出于對兼容性的考慮,出于對兼容性的考慮,8086可以對兩種尺寸的數(shù)據(jù)進(jìn)行處理可以對兩種尺寸的數(shù)據(jù)進(jìn)行處理字節(jié)(字節(jié)(Byte):):8位(位(bit););字(字(Word):):16位(位(bit);由兩個(gè)字節(jié)組成,亦可稱為這個(gè)字的

10、);由兩個(gè)字節(jié)組成,亦可稱為這個(gè)字的高位字節(jié)和低位字節(jié)。高位字節(jié)和低位字節(jié)。第第2章:章:2.1.21.(2)變址寄存器)變址寄存器16位變址寄存器位變址寄存器SI和和DI常用于存儲(chǔ)器變址尋址方式時(shí)提供地址常用于存儲(chǔ)器變址尋址方式時(shí)提供地址SI是源地址寄存器(是源地址寄存器(SourceIndex)DI是目的地址寄存器(是目的地址寄存器(DestinationIndex)在串操作類指令中,在串操作類指令中,SI、DI還有較特殊的還有較特殊的用法用法現(xiàn)在不必完全理解,以后會(huì)詳細(xì)展開現(xiàn)在不必完全理解,以后會(huì)詳細(xì)展開字在寄存器中的存儲(chǔ)字在寄存器中的存儲(chǔ)765432107654321015141312

11、111098765432100 10 0111000100000(4E20H)(4EH)(20H)字節(jié)(字節(jié)(Byte):):8位(位(bit););字(字(Word):):16位(位(bit);由兩個(gè)字節(jié)組成,亦可稱為這個(gè)字的);由兩個(gè)字節(jié)組成,亦可稱為這個(gè)字的高位字節(jié)和低位字節(jié)。高位字節(jié)和低位字節(jié)。幾條匯編指令幾條匯編指令通過匯編指令控制通過匯編指令控制CPU工作工作幾條匯編指令幾條匯編指令通過匯編指令控制通過匯編指令控制CPU工作工作幾條匯編指令幾條匯編指令通過匯編指令控制通過匯編指令控制CPU工作工作幾條匯編指令幾條匯編指令通過匯編指令控制通過匯編指令控制CPU工作工作第第2章:章:2

12、.1.21.(3)指針寄存器)指針寄存器指針寄存器用于尋址內(nèi)存指針寄存器用于尋址內(nèi)存堆棧堆棧內(nèi)的數(shù)據(jù)內(nèi)的數(shù)據(jù)SPSP為堆棧指針寄存器(為堆棧指針寄存器(StackPointer), ,指示指示堆棧段棧頂?shù)奈恢茫ㄆ频刂罚┒褩6螚m數(shù)奈恢茫ㄆ频刂罚〣PBP為基址指針寄存器(為基址指針寄存器(BasePointer),表示),表示數(shù)據(jù)在堆棧段中的基地址數(shù)據(jù)在堆棧段中的基地址SPSP和和BPBP寄存器與寄存器與SSSS段寄存器聯(lián)合使用以確段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址定堆棧段中的存儲(chǔ)單元地址堆棧堆棧(Stack)是主存中一個(gè)特殊的)是主存中一個(gè)特殊的區(qū)域,采用區(qū)域,采用“先進(jìn)后出先進(jìn)

13、后出”或或“后進(jìn)先出后進(jìn)先出”存取操作方式、而不是隨機(jī)存取方式。存取操作方式、而不是隨機(jī)存取方式。用用8088/8086形成的微機(jī)系統(tǒng)中,堆形成的微機(jī)系統(tǒng)中,堆棧區(qū)域被稱為堆棧段棧區(qū)域被稱為堆棧段第第2章:章:2.1.21.(3)指令指針寄存器)指令指針寄存器IP(InstructionPointer)為指令指針寄存)為指令指針寄存器,指示主存儲(chǔ)器指令的位置器,指示主存儲(chǔ)器指令的位置隨著指令的執(zhí)行,隨著指令的執(zhí)行,IP將自動(dòng)修改以指示下將自動(dòng)修改以指示下一條指令所在的存儲(chǔ)器位置一條指令所在的存儲(chǔ)器位置IP寄存器是一個(gè)寄存器是一個(gè)專用專用寄存器寄存器IPIP寄存器與寄存器與CSCS段寄存器聯(lián)合使

14、用以確定下段寄存器聯(lián)合使用以確定下一條指令的存儲(chǔ)單元地址一條指令的存儲(chǔ)單元地址第第2章:章:3.標(biāo)志寄存器標(biāo)志寄存器標(biāo)志標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式或控制指令執(zhí)行形式8088處理器的各種標(biāo)志形成了一個(gè)處理器的各種標(biāo)志形成了一個(gè)16位的標(biāo)志寄存器位的標(biāo)志寄存器FLAGS(程序狀態(tài)字(程序狀態(tài)字PSW寄存器寄存器)程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)第第2章:標(biāo)志寄存器章:標(biāo)志寄存器-分類分類狀態(tài)標(biāo)志狀態(tài)標(biāo)志用來記錄程序運(yùn)行結(jié)果的狀態(tài)用來記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CF

15、ZFSFPFOFAF控制標(biāo)志控制標(biāo)志可由程序根據(jù)需要用指令設(shè)置,可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式用于控制處理器執(zhí)行指令的方式DFIFTFOF111512DF10IF9TF8SF7ZF65AF43PF21CF0第第2章:標(biāo)志寄存器符號表示章:標(biāo)志寄存器符號表示標(biāo)志名標(biāo)志名標(biāo)志為標(biāo)志為1標(biāo)志為標(biāo)志為0OF溢出溢出OV(是是)NV(否否)DF方向方向DN(減量減量)UP(增量增量)IF中斷中斷EI(允許允許)DI(關(guān)閉關(guān)閉)SF符號符號NG(為負(fù)為負(fù))PL(為正為正)ZF零零ZR(是是)NZ(否否)AF輔助進(jìn)位輔助進(jìn)位AC(是是)NA(否否)PF奇偶奇偶PE(偶偶)PO(奇奇

16、)CF進(jìn)位進(jìn)位CY(是是)NC(否否)第第2章:進(jìn)位標(biāo)志章:進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置位(減法)時(shí),進(jìn)位標(biāo)志置1,即,即CF1;否則否則CF03AH+7CHB6H,沒有進(jìn)位:,沒有進(jìn)位:CF=0AAH+7CH(1)26H,有進(jìn)位:,有進(jìn)位:CF=1第第2章:進(jìn)位標(biāo)志章:進(jìn)位標(biāo)志CF(CarryFlag)第第2章:進(jìn)位標(biāo)志章:進(jìn)位標(biāo)志CF(CarryFlag)第第2章:零標(biāo)志章:零標(biāo)志ZF(ZeroFlag)若運(yùn)算結(jié)果為若運(yùn)算結(jié)果為0,則,則ZF1;否則否則ZF03AH7CHB6H,結(jié)

17、果不是零:,結(jié)果不是零:ZF084H7CH(1)00H,結(jié)果是零:,結(jié)果是零:ZF1注意:注意:ZF為為1表示的結(jié)果是表示的結(jié)果是0第第2章:零標(biāo)志章:零標(biāo)志ZF(ZeroFlag)第第2章:零標(biāo)志章:零標(biāo)志ZF(ZeroFlag)第第2章:零標(biāo)志章:零標(biāo)志ZF(ZeroFlag)第第2章:符號標(biāo)志章:符號標(biāo)志SF(SignFlag)運(yùn)算結(jié)果最高位為運(yùn)算結(jié)果最高位為1,則,則SF1;否則否則SF03AH7CHB6H,最高位,最高位D71:SF184H7CH(1)00H,最高位,最高位D70:SF0有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標(biāo)

18、志的狀態(tài)所以,最高有效位就是符號標(biāo)志的狀態(tài)第第2章:符號標(biāo)志章:符號標(biāo)志SF(SignFlag)第第2章:符號標(biāo)志章:符號標(biāo)志SF(SignFlag)第第2章:奇偶標(biāo)志章:奇偶標(biāo)志PF(ParityFlag)當(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ù):PF0PF標(biāo)志僅反映最低標(biāo)志僅反映最低8位中位中“1”的個(gè)數(shù)是的個(gè)數(shù)是偶或奇,即使是進(jìn)行偶或奇,即使是進(jìn)行16位字操作位字操作第第2章:奇偶標(biāo)志章:奇偶標(biāo)志PF(ParityFlag)第第2章:溢出標(biāo)

19、志章:溢出標(biāo)志OF(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則若算術(shù)運(yùn)算的結(jié)果有溢出,則OF1;否則否則OF03AH+7CHB6H,產(chǎn)生溢出:,產(chǎn)生溢出:OF1AAH+7CH(1)26H,沒有溢出:,沒有溢出:OF0第第2章:什么是溢出章:什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號數(shù)8位表達(dá)的整數(shù)范圍是:位表達(dá)的整數(shù)范圍是:12712816位表達(dá)的范圍是:位表達(dá)的范圍是:3276732768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說明有符號數(shù)的運(yùn)算結(jié)果不正確有溢出,說明有符號數(shù)的運(yùn)算結(jié)果不正確3AH7CHB6H,就是,

20、就是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,作為有符號數(shù)是負(fù)數(shù)作為有符號數(shù)是負(fù)數(shù)對對B6H求反加求反加1等于:等于:01001001B101001010B4AH74所以,所以,B6H表達(dá)有符號數(shù)的真值為表達(dá)有符號數(shù)的真值為74第第2章:溢出和進(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)志表示無符號數(shù)運(yùn)算結(jié)果是否進(jìn)位標(biāo)志表示無符號數(shù)運(yùn)算結(jié)果是否

21、超出范圍,運(yùn)算結(jié)果仍然正確超出范圍,運(yùn)算結(jié)果仍然正確溢出標(biāo)志表示有符號數(shù)運(yùn)算結(jié)果是否溢出標(biāo)志表示有符號數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確超出范圍,運(yùn)算結(jié)果已經(jīng)不正確第第2章:溢出和進(jìn)位的對比章:溢出和進(jìn)位的對比例例1:3AH7CHB6H無符號數(shù)運(yùn)算:無符號數(shù)運(yùn)算: 58124182范圍內(nèi),無進(jìn)位范圍內(nèi),無進(jìn)位有符號數(shù)運(yùn)算:有符號數(shù)運(yùn)算: 58124182范圍外,有溢出范圍外,有溢出例例2:AAH7CH(1)26H無符號數(shù)運(yùn)算:無符號數(shù)運(yùn)算: 170124294范圍外,有進(jìn)位范圍外,有進(jìn)位有符號數(shù)運(yùn)算:有符號數(shù)運(yùn)算: 8612428范圍內(nèi),無溢出范圍內(nèi),無溢出第第2章:溢出和進(jìn)位的應(yīng)用場

22、合章:溢出和進(jìn)位的應(yīng)用場合處理器對兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無處理器對兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否超出有符號數(shù)的范圍設(shè)置同時(shí),根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志溢出標(biāo)志OF應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來決定。應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來決定。也就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為也就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為是無符號數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有是無符號數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號數(shù),則要注意是否溢出符號數(shù),則要注意是否溢出第第2章:溢出的判斷章:溢出的判斷判斷運(yùn)算結(jié)果是否溢出有一個(gè)簡單的規(guī)則:

23、判斷運(yùn)算結(jié)果是否溢出有一個(gè)簡單的規(guī)則:只有當(dāng)兩個(gè)相同符號數(shù)相加(包括不同符號數(shù)相只有當(dāng)兩個(gè)相同符號數(shù)相加(包括不同符號數(shù)相減),而運(yùn)算結(jié)果的符號與原數(shù)據(jù)符號相反時(shí),減),而運(yùn)算結(jié)果的符號與原數(shù)據(jù)符號相反時(shí),產(chǎn)生溢出;因?yàn)椋藭r(shí)的運(yùn)算結(jié)果顯然不正確產(chǎn)生溢出;因?yàn)椋藭r(shí)的運(yùn)算結(jié)果顯然不正確其他情況下,則不會(huì)產(chǎn)生溢出其他情況下,則不會(huì)產(chǎn)生溢出例例1:3AH7CHB6H溢出溢出例例2:AAH7CH無溢出無溢出例例3:3AH7CH無溢出無溢出例例4:AAH7CH2DH溢出溢出第第2章:溢出的判斷章:溢出的判斷第第2章:溢出的判斷章:溢出的判斷第第2章:溢出的判斷章:溢出的判斷第第2章:溢出的判斷章:溢出

24、的判斷第第2章:輔助進(jìn)位標(biāo)志章:輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)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)整指令中,用戶一般不必關(guān)心用戶一般不必關(guān)心第第2章:方向標(biāo)志章:方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:用于串操作指令中,控制地址的變化方向:設(shè)置設(shè)置DF0,存儲(chǔ)器地址自動(dòng)增加;,存儲(chǔ)器地址自

25、動(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第第2章:中斷允許標(biāo)志章:中斷允許標(biāo)志IF(Interrupt-enableFlag)控制可屏蔽中斷是否可以被處理器響應(yīng):控制可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置設(shè)置IF1,則允許中斷;,則允許中斷;設(shè)置設(shè)置IF0,則禁止中斷,則禁止中斷CLICLI指令復(fù)位中斷標(biāo)志:指令復(fù)位中斷標(biāo)志:IFIF0 0STISTI指令置位中斷標(biāo)志:指令置位中斷標(biāo)志:IFIF1 1第第2章:陷阱標(biāo)志章:陷阱標(biāo)志TF(TrapFlag

26、)用于控制處理器進(jìn)入單步操作方式:用于控制處理器進(jìn)入單步操作方式:設(shè)置設(shè)置TF0,處理器正常工作;,處理器正常工作;設(shè)置設(shè)置TF1,處理器,處理器單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令處理器在處理器在每條指令執(zhí)行結(jié)每條指令執(zhí)行結(jié)束束時(shí),便產(chǎn)生一個(gè)編號為時(shí),便產(chǎn)生一個(gè)編號為1 1的內(nèi)部中斷的內(nèi)部中斷這種內(nèi)部中斷稱為這種內(nèi)部中斷稱為單步中斷單步中斷所以所以TFTF也稱為也稱為單步標(biāo)志單步標(biāo)志n利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試?yán)脝尾街袛嗫蓪Τ绦蜻M(jìn)行逐條指令的調(diào)試n這種逐條指令調(diào)試程序的方法就是這種逐條指令調(diào)試程序的方法就是單步調(diào)試單步調(diào)試第第2章:章:3.段寄存器段寄存器8088有

27、有4個(gè)個(gè)16位段寄存器位段寄存器CS(代碼段)指明(代碼段)指明代碼段代碼段的起始地址的起始地址SS(堆棧段)指明(堆棧段)指明堆棧段堆棧段的起始地址的起始地址DS(數(shù)據(jù)段)指明(數(shù)據(jù)段)指明數(shù)據(jù)段數(shù)據(jù)段的起始地址的起始地址ES(附加段)指明(附加段)指明附加段附加段的起始地址的起始地址每個(gè)段寄存器用來確定一個(gè)邏輯段的起每個(gè)段寄存器用來確定一個(gè)邏輯段的起始地址,每種邏輯段均有各自的用途始地址,每種邏輯段均有各自的用途第第2章:代碼段寄存器章:代碼段寄存器CS(CodeSegment)代碼段用來存放程序的指令序列代碼段用來存放程序的指令序列代碼段寄存器代碼段寄存器CS存放代碼段的段地址存放代碼段

28、的段地址指令指針寄存器指令指針寄存器IP指示下條指令的偏移地址指示下條指令的偏移地址處理器利用處理器利用CS:IP取得下一條要執(zhí)行的指令取得下一條要執(zhí)行的指令第第2章:堆棧段寄存器章:堆棧段寄存器SS(StackSegment)堆棧段確定堆棧所在的主存區(qū)域堆棧段確定堆棧所在的主存區(qū)域堆棧段寄存器堆棧段寄存器SS存放堆棧段的段地址存放堆棧段的段地址堆棧指針寄存器堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂分甘径褩m數(shù)钠频刂诽幚砥骼锰幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)操作堆棧頂?shù)臄?shù)據(jù)第第2章:數(shù)據(jù)段寄存器章:數(shù)據(jù)段寄存器DS(DataSegment)數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù)數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址存放數(shù)據(jù)段的段地址各種主存尋址方式(有效地址各種主存尋址方式(有效地址EA)得到存儲(chǔ)器)得到存儲(chǔ)器中操作數(shù)的偏移地址中操作數(shù)的偏移地址處理器利用處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)存取數(shù)據(jù)段中的數(shù)據(jù)第第2章:附加段寄存器章:附加段寄存器ES(ExtraSegment)附加段是附加的數(shù)據(jù)段,也保存數(shù)據(jù):附加段是附加的數(shù)據(jù)段,也保存數(shù)據(jù):附加段寄存器附加段寄存器ES存放附加段的段地址存放附加段的段地址各種主存尋址方式(有效地址各種主存尋址方式(有效地址EA)得到存儲(chǔ)器)得到存儲(chǔ)器中操作數(shù)的偏移地址中操作數(shù)的偏移地址處

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論