微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)_第1頁
微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)_第2頁
微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)_第3頁
微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)_第4頁
微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微型計(jì)算機(jī)原理及應(yīng)用知識點(diǎn)總結(jié)第一章 計(jì)算機(jī)系統(tǒng)一、微機(jī)系統(tǒng)的基本組成1.微型計(jì)算機(jī)系統(tǒng)由硬件和軟件兩個(gè)部分組成。(1)硬件:馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)的五個(gè)組成部分:運(yùn)算器,控制器,存儲器,輸入設(shè)備,輸入設(shè)備。其特點(diǎn)是以運(yùn)算器為中心?,F(xiàn)代主流的微機(jī)是由馮諾依曼型改進(jìn)的,以存儲器為中心。馮諾依曼計(jì)算機(jī)基本特點(diǎn):核心思想:存儲程序;基本部件:五大部件;信息存儲方式:二進(jìn)制;命令方式:操作碼(功能)+地址碼(地址),統(tǒng)稱機(jī)器指令;工作方式:按地址順序自動(dòng)執(zhí)行指令。(2)軟件:系統(tǒng)軟件:操作系統(tǒng)、數(shù)據(jù)庫、編譯軟件 應(yīng)用軟件:文字處理、信息管理(MIS)、控制軟件二、系統(tǒng)結(jié)構(gòu)系統(tǒng)總線可分為3類:數(shù)據(jù)總線D

2、B(Data Bus),地址總線AB(Address Bus),控制總線CB(Control Bus)。根據(jù)總線結(jié)構(gòu)組織方式不同,可分為單總線、雙總線和雙重總線3類??偩€特點(diǎn):連接或擴(kuò)展非常靈活,有更大的靈活性和更好的可擴(kuò)展性。三、工作過程微機(jī)的工作過程就是程序的執(zhí)行過程,即不斷地從存儲器中取出指令,然后執(zhí)行指令的過程。例:讓計(jì)算機(jī)實(shí)現(xiàn)以下任務(wù):計(jì)算100100H?并將結(jié)果保存在16920H的字單元內(nèi)。編程運(yùn)行條件:CS=1000H,IP=100H,DS=1492H將機(jī)器指令裝入計(jì)算機(jī)的存儲器計(jì)算機(jī)自動(dòng)地進(jìn)行計(jì)算(執(zhí)行)計(jì)算機(jī)工作過程大致描述:(1)分別從CS和IP寄存器中取出1000和100

3、經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第一條匯編指令的第一個(gè)機(jī)器指令為B8,對應(yīng)的地址為10100H;將B8取出,通過總線和指令隊(duì)列到達(dá)執(zhí)行部分電路控制,給CPU發(fā)出信號。(2)IP具有自動(dòng)加1功能,所以,此時(shí),分別從CS和IP寄存器中取出1000和101經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第一條匯編指令的第二個(gè)機(jī)器指令為64,對應(yīng)的地址為10101H;將64取出,通過總線和指令隊(duì)列,將該機(jī)器指令存入寄存器AL中;(3)分別從CS和IP寄存器中取出1000和102經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第一條匯編指令的第三個(gè)機(jī)器指令為

4、00,對應(yīng)的地址為10102H;將00取出,通過總線和指令隊(duì)列,將該機(jī)器指令存入寄存器AH中;(4)分別從CS和IP寄存器中取出1000和103經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第二條匯編指令的第一個(gè)機(jī)器指令為05,對應(yīng)的地址為10103H;將05取出,通過總線和指令隊(duì)列到達(dá)執(zhí)行部分電路控制,給CPU發(fā)出信號,此時(shí),從寄存器AX中取出第一條匯編指令的數(shù)據(jù)放入ALU中;(5)分別從CS和IP寄存器中取出1000和104經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第二條匯編指令的第二個(gè)機(jī)器指令為00,對應(yīng)的地址為10104H;將00取出,通過總線和指令隊(duì)列,將

5、該機(jī)器指令放入ALU中;(6)分別從CS和IP寄存器中取出1000和105經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第二條匯編指令的第三個(gè)機(jī)器指令為01,對應(yīng)的地址為10105H;將01取出,通過總線和指令隊(duì)列,將該機(jī)器指令放入ALU中,此時(shí),在ALU中自動(dòng)計(jì)算求和,并將結(jié)果放回寄存器AX中。(7)分別從CS和IP寄存器中取出1000和106經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第三條匯編指令的第一個(gè)機(jī)器指令為A3,對應(yīng)的地址為10106H;將A3取出,通過總線和指令隊(duì)列到達(dá)執(zhí)行部分電路控制,給CPU發(fā)出信號,此時(shí),將AX寄存器中的數(shù)據(jù)取出,通過內(nèi)部寄存器,

6、放入總線控制里。(8)分別從CS和IP寄存器中取出1000和107經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第三條匯編指令的第二個(gè)機(jī)器指令為00,對應(yīng)的地址為10107H;將00取出,通過總線和指令隊(duì)列放入內(nèi)部寄存器。(9)分別從CS和IP寄存器中取出1000和107經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)地址的機(jī)器指令,第三條匯編指令的第三個(gè)機(jī)器指令為20,對應(yīng)的地址為10108H;將20取出,通過總線和指令隊(duì)列放入內(nèi)部寄存器。(10)分別從DS和內(nèi)部寄存器中取出1492和2000經(jīng)地址加法器運(yùn)算后,通過總線控制,找到對應(yīng)的地址16920H,將已計(jì)算的結(jié)果64放入該地址,由

7、于結(jié)果占兩個(gè)字節(jié),所以將01放入地址16921H中。計(jì)算結(jié)果為0164H。第二章 計(jì)算機(jī)的編碼信息=命令+被處理對象(數(shù)據(jù))命令=機(jī)器指令 匯編指令被處理對象=數(shù)+文(字符、漢字、圖形)一、計(jì)算機(jī)的數(shù)制二進(jìn)制數(shù):逢二進(jìn)一,符號B,機(jī)器使用(0:低電平,1:高電平)八進(jìn)制數(shù):逢八進(jìn)一,符號Q十進(jìn)制數(shù):逢十進(jìn)一,符號D十六進(jìn)制數(shù):逢十六進(jìn)一,符號H數(shù)制轉(zhuǎn)換:位權(quán):十進(jìn)制:10n ,二進(jìn)制:2n ,八進(jìn)制:8n ,十六進(jìn)制:16n 。八進(jìn)制以0開頭,十六進(jìn)制以0x開頭二、計(jì)算機(jī)的信息編碼1.BCD編碼(8421碼):將十進(jìn)制數(shù)的每一位數(shù)字直接用等值4位二進(jìn)制數(shù)表示。十進(jìn)制整數(shù)256用BCD碼表示,則

8、為(0010 0101 0110)BCD2. 二進(jìn)制數(shù)的算術(shù)運(yùn)算:加、減、乘、除二進(jìn)制加法的運(yùn)算規(guī)則:(1)000(2)011(3)110 進(jìn)位1(4)1111 進(jìn)位1二進(jìn)制減法的運(yùn)算規(guī)則:(1)000(2)110(3)101(4)011 借位1二進(jìn)制乘法的運(yùn)算規(guī)則:(1)000(2)010(3)100(4)1113. 二進(jìn)制數(shù)的邏輯運(yùn)算3種基本運(yùn)算:邏輯加法(或運(yùn)算)、 邏輯乘法(與運(yùn)算)和邏輯否定(非運(yùn)算)與運(yùn)算規(guī)則為: 010或010或010 讀成0與1等于0 100或100或100 讀成1與0等于0 111或111或111 讀成1與1等于1或運(yùn)算規(guī)則為 000或者000 讀成0或0等于

9、0 011或者011 讀成0或1等于1 101或者101 讀成1或0等于1 111或者111 讀成1或1等于1非運(yùn)算運(yùn)算規(guī)則為:讀成非0等于1 讀成非1等于0異或運(yùn)算規(guī)則為 000 讀成0同0異或,結(jié)果為0 011 讀成0同1異或,結(jié)果為1 101 讀成1同0異或,結(jié)果為1110 讀成1同1異或,結(jié)果為04. 機(jī)器數(shù)的種類和表示方法在機(jī)器中表示帶符號的數(shù)有3種表示方法:原碼、反碼和補(bǔ)碼。所謂數(shù)的原碼表示,即符號位用0表示正數(shù),而用1表示負(fù)數(shù),其余數(shù)字位表示數(shù)值本身。 正數(shù)的反碼表示與其原碼相同,即符號位用“0”表示正,數(shù)字位為數(shù)值本身。負(fù)數(shù)的反碼是將它的正數(shù)按位(包括符號位在內(nèi))取反而形成的。

10、正數(shù)的補(bǔ)碼與其原碼相同,即符號位用“0”表正,其余數(shù)字位表示數(shù)值本身。 負(fù)數(shù)的補(bǔ)碼表示為它的反碼加1(即在其低位加1)。 8位二進(jìn)制反碼能表示的數(shù)值范圍為127D127D。8位二進(jìn)制補(bǔ)碼所能表示的數(shù)值為127128。三、計(jì)算機(jī)的指令編碼(見第四章 計(jì)算機(jī)指令系統(tǒng))第三章計(jì)算機(jī)主機(jī)結(jié)構(gòu)一、80868088微處理器8086微處理器的內(nèi)部結(jié)構(gòu):從功能上講,由兩個(gè)獨(dú)立邏輯單元組成,即執(zhí)行單元EU和總線接口單元BIU。執(zhí)行單元EU包括:4個(gè)通用寄存器(AX,BX,CX,DX,每個(gè)都是16位,又可拆位,拆成2個(gè)8位)4個(gè)16位指針與變址寄存器(BP,SP,SI,DI)16位標(biāo)志寄存器FLAG(6個(gè)狀態(tài)標(biāo)志

11、和3個(gè)控制標(biāo)志)16位算術(shù)邏輯單元(ALU)數(shù)據(jù)暫存寄存器EU功能:從BIU取指令并執(zhí)行指令;計(jì)算偏移量??偩€接口單元BIU包括:4個(gè)16位段寄存器(CS(代碼段寄存器)、DS(數(shù)據(jù)段寄存器)、SS(堆棧段寄存器)和ES(附加段寄存器))16位指令指針寄存器IP(程序計(jì)數(shù)器)20位地址加法器和總線控制電路6字節(jié)(8088位4字節(jié))的指令緩沖隊(duì)列BIU功能:形成20位物理地址;從存儲器中取指令和數(shù)據(jù)并暫存到指令隊(duì)列寄存器中。3、執(zhí)行部件EU和總線接口部件BIU的總體功能:提高了CUP的執(zhí)行速度;降低對存儲器的存取速度的要求。4、地址加法器河段寄存器由IP提供或由EU按尋址方式計(jì)算出尋址單元的16

12、位偏移地址(又稱為邏輯地址或簡稱為偏移量),將它與左移4位后的段寄存器的內(nèi)容同時(shí)送到地址加法器進(jìn)行相加,最后形成一個(gè)20位的實(shí)際地址(又稱為物理地址),以對應(yīng)存儲單元尋址。要形成某指令碼的物理地址(即實(shí)際地址),就將IP的值與代碼段寄存器CS(Code Segment)左移4位后的內(nèi)容相加?!纠?.1】假設(shè)CS4000H,IP0300H,則指令的物理地址PA4000H10H0300H40300H。邏輯地址=4000H: 0300H?!岸渭悠啤钡膶ぶ窓C(jī)制:物理地址=段基地址(又稱段起始地址=段地址10H)+偏移地址邏輯地址:其表達(dá)形式為“段地址:段內(nèi)偏移地址”。二、8086/8088CPU內(nèi)部

13、寄存器設(shè)置段寄存器原因:8086/8088系統(tǒng)中,需要用20位物理地址訪問1MB的存儲空間,但是8086/8088CPU的每個(gè)地址寄存器都只是16位,因而采用分段存儲結(jié)構(gòu),每個(gè)邏輯段的最長度為64KB。80868088的內(nèi)部寄存器編程結(jié)構(gòu)共有13個(gè)16位寄存器和1個(gè)只用了9位的標(biāo)志寄存器。 80868088的16位標(biāo)志寄存器F只用了其中的9位作標(biāo)志位,即6個(gè)狀態(tài)標(biāo)志位,3個(gè)控制標(biāo)志位。6個(gè)狀態(tài)標(biāo)志位:CF(Carry Flag)進(jìn)位標(biāo)志:進(jìn)位或借位時(shí),則CF為1;否則為0。PF(Parity Flag)奇偶性標(biāo)志:含有偶數(shù)個(gè)“1”時(shí),則PF為1;否則為0。AF(Auxiliary Carry

14、Flag)輔助進(jìn)位標(biāo)志:ZF(Zero Flag)零標(biāo)志:運(yùn)算結(jié)果為零,ZF為1;否則為0。SF(Sign Flag)符號標(biāo)志:OF(Overflow Flag)溢出標(biāo)志:3個(gè)控制標(biāo)志位(程序設(shè)置(1),清除(0):DF(Direction Flag)方向標(biāo)志IF(Interrupt Enable Flag)中斷允許標(biāo)志TF(Trap Flag)跟蹤(陷阱)標(biāo)志三、總線周期1、時(shí)鐘周期:時(shí)鐘脈沖信號的一個(gè)循環(huán)時(shí)間叫一個(gè)時(shí)鐘周期,又稱為一個(gè)“T”狀態(tài),是微處理器工作的最小時(shí)間單位2、總線周期(基準(zhǔn)時(shí)間):完成一次對存儲器或I/O端口的操作所需要的時(shí)間。3、指令周期:執(zhí)行一條指令所需要的時(shí)間。1個(gè)

15、最基本的總線周期由4個(gè)時(shí)鐘周期組成,4個(gè)時(shí)鐘周期又稱為4個(gè)狀態(tài),。四、8086/8088引腳地址數(shù)據(jù)總線AD15AD0:分時(shí)復(fù)用地址/狀態(tài)總線:A19/S6A16/S3:控制總線:BHE/S7:表示高8位數(shù)據(jù)有效,T1輸出。RD:存儲器或I/O口讀信號,輸出,低電平有效,T2T3有效。READY:準(zhǔn)備就緒信號,輸入,高電平有效。READY1時(shí),表示CPU訪問的存儲器或I/O端口已準(zhǔn)備好傳送數(shù)據(jù),馬上可以進(jìn)行讀寫操作。TEST:測試信號,輸入,低電平有效。INTR:可屏蔽中斷請求信號,輸入,電平觸發(fā),高電平有效。 CPU每執(zhí)行完一條指令,即檢查INTR,為“1”表示有中斷清求,為“0”,則沒有。

16、是否響應(yīng)受標(biāo)志寄存器中IF的控制 NMI:不可屏蔽中斷請求信號,輸入,上升沿觸發(fā)。RESET:復(fù)位信號,輸入,高電平有效。CPU復(fù)位后,從FFFF0H單元開始讀取指令。電源線和地線: VCC,GND 五、8086系統(tǒng)的最小/最大工作方式最小工作方式: INTA:中斷響應(yīng)信號,輸出,低電平有效。 ALE:地址鎖存允許信號,輸出,高電平有效。 DEN:數(shù)據(jù)允許信號,三態(tài)輸出,低電平有效。 DT/R:數(shù)據(jù)發(fā)送/接收控制信號,三態(tài)輸出。 M/IO:存儲器或I/O端口選擇信號,三態(tài)輸出。M/IO1,表示當(dāng)前CPU正在訪問存儲器;M/IO0,表示當(dāng)前CPU正在訪問I/O端口。 WR:寫信號,三態(tài)、輸出。當(dāng)

17、WR0低電平有效時(shí),表示當(dāng)前CPU正在對存儲器或I/O端口進(jìn)行寫操作。 HOLD:總線保持請求信號,輸入,高電平有效。 HLDA:總線請求響應(yīng)信號,輸出,高電平有效。最大工作方式:在最大方式系統(tǒng)中,外加有8288總線控制器,一般包含2個(gè)或多個(gè)處理器。8282:地址鎖存器,8286:數(shù)據(jù)收發(fā)器第四章 計(jì)算機(jī)指令系統(tǒng)一、計(jì)算機(jī)指令編碼8086與8088的指令系統(tǒng)完全相同,主要特點(diǎn):(1) 采用可變長指令,機(jī)器指令格式由16字節(jié)組成,比較復(fù)雜,最短8位,最長48位。(2) 尋址方式多樣靈活,處理數(shù)據(jù)的能力比較強(qiáng),可處理字節(jié)或字、帶符號或無符號的二進(jìn)制數(shù)據(jù)以及壓縮型/非壓縮型的十進(jìn)制數(shù)據(jù)。(3) 有重

18、復(fù)指令和乘、除運(yùn)算指令。擴(kuò)充了條件轉(zhuǎn)移、移位循環(huán)指令。(4) 為加強(qiáng)軟件中斷功能和支持多處理器系統(tǒng)的工作,增設(shè)了有關(guān)的指令。1.指令的編碼指令:直接控制電路實(shí)現(xiàn)特定功能的信息。機(jī)器指令:面向機(jī)器,0和1表示機(jī)器是否可接受并執(zhí)行指令。匯編指令:面向人,符號表示,必須翻譯才能執(zhí)行。匯編指令的格式:一般格式:操作碼 操作數(shù)具體格式:標(biāo)號:操作碼(空格分隔符)目的操作數(shù)(存放結(jié)果),(逗號分隔符)源操作數(shù);注釋一條指令可以無操作數(shù),必須有操作碼,不同的機(jī)器,操作數(shù)個(gè)數(shù)不同。2.機(jī)器指令主體的編碼(1)機(jī)器指令的主體格式(2)B1字節(jié)編碼決定指令的功能:OP指令操作碼,決定指令操作的基本功能(傳送、加法

19、、減法等)。決定操作數(shù)傳送方向:D:D=1,REG字段所確定的寄存器操作數(shù)為目標(biāo);D=0,為源。決定操作數(shù)類型(長度):W:W=1為字(16位),W=0,為字節(jié)(8位)。(3)B2字節(jié)編碼決定尋址方式REG:寄存器操作數(shù)地址編碼。MOD和R/M:另一操作數(shù)地址的編碼。3.匯編指令與機(jī)器指令的關(guān)系(1)MOV BYTE PTRBX+5678H,23H將5678H拆成兩部分:56,78(2)MOV BYTE PTRBX+78H,23H4.操作數(shù)類型按物理位置分(有存儲功能的地方):寄存器操作數(shù),存儲器操作數(shù),I/O端口操作數(shù)。5.計(jì)算機(jī)尋址概念指令的尋址=CS:IP(不用表示,固定的)二、指令掌握

20、要點(diǎn)1.指令功能:產(chǎn)生的狀態(tài)狀態(tài)標(biāo)志位是否受影響,以及如何影響。2.指令格式:符號,分隔符,說明符號。3.操作數(shù)尋址方式4.操作數(shù)數(shù)據(jù)類型:字節(jié)、字型、雙字型.5.使用規(guī)則:非法使用規(guī)則,指令約定設(shè)置,要求與之的參數(shù),隱含使用的寄存器等。三、8086指令尋址方式1.操作數(shù)尋址方式操作數(shù)位置在指令中的表達(dá)方式,以及尋找實(shí)現(xiàn)方式。2.尋址方式分類固定尋址(隱含尋址):操作數(shù)位置固定(寄存器或存儲器),在指令中不表示。立即數(shù)尋址:直接寫在指令上的數(shù)據(jù),在存儲器的程序(代碼)段中。寄存器尋址:操作數(shù)放在寄存器中,源/目的操作數(shù)都可。存儲器尋址:對存儲器操作數(shù)而言I/O端口尋址數(shù)據(jù)串尋址(串操作指令尋址

21、)轉(zhuǎn)移尋址3.存儲器尋址的劃分存儲器地址=物理地址=段地址*10H+偏移地址操作數(shù)的偏移地址=有效地址(EA)=基址值(BX/BP)+變址值(SI/DI)+偏移量(0/8/16)(1)直接尋址方式:位移量=有效地址(2)寄存器間接尋址方式:有效地址(EA)=基址值(BX/BP)+變址值(SI/DI)+偏移量(0/8/16)(3)基址尋址方式:有效地址(EA)=基址值(BX/BP)+偏移量(0/8/16)(4)變址尋址方式:有效地址(EA)=變址值(SI/DI)+偏移量(0/8/16)(5)基址加變址尋址方式:有效地址(EA)=基址值(BX/BP)+變址值(SI/DI)+偏移量(0/8/16)(

22、6)寄存器相對間接尋址:(7)相對基址加變址尋址:操作數(shù)的默認(rèn)段為SS設(shè)DS1200H,BX05A6H,SS5000H,BP40A0H,SI2000H,DI3000H,位移量DISP1618H,試判斷下列指令的尋址方式,并求出在各種尋址方式下,這些寄存器與位移量所產(chǎn)生的有效地址EA和實(shí)際地址(物理地址)PA。說明指令執(zhí)行的結(jié)果。 MOV AX,0618H這是一條直接尋址方式的指令。EA0618HPA12000H+0618H12618H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的實(shí)際地址為12618H和12619H兩單元中的內(nèi)容取出送AX。 MOV AX,BX這是一條以數(shù)據(jù)段基址寄存器BX間接尋址的指令。EA0

23、5A6HPA12000H+05A6H125A6H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的125A6H和125A7H兩單元的字內(nèi)容取出送AX。 MOV AX,BP這是一條以堆棧段基址寄存器BP間接尋址的指令。由于尋址時(shí)用上了BP寄存器,則操作數(shù)所默認(rèn)的段寄存器就是SS。EA40A0HPA50000H+40A0H540A0H該指令執(zhí)行的結(jié)果是將堆棧段的540A0H和540A1H兩單元的字內(nèi)容取出送AX。 MOV AX,DI這是一條變址尋址的指令。EA3000HPA12000H+3000H15000H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的15000H和15001H兩單元的字內(nèi)容取出送AX。 MOV AX,BX+DI這是一

24、條基址加變址尋址的指令。EA05A6H+3000H35A6HPA12000H+35A6H155A6H該指令執(zhí)行的結(jié)果是將數(shù)據(jù)段的155A6H和155A7H兩單元的字內(nèi)容取出送AX。 MOV AX,BP+SI+DISP這是一條帶位移量的基址加變址尋址的指令,又叫相對基址加變址尋址的指令,且操作數(shù)的默認(rèn)段為SS。EA40A0H+2000H+1618H76B8HPA50000H+76B8H576B8H該指令執(zhí)行的結(jié)果是將堆棧段的576B8H和576B9H兩單元的字內(nèi)容取出送AX。4.I/O端口尋址尋址空間:64KB;用于輸入指令I(lǐng)N,輸出指令OUT中。尋址方式分別為:直接端口尋址:端口地址為8位(地

25、址=255),端口地址直接寫在指令上。間接端口尋址:端口地址為16位(地址SI,目的序數(shù)DI。串操作指令使用的是隱含尋址方式,有自動(dòng)處理功能,在重復(fù)串操作時(shí),8086/8088能自動(dòng)修改SI和DI的內(nèi)容。6.轉(zhuǎn)移尋址用于控制轉(zhuǎn)移類指令。實(shí)質(zhì):控制轉(zhuǎn)移類指令通過改變IP和CS值,從新位置開始執(zhí)行指令。轉(zhuǎn)移尋址分成2種類型:段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移。條件轉(zhuǎn)移指令只允許實(shí)現(xiàn)段內(nèi)轉(zhuǎn)移,而且是段內(nèi)短轉(zhuǎn)移,由指令中直接給出8位地址位移量無條件轉(zhuǎn)移和調(diào)用指令又可分為段內(nèi)短轉(zhuǎn)移、段內(nèi)直接轉(zhuǎn)移、段內(nèi)間接轉(zhuǎn)移、段間直接轉(zhuǎn)移和段間間接轉(zhuǎn)移等5種不同的尋址方式。段間轉(zhuǎn)移=遠(yuǎn)轉(zhuǎn)移。四、指令分類8086/8088的指令按功能可

26、分為6類:數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、串操作、程序控制和CPU控制。1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令可完成寄存器與寄存器之間、寄存器與存儲器之間、寄存器與I/O端口之間的字節(jié)或字傳送,共同特點(diǎn)是不影響標(biāo)志寄存器的內(nèi)容,分成4種類型。(1通用數(shù)據(jù)傳送指令(1)MOV d,s;ds,即將由源s指定的源操作數(shù)送到目標(biāo)d源操作數(shù)(s)可以是8/16位寄存器、存儲器的某個(gè)字節(jié)/字或者是8/16位立即數(shù);目標(biāo)操作數(shù)(d)不允許為立即數(shù);兩者不能同時(shí)為存儲器操作數(shù)?;緜魉椭噶頜OV d,s的類型有以下7種。 MOV mem/reg1,mem/reg2由mem/reg2所指定的存儲單元或寄存器中的8位數(shù)據(jù)

27、或16位數(shù)據(jù)傳送到由mem/reg1所指定的存儲單元或寄存器中,但不允許從存儲器傳送到存儲器。 MOV mem/reg,data 將8位或16位立即數(shù)data傳送到由mem/reg所指定的存儲單元或寄存器中。 MOV reg,data 將8位或16位立即數(shù)data傳送到由reg所指定的寄存器中。 MOV ac,mem 將存儲單元中的8位或16位數(shù)據(jù)傳送到累加器ac中。 MOV mem,ac 將累加器AL(8位)或AX(16位)中的數(shù)據(jù)傳送到由mem所指定的存儲單元中。使用MOV指令時(shí)要注意的問題:CS不能做目的操作數(shù)不能直接從存儲器到存儲器之間數(shù)據(jù)傳送2條偽指令:WORD PTR表示字?jǐn)?shù)據(jù)類型

28、BYTE PTR表示字節(jié)數(shù)據(jù)類型(2)PUSH和POPPUSH s:將源操作數(shù)(16位)壓入堆棧POP d:將堆棧中當(dāng)前棧頂兩相鄰單元的數(shù)據(jù)字彈出到d 壓棧指令PUSH AX:將AX(16位)中的數(shù)據(jù)壓入棧,AX是源操作數(shù),棧頂是目的操作數(shù),由(SS:SP)指向。出棧指令POP AX:將棧頂信息彈出到AX中,AX是目的操作數(shù),棧頂是源操作數(shù),由(SS:SP)指向。設(shè)當(dāng)前CS1000H,IP0020H,SS1600H,SP004CH,則該指令執(zhí)行時(shí),將當(dāng)前棧頂兩相鄰單元1604CH與1604DH中的數(shù)據(jù)字彈出并傳送到CX中,同時(shí)修改堆棧指針,SP+2SP,使之指向新棧頂1604EH。堆棧是內(nèi)存中

29、開辟的一個(gè)段,存放需要保護(hù)的信息(數(shù)據(jù)、地址)。堆棧操作時(shí)應(yīng)遵循的5點(diǎn)原則:堆棧的存取操作每次必須是一個(gè)字(即2個(gè)字節(jié))。執(zhí)行壓棧指令時(shí),總是從高位地址向低位地址存放數(shù)據(jù),而不象內(nèi)存中的其他段,總是從低地址向高地址存放;執(zhí)行出棧指令時(shí),從堆棧中彈出數(shù)據(jù)則正好相反。堆棧段在內(nèi)存中的物理地址由SS和SP或SS和BP決定,其中,SS是堆棧段寄存器,它是棧區(qū)的最低地址,稱為堆棧的段地址;SP是進(jìn)?;虺鰲V噶铍[含的堆棧地址指針,它的起始值是堆棧應(yīng)達(dá)到的最大偏移量,即指向棧頂?shù)刂?。堆棧段的范圍是SS16至SS16+SP的起始值。每執(zhí)行一次壓棧指令,則SP-2,推入堆棧的數(shù)據(jù)放在棧頂;而每執(zhí)行一次彈出指令時(shí)

30、,則SP+2。BP寄存器用于對堆棧中的數(shù)據(jù)塊進(jìn)行隨機(jī)存取,例如,MOV AX,BPSI指令執(zhí)行后,將把偏移量為BP+SI的存儲單元的內(nèi)容裝入AX。堆棧指令中的操作數(shù)只能是寄存器或存儲器操作數(shù),而不能是立即數(shù)。對CS段寄存器可以使用壓棧指令PUSH CX,但卻不能使用POP CS這種無效指令。(3)XCHG d,s該指令功能是將源操作數(shù)與目標(biāo)操作數(shù)(字節(jié)或字)相互對應(yīng)交換位置。交換可以在通用寄存器與累加器之間、通用寄存器之間、通用寄存器與存儲器之間進(jìn)行。但不能在兩個(gè)存儲單元之間交換,段寄存器與IP也不能作為一個(gè)源或目的操作數(shù)。(4)XLAT這是一條用于實(shí)現(xiàn)字節(jié)翻譯功能的指令,又稱為代碼轉(zhuǎn)換指令。

31、具體地說,它可以將AL寄存器中設(shè)定的一個(gè)字節(jié)數(shù)值變換為內(nèi)存一段連續(xù)表格中的另一個(gè)相應(yīng)的代碼,以實(shí)現(xiàn)編碼制的轉(zhuǎn)換。2)目標(biāo)地址傳送指令專用于傳送地址碼的指令,可傳送存儲器的邏輯地址(即存儲器操作數(shù)的段地址或偏移地址)至指定寄存器中,共包含3條指令:LEA、LDS和LES。(1) LEA d,s取有效地址指令。功能:把用于指定源操作數(shù)(它必須是存儲器操作數(shù))的16位偏移地址(即有效地址)傳送到一個(gè)指定的16位通用寄存器中。(2) LDS d,s取某變量的32位地址指針指令。功能:從由指令的源s所指定的存儲單元開始,由4個(gè)連續(xù)存儲單元中取出某變量的地址指針(共4個(gè)字節(jié)),將其前兩個(gè)字節(jié)(即變量的偏移

32、地址)傳送到由指令的目標(biāo)d所指定的某16位通用寄存器,后兩字節(jié)(即變量的段地址)傳送到DS段寄存器中。 (3) LES d,s這條指令與LDS d,s指令的操作基本相同,其區(qū)別僅在于將把由源所指定的某變量的地址指針中后2個(gè)字節(jié)(段地址)傳送到ES段寄存器,而不是DS段寄存器。3)標(biāo)志位傳送指令用于傳送標(biāo)志位,共有4條。(1) LAHF指令功能:將標(biāo)志寄存器F的低字節(jié)(共包含5個(gè)狀態(tài)標(biāo)志位)傳送到AH寄存器中,雙操作數(shù),固定尋址,所以被隱藏。(2)SAHF指令功能:將AH寄存器內(nèi)容傳送到標(biāo)志寄存器F的低字節(jié)。(3)PUSHF指令功能:將16位標(biāo)志寄存器F內(nèi)容入棧保護(hù)。其操作過程與前述的PUSH指

33、令類似。(4)POPF指令功能:將當(dāng)前棧頂和次棧頂中的數(shù)據(jù)字彈出送回到標(biāo)志寄存器F中。4)I/O數(shù)據(jù)傳送指令(1)IN累加器,端口號端口號可以用8位立即數(shù)直接給出;也可以將端口號事先安排在DX寄存器中,間接尋址16位長端口號(可尋址的端口號為065535)。IN指令是將指定端口中的內(nèi)容輸入到累加器AL/AX中。(2)OUT 端口號,累加器與IN指令相同,端口號可以由8位立即數(shù)給出,也可由DX寄存器間接給出。OUT指令是將累加器AL/AX中的內(nèi)容輸出到指定的端口。 OUT PORT,AL ;端口PORTAL,即將AL中的字節(jié)內(nèi)容輸出到由PORT直接指定的端口。PORT:符號地址,表示端口直接地址

34、。 OUT DX,AX ;端口(DX)AX,即將AX中的字內(nèi)容輸出到由DX所指定的端口。I/O指令只能用累加器作為執(zhí)行I/O數(shù)據(jù)傳送的機(jī)構(gòu),直接尋址范圍為0255,尋址大于255的端口地址時(shí),必須用間接尋址的I/O指令。例如,在IBM PC/XT微機(jī)系統(tǒng)中,既用了0255范圍的端口地址,也用了25565535范圍的端口地址。2.算術(shù)運(yùn)算指令1)加法指令(1) ADD d,s ;dd+s 指令功能:將源操作數(shù)與目標(biāo)操作數(shù)相加,結(jié)果保留在目標(biāo)中。并根據(jù)結(jié)果置標(biāo)志位。源操作數(shù)可以是8/16位通用寄存器、存儲器操作數(shù)或立即數(shù);目標(biāo)操作數(shù)不允許是立即數(shù),其他同源操作數(shù)。且不允許兩者同時(shí)為存儲器操作數(shù)。(

35、2)ADC d,s;dd+s+CF 帶進(jìn)位加法(ADC)指令的操作過程與ADD指令基本相同,惟一的不同是進(jìn)位標(biāo)志位CF的原狀態(tài)也將一起參與加法運(yùn)算,待運(yùn)算結(jié)束,CF將重新根據(jù)結(jié)果置成新的狀態(tài)。ADC指令一般用于16位以上的多字節(jié)數(shù)字相加的軟件中。(3)INC d;dd+1指令功能:將目標(biāo)操作數(shù)當(dāng)作無符號數(shù),完成加1操作后,結(jié)果仍保留在目標(biāo)中。 目標(biāo)操作數(shù)可以是8/16位通用寄存器或存儲器操作數(shù),但不允許是立即數(shù)。2)減法指令(1)SUB d,s;dd-s指令功能:將目標(biāo)操作數(shù)減去源操作數(shù),其結(jié)果送回目標(biāo),并根據(jù)運(yùn)算結(jié)果置標(biāo)志位。(2)SBB d,s;dd-s-CF本指令與SUB指令的功能、執(zhí)行

36、過程基本相同,唯一不同的是完成減法運(yùn)算時(shí)還要再減去進(jìn)位標(biāo)志CF的原狀態(tài)。運(yùn)算結(jié)束時(shí),CF將被置成新狀態(tài)。(3)DEC d; dd-1減1指令功能:將目標(biāo)操作數(shù)的內(nèi)容減1后送回目標(biāo)。目標(biāo)操作數(shù)可以是8/16位通用寄存器和存儲器操作數(shù),但不允許是立即數(shù)。(4)NEG d; dd+1NEG是求補(bǔ)碼的指令,簡稱求補(bǔ)指令。指令功能:將目標(biāo)操作數(shù)取負(fù)后送回目標(biāo)。(5)CMP d,s;d-s,只置標(biāo)志位指令功能:將目標(biāo)操作數(shù)與源操作數(shù)相減但不送回結(jié)果,只根據(jù)運(yùn)算結(jié)果置標(biāo)志位。不允許兩個(gè)操作數(shù)同時(shí)為存儲器操作數(shù),也不允許做段寄存器比較。3)乘法指令乘法指令用來實(shí)現(xiàn)兩個(gè)二進(jìn)制操作數(shù)的相乘運(yùn)算,包括兩條指令:無符

37、號數(shù)乘法指令MUL和有符號數(shù)乘法指令I(lǐng)MUL。(1) MUL sMUL s是無符號乘法指令,被乘數(shù)(目的操作數(shù))隱含在累加器AL/AX中;由s指定的源操作數(shù)作乘數(shù),相乘所得雙倍位長的積,分別存放到DX與AX中。(2)IMUL s有符號乘法指令4)除法指令除數(shù)、商:8位,被除數(shù)可以是16位,目的操作數(shù)被隱含。(1) DIV sDIV s 被除數(shù)隱含在累加器AX(字節(jié)除)或DX、AX(字除)中。指令中由s給出的源操作數(shù)作除數(shù)。字節(jié)除法,商存于AL,余數(shù)存于AH。字除法,商存于AX,余數(shù)存于DX。(2) IDIV s該指令完成將兩個(gè)帶符號的二進(jìn)制數(shù)相除的功能。(3) CBW和CWD5)十進(jìn)制調(diào)整指令

38、(1) DAADAA是加法的十進(jìn)制調(diào)整指令,它必須跟在ADD或ADC指令之后使用。功能:將存于AL(目的操作數(shù))寄存器中的2位BCD碼加法運(yùn)算的結(jié)果調(diào)整為2位壓縮型十進(jìn)制數(shù),仍保留在AL中。AL寄存器中的運(yùn)算結(jié)果在出現(xiàn)非法碼(1010B1111B)或本位向高位(指BCD碼)有進(jìn)位(由AF=1或CF=1表示低位向高位或高位向更高位有進(jìn)位)時(shí),由DAA自動(dòng)進(jìn)行加6調(diào)整。AF標(biāo)志寄存器可知進(jìn)位。(2) DAS減法的十進(jìn)制調(diào)整指令,減6調(diào)整(3) AAA加法的ASCII碼調(diào)整指令(4) AAS減法的ASCII碼調(diào)整指令(5) AAM乘法的ASCII碼調(diào)整指令(6)AAD除法的ASCII碼調(diào)整指令。3.

39、邏輯運(yùn)算和移位循環(huán)類指令:分為3種類型:邏輯運(yùn)算;移位;循環(huán)1)邏輯運(yùn)算指令(1)AND d,s;dds,按位“與”操作,有一個(gè)是0,結(jié)果是0。(2) OR d,s;dds,按位“或”操作,有一個(gè)是1,結(jié)果是1。(3) XOR d,s;dd s,按位“異或”操作,不同,相同0。(4) NOT d;d d ,按位取反操作。 (5) TEST d,s;ds,按位“與”操作,不送回結(jié)果,測試指令,影響標(biāo)志位。2)移位指令與循環(huán)移位指令移位指令分為算術(shù)移位和邏輯移位。循環(huán)移位分為不帶進(jìn)位位(小循環(huán))與帶進(jìn)位位循環(huán)移位(大循環(huán))4.串操作類指令(1)指令使用規(guī)則::串操作類指令是惟一地在存儲器內(nèi)的源與目

40、標(biāo)之間進(jìn)行操作的指令,即源操作數(shù)與目標(biāo)操作數(shù)都可以是存儲器操作數(shù)。(2)源操作數(shù)地址:DS(段寄存器)、IS(源變址寄存器)(3)目標(biāo)操作數(shù)地址:ES(段寄存器)、DI(目標(biāo)變址寄存器)(4)串長度存放在CS寄存器中(5)采用隱含尋址方式。(6)地址變化方向方向標(biāo)志位DF,DF=0,用指令CLD實(shí)現(xiàn),地址指針增1或2;DF=1,用指令STD實(shí)現(xiàn),地址指針減1或2。(7)串指令功能:執(zhí)行指令規(guī)定操作,然后SI和DI自動(dòng)修改+-1(字符串)或+-2(字)。(8)重復(fù)指令功能:添加重復(fù)前綴REP等,指令實(shí)現(xiàn)自動(dòng)循環(huán),自動(dòng)修改循環(huán)計(jì)數(shù)計(jì)功能,并判斷0(9)循環(huán)計(jì)數(shù)計(jì)使用CX5種基本的串操作指令:1)

41、MOVS目標(biāo)串,源串2)CMPS目標(biāo)串,源串3)SCAS目標(biāo)串4) LODS源串5) STOS目標(biāo)串5.程序(轉(zhuǎn)移)控制指令1)無條件轉(zhuǎn)移指令(1)JMP 目標(biāo)標(biāo)號根據(jù)目標(biāo)地址的位置與尋址方式的不同,JMP指令有4種基本格式。 段內(nèi)直接轉(zhuǎn)移操作數(shù):目標(biāo)地址的偏移量,偏移量是8位(短轉(zhuǎn)移)或16位(近轉(zhuǎn)移)的帶符號數(shù)。目標(biāo)標(biāo)號偏移地址=(IP)+指令中位移量有條件轉(zhuǎn)移只能用短轉(zhuǎn)移。段內(nèi)短轉(zhuǎn)移:位移量1個(gè)字節(jié)段內(nèi)近轉(zhuǎn)移:位移量2個(gè)字節(jié)段內(nèi)間接轉(zhuǎn)移操作數(shù):目標(biāo)地址的偏移地址,寄存器間接尋址目標(biāo)標(biāo)號偏移地址=操作數(shù)-(IP)目標(biāo)段=源段=CSSHORT段內(nèi)短轉(zhuǎn)移NIAR段內(nèi)近轉(zhuǎn)移段間直接轉(zhuǎn)移新的段地址

42、:CS,新的偏移地址:IP,操作數(shù):目標(biāo)地址的邏輯地址。目標(biāo)地址的段地址和偏移地址存放于存儲器的4個(gè)連續(xù)地址中低字位:IP,高字位:CS,操作數(shù)是雙字的存儲器地址用DWORD PTR表示。(2) CALL 過程名無條件調(diào)用過程指令?!斑^程”即“子程序”。子程序名即子程序入口地址,子程序段第一條指令的地址,用符號表示。CALL指令將迫使CPU暫停執(zhí)行調(diào)用程序(或稱為主程序)后續(xù)的下一條指令(即斷點(diǎn),用堆棧保存),轉(zhuǎn)去執(zhí)行指定的過程;待過程執(zhí)行完畢,再用返回指令RET將程序返回到斷點(diǎn)處繼續(xù)執(zhí)行。RET:識別程序終點(diǎn)。CALL指令4種不同的尋址方式和4種基本格式: CALL N_PROCN_PROC

43、是一個(gè)近過程名,采用段內(nèi)直接尋址方式。CALL BX段內(nèi)間接尋址的調(diào)用過程指令CALL F_PROCF_PROC是一個(gè)遠(yuǎn)過程名,它可以采用段間直接和段間間接兩種尋址方式來實(shí)現(xiàn)調(diào)用過程。RET 彈出值:從過程返回(RET)指令應(yīng)安排在過程的出口,即過程的最后一條指令處。2)條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令共有18條,標(biāo)志寄存器的標(biāo)志位(9個(gè),用6個(gè)狀態(tài))作為轉(zhuǎn)移的條件。所有的條件轉(zhuǎn)移指令都是短轉(zhuǎn)移,目標(biāo)地址(8位)的字節(jié)距離在-128+127范圍以內(nèi)。一個(gè)標(biāo)志位的狀態(tài)或幾個(gè)標(biāo)志的狀態(tài)組合作為測試的條件。另外的一種替換形式,功能等效。3)循環(huán)控制指令:CX中存放著循環(huán)次數(shù),短轉(zhuǎn)移(1)LOOP 目標(biāo)標(biāo)號(

44、2)LOOPE/LOOPZ 目標(biāo)標(biāo)號(3)LOOPNE/LOOPNZ 目標(biāo)標(biāo)號(4)JCXZ 目標(biāo)標(biāo)號6.中斷指令,中斷指令只有3條。 (1)INT 中斷類型,8086/8088系統(tǒng)中允許有256種中斷類型(0255)(2)INTO (3)IRET7.處理器控制類指令,處理器控制指令只完成對CPU的簡單控制功能。1) 對標(biāo)志位操作指令(1) CLC、STC、CMC指令用來對進(jìn)位標(biāo)志CF清“0”、置 “1”和取反操作。2) 同步控制指令:多處理器系統(tǒng)(1) ESC外部操作碼,源操作數(shù)(2) WAIT (3) LOCK3)其他控制指令 (1) HLT 暫停指令,當(dāng)CPU發(fā)生復(fù)位或來自外部的中斷時(shí),

45、CPU脫離暫停狀態(tài)。(2) NOP 空操作指令,占用3個(gè)時(shí)鐘周期的時(shí)間(IP+1),常用來作延時(shí)。五、8086編程基礎(chǔ)匯編語言是用指令的助記符、符號地址、標(biāo)號等書寫程序的語言,簡稱符號語言。1.匯編語言格式(1)指令分類匯編語言有3種基本語句:指令語句、偽指令語句、宏指令語句 。指令語句是一種執(zhí)行性語句,它在匯編時(shí),匯編程序?qū)橹a(chǎn)生一一對應(yīng)的機(jī)器目標(biāo)代碼。偽指令語句是一種說明性語句,它在匯編時(shí)只為匯編程序提供進(jìn)行匯編所需要的有關(guān)信息,如定義符號,分配存儲單元,初始化存儲器等,而本身并不代表生成目標(biāo)代碼。不執(zhí)行,翻譯時(shí)用。宏指令語句是以某個(gè)宏名字定義的一段指令序列。宏指令可以有多段,子程序有一

46、段。(2)語句格式1)指令語句格式標(biāo)號:前綴 指令助記符 操作數(shù)表 ;注釋2)偽指令語句的格式 名字偽指令參數(shù)表;注釋(3)匯編語言的語法段定義偽指令指示匯編程序應(yīng)如何按段來組織程序和使用存儲器。匯編程序3種設(shè)計(jì)結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。2.匯編語言編程運(yùn)行環(huán)境第五章 計(jì)算機(jī)存儲器一、存儲器的結(jié)構(gòu)1.基本概念 位 (bit):信息量單位,每一個(gè)0或1就叫做1位信息。 字節(jié) (byte):存儲量單位,8位二進(jìn)制代碼作為一個(gè)字節(jié)。 字 (word):2個(gè)字節(jié)組成一個(gè)字,標(biāo)識16位數(shù)據(jù)的長度。 字長:計(jì)算機(jī)一次處理數(shù)據(jù)的位數(shù)(存儲器,寄存器)。字長是隨計(jì)算機(jī)發(fā)展變化的(8086型字長=16

47、位)。地址:每個(gè)單元的編號,各存儲單元的地址與該地址中存放的內(nèi)容完全不同。物理地址(20位,220=1024K=1M)=段地址*10H+偏移地址邏輯地址(16位,216=64K)=段地址(16位):偏移地址(16位) 存儲單元:每個(gè)單元存儲8位二進(jìn)制信息,即字長為8位。字地址:低地址單元的地址作為低地址,偶數(shù)。段:分段方法:段起始地址(段基址),段長簡化問題。2.8086存儲器管理方式1)存儲器信息分類管理:程序信息,數(shù)據(jù)信息,保護(hù)(堆棧)信息。2)存儲器空間分段使用:將內(nèi)存空間分成若干個(gè)邏輯段使用,每個(gè)邏輯段存放一種信息,每個(gè)段稱邏輯段,當(dāng)前正在使用的邏輯段稱作當(dāng)前段。邏輯信息按照存放信息的

48、類別分為:代碼(程序)段,堆棧段,數(shù)據(jù)段,附加段。邏輯段:邏輯段長度=后起始地址-前起始地址,一類信息可以使用1個(gè)至多個(gè)邏輯段。地址指針:程序指針:CS:IP,堆棧指針:SS:SP,數(shù)據(jù)指針:DS或ES:EA(有效地址)段地址來源于4個(gè)段寄存器,偏移地址來源于IP、SP、EA(由BP、SI、DI計(jì)算)。段地址默認(rèn)時(shí),偏移地址稱作邏輯地址。3.8086存儲器堆棧技術(shù)1.堆棧的定義:在存儲器設(shè)置專用區(qū)(堆棧段),臨時(shí)存放需要保護(hù)的信息。2.堆棧原則:按字堆棧,后進(jìn)先出;從底(高地址)向頂(低地址)堆放堆棧指針SS:SP(棧頂)。3)堆棧設(shè)置:SS賦值:定段位置;SP賦值:定段長度。SP-2(內(nèi)部自

49、動(dòng),SP值不變)。物理地址=段地址(SS)*10H+偏移地址(SP)4)堆棧使用自動(dòng)或用指令使用堆棧。SP-2,進(jìn)棧;SP+2,出棧;自動(dòng)實(shí)現(xiàn),程序里不寫。二、計(jì)算機(jī)存儲系統(tǒng)概述1計(jì)算機(jī)的存儲系統(tǒng)1)主存和輔存2)存儲系統(tǒng)2.內(nèi)存(半導(dǎo)體存儲器)的概述1)主存功能:存放當(dāng)前運(yùn)行的程序和數(shù)據(jù),供CPU直接訪問;存放多機(jī)共享的數(shù)據(jù),兼顧實(shí)現(xiàn)多機(jī)通信。2)主存連接:主存系統(tǒng)總線CPU系統(tǒng)總線:AB:地址來自CPU的AR寄存器;CB:包括IO/M、WE/RD、Ready等引腳;DB:數(shù)據(jù)通過CPU的DR寄存器中轉(zhuǎn)。3)主存分類RAM:易失性存儲器,如U盤;ROM:非易失性存儲器;MOS RAM分靜態(tài)(

50、Static)和動(dòng)態(tài)(Dynamic)RAM兩種。雙極性RAM的特點(diǎn):存取速度快。靜態(tài)MOS RAM 的特點(diǎn):價(jià)格便宜,功耗低。內(nèi)存:MOS4)內(nèi)存(半導(dǎo)體存儲器)組成和結(jié)構(gòu)地址譯碼方式:單譯碼方式、雙譯碼方式二、計(jì)算機(jī)的內(nèi)存1.靜態(tài)RAM簡稱SRAM,基本存儲電路:RS觸發(fā)器。Intel 6116:雙列直插式,24引腳,存儲容量2K*8位2.動(dòng)態(tài)RAM簡稱DRAMIntel 2116:16K*1位,由于受封裝引線的限制,只有7條地址輸入線,1條數(shù)據(jù)線;采用地址線分時(shí)復(fù)用的技術(shù);控制信號:CAS列,RAS行;工作方式:寫操作:電容充電;讀操作:破壞性讀出,重寫刷新;定時(shí)刷新:保持電容電平。特點(diǎn)

51、:定時(shí)刷新、分時(shí)復(fù)用。3. EPROM芯片Intel 2716容量為2K8位,采用NMOS工藝和雙列直插式封裝三、存儲器的擴(kuò)充和與CPU連接1、存儲器的擴(kuò)充位數(shù)的擴(kuò)充:用固定容量、位數(shù)一定的芯片擴(kuò)充成固定容量、位數(shù)較多的存儲器。如:需要2KX8位的存儲器:2KX1需8片; 需要2KX8 位的存儲器:2KX4需2片; 需要2KX16位的存儲器:2KX1需16片; 需要2KX16位的存儲器:2KX4需4片。字?jǐn)U展(地址擴(kuò)展):用一定容量、位數(shù)固定的存儲芯片擴(kuò)充成較大容量位數(shù)固定的存儲器。如:需要64KX8位的存儲器:16KX8需4片;需要64KX8位的存儲器:2KX8需32片。字、位擴(kuò)展:用固定容

52、量、固定位數(shù)的芯片擴(kuò)展成較大容量、較大位數(shù)的存儲器。如:用16KX4 的存儲芯片擴(kuò)展成64KX8的存儲器: 位擴(kuò)展:需2片; 字?jǐn)U展:需4片; 共需芯片:2X4=8片。2、存儲器芯片片選信號CS的處理芯片介紹:Intel 74LS138和61163-8譯碼器74LS138存儲芯片Intel6116(2KX8)片選信號的處理方法全譯碼法:片內(nèi)尋址未用的全部高位地址線都參加譯碼,譯碼輸出作為片選信號。部分譯碼:用片內(nèi)尋址外的高位地址的一部分譯碼產(chǎn)生片選信號。線選法:高位地址線不經(jīng)過譯碼,直接(或經(jīng)反相器)分別接各存儲器芯片的片選端來區(qū)別各芯片的地址。例:用Intel 6116芯片組成8KB RAM

53、,設(shè)CPU為8086(設(shè)地址線為20根),譯碼器采用74LS138,問題: 1、需要幾片6116? 2、地址線和數(shù)據(jù)線各為多少根? 3、每一片的地址范圍是多少?如何確定?是否有重疊區(qū)? 4、如何連線?(包括地址線、數(shù)據(jù)線和狀態(tài)線)全譯碼分析:6116為2KX8芯片,需組成8KX8的存儲器,只需進(jìn)行字?jǐn)U展,需4片。要求地址范圍是00000H01FFFH,4片的地址范圍分別為:第一片:00000H 007FFH;第二片:00800H 00FFFH;第三片:01000H 017FFH;第四片:01800H 01FFFH分析結(jié)果:A0A10作為芯片片內(nèi)尋址;A11A13作為74LS的A、B、C端;A14A19組合產(chǎn)生G1、G2A、G2B 部分譯碼線性譯碼第六章 計(jì)算機(jī)接口技術(shù)一、計(jì)算機(jī)的接口1.接口的基本結(jié)構(gòu)2.接口的電路信號接口對外設(shè)連接的信號要求1)數(shù)據(jù)信號(1)數(shù)字量:通常為8位二進(jìn)制數(shù)或ASCII代碼。(2)模擬量:計(jì)算機(jī)檢測、數(shù)據(jù)采集或控制的大量的現(xiàn)場信息等(3) 開關(guān)量:一些“0”或“1”兩個(gè)狀態(tài)的量2)狀態(tài)信號狀態(tài)信息是反映外設(shè)當(dāng)前所處工作狀態(tài)的信息,以作為CPU與外設(shè)間可靠交換數(shù)據(jù)的條件。3)控制信號:用于控制外設(shè)的啟動(dòng)或停止。二、數(shù)據(jù)傳輸方式1.無條件的程序傳送方式定義:用程序定時(shí)用IN或

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論