版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGE2教案授課題目第1章微型計算機基礎(chǔ)知識授課時數(shù)教學方法授課班級與時間教學目標微型計算機的組成和各部分的作用,以及計算機中數(shù)的表示方法。技能目標:計算機中數(shù)的表示方法:原碼、反碼、補碼的關(guān)系。教學重點微型計算機的組成和各部分的作用,以及計算機中數(shù)的表示方法。教學難點計算機中數(shù)的表示方法:原碼、反碼、補碼的關(guān)系。教學內(nèi)容、方法及過程§1.1微型計算機的組成及工作原理1.1.1微型計算機中的基本概念1.微處理器(Microprocessor)2.微型計算機(1)單片微處理機(2)通用微型計算機3.微型計算機系統(tǒng)1.1.2微型計算機的基本結(jié)構(gòu)微型計算機的基本組成1.1.3微型計算機的基本工作過程微型計算機的基本工作過程是執(zhí)行程序的過程,也就是CPU自動從程序存放的第1個存儲單元起,逐步取出指令、分析指令,并根據(jù)指令規(guī)定的操作類型和操作對象,執(zhí)行指令規(guī)定的相關(guān)操作。如此重復,周而復始,直至執(zhí)行完程序的所有指令,從而實現(xiàn)程序的基本功能,這就是微型計算機的基本工作原理。工作過程:§1.2微處理器及其發(fā)展1.2.1微處理器的發(fā)展歷史1.2.2微處理器的內(nèi)部結(jié)構(gòu)1.總線部件2.預取部件3.譯碼器4.控制器5.運算邏輯部件6.存儲器管理部件1.2.3Pentium系列微處理器1.2.3.1Pentium奔騰微處理器的主要特點:1、標量體系結(jié)構(gòu)2、雙流水線結(jié)構(gòu)1.2.3.2PentiumMMX的主要特點PentiumMMX是在奔騰芯片基礎(chǔ)上增加了MMX技術(shù)。1.2.4微處理器的發(fā)展趨勢§1.3數(shù)制與編碼1.3.1數(shù)制的表示1.常用數(shù)制(1)十進制數(shù)我們熟悉的十進制數(shù)有兩個主要特點:·有十個不同的數(shù)字符號:0、1、2、…、9;·低位向高位進、借位的規(guī)律是“逢十進一”“借一當十”的計數(shù)原則進行計數(shù)。例如:1234.45=1×103+2×102+3×101+4×100+4×10-1+5×10-2式中的10稱為十進制數(shù)的基數(shù),103、102、101、100、10-1稱為各數(shù)位的權(quán)。十進制數(shù)用D結(jié)尾表示。(2)二進制數(shù)在二進制中只有兩個不同數(shù)碼:0和1,進位規(guī)律是“逢二進一”“借一當二”的計數(shù)原則進行計數(shù)。二進制數(shù)用B結(jié)尾表示。例如,二進制數(shù)11011011.01可表示為:(11011011.01)2==1×27+1×26+0×25+1×24+1×23+0×22+1×21+1×20+0×2-1+1×2-2(3)八進制數(shù)在八進制中有0、1、2…、7八個不同數(shù)碼,采用“逢八進一”“借一當八”的計數(shù)原則進行計數(shù)。八進制數(shù)用Q結(jié)尾表示。例如,八進制數(shù)(503.04)Q可表示為:(503.04)Q=5×82+0×81+3×80+0×8-1+4×8-24)十六進制數(shù)在十六進制中有0、1、2…、9、A、B、C、D、E、F共十六個不同的數(shù)碼,采用“逢十六進一”“借一當十六”的計數(shù)原則進行計數(shù)。十六進制數(shù)用H結(jié)尾表示。例如,十六進制數(shù)(4E9.27)H可表示為(4E9.27)H=4×162+14×161+9×160+2×16-1+7×16-22.不同進制數(shù)之間的相互轉(zhuǎn)換表1-4列出了二、八、十、十六進制數(shù)之間的對應關(guān)系,熟記這些對應關(guān)系對后續(xù)內(nèi)容的學習會有較大的幫助。1)二、八、十六進制數(shù)轉(zhuǎn)換成為十進制數(shù)根據(jù)各進制的定義表示方式,按權(quán)展開相加,即可轉(zhuǎn)換為十進制數(shù)?!纠?-1】將(10101)B,(72)Q,(49)H轉(zhuǎn)換為十進制數(shù)。(10101)B=1×24+0×23+1×22+0×21+1×20=37(72)Q=7×81+2×80=58(49)H=4×161+9×160=73(2)十進制數(shù)轉(zhuǎn)換為二進制數(shù)十進制數(shù)轉(zhuǎn)換二進制數(shù),需要將整數(shù)部分和小數(shù)部分分開,采用不同方法進行轉(zhuǎn)換,然后用小數(shù)點將這兩部分連接起來。①整數(shù)部分:除2取余法。具體方法是:將要轉(zhuǎn)換的十進制數(shù)除以2,取余數(shù);再用商除以2,再取余數(shù),直到商等于0為止,將每次得到的余數(shù)按倒序的方法排列起來作為結(jié)果。②小數(shù)部分:乘2取整法。具體方法是:將十進制小數(shù)不斷地乘以2,直到積的小數(shù)部分為零(或直到所要求的位數(shù))為止,每次乘得的整數(shù)依次排列即為相應進制的數(shù)碼。最初得到的為最高有效數(shù)位,最后得到的為最低有效數(shù)字。(3)二進制與八進制之間的相互轉(zhuǎn)換由于23=8,故可采用“合三為一”的原則,即從小數(shù)點開始向左、右兩邊各以3位為一組進行二-八轉(zhuǎn)換:若不足3位的以0補足,便可以將二進制數(shù)轉(zhuǎn)換為八進制數(shù)。反之,每位八進制數(shù)用三位二進制數(shù)表示,就可將八進制數(shù)轉(zhuǎn)換為二進制數(shù)。(4)二進制與十六進制之間的相互轉(zhuǎn)換由于24=16,故可采用“合四為一”的原則,即從小數(shù)點開始向左、右兩邊各以4位為一組進行二—十六轉(zhuǎn)換,若不足4位的以0補足,便可以將二進制數(shù)轉(zhuǎn)換為十六進制數(shù)。反之,每位十六進制數(shù)用四位二進制數(shù)表示,就可將十六進制數(shù)轉(zhuǎn)換為二進制數(shù)。1.3.2常用的信息編碼二—十進制BCD碼(Binary-CodedDecimal)二—十進制BCD碼是指每位十進制數(shù)用4位二進制數(shù)編碼表示。由于4位二進制數(shù)可以表示16種狀態(tài),可丟棄最后6種狀態(tài),而選用0000~1001來表示0~9十個數(shù)符。這種編碼又叫做8421碼。2.字符編碼(ASCII碼)數(shù)字0~9的ASCII碼為30H~39H。大寫英文字母A~Z的ASCII碼為41H~5AH。小寫英文字母a~z的ASCII碼為61H~7AH。3.奇偶校驗碼§1.4計算機數(shù)值數(shù)據(jù)表示與運算1.4.1二進制數(shù)在計算機內(nèi)的表示1.機器數(shù)在計算機中,因為只有“0”和“1”兩種形式,所以數(shù)的正、負號,也必須以“0”和“1”表示。通常把一個數(shù)的最高位定義為符號位,用0表示正,1表示負,稱為數(shù)符:其余位仍表示數(shù)值。把在機器內(nèi)存放的正、負號數(shù)碼化的數(shù)稱為機器數(shù),把機器外部由正、負號表示的數(shù)稱為真值數(shù)。要注意的是,機器數(shù)表示的范圍受到字長和數(shù)據(jù)的類型的限制。字長和數(shù)據(jù)類型定了,機器數(shù)能表示的數(shù)值范圍也就定了。例如,若表示一個整數(shù),字長為8位,則最大的正數(shù)為01111111,最高位為符號位,即最大值為127。若數(shù)值超出127,就要“溢出”。最小負數(shù)為10000000,最高位為符號位,即最小值為-128。2.數(shù)的定點和浮點表示計算機內(nèi)表示的數(shù),主要分成定點小數(shù)、定點整數(shù)與浮點數(shù)三種類型。(1)定點小數(shù)的表示法定點小數(shù)是指小數(shù)點準確固定在數(shù)據(jù)某一個位置上的小數(shù)。一般把小數(shù)點固定在最高數(shù)據(jù)位的左邊,小數(shù)點前邊再設(shè)一位符號位。按此規(guī)則,任何一個小數(shù)都可以寫成:N=NSN-1N-2···N-M,NS為符號位(2)整數(shù)的表示法整數(shù)所表示的數(shù)據(jù)的最小單位為1,可以認為它是小數(shù)點定在數(shù)值最低位右面的一種表示法。整數(shù)分為帶符號和不帶符號兩類。對帶符號的整數(shù),符號位放在最高位??梢詫懗桑篘=NSNnNn-1···N2N1N0,NS為符號位一般定點數(shù)表示的范圍和精度都較小,在數(shù)值計算時,大多數(shù)采用浮點數(shù)。(3)浮點數(shù)的表示方法浮點表示法對應于科學(指數(shù))計數(shù)法,如數(shù)110.011可表示為:N=110.011=1.10011×2+10=11001.1×2-10=0.110011×2+11在計算機機中一個浮點數(shù)由兩部分構(gòu)成:階碼和尾數(shù),階碼是指數(shù),尾數(shù)是純小數(shù)。應當注意:浮點數(shù)的正、負是由尾數(shù)的數(shù)符確定,而階碼的正、負只決定小數(shù)點的位置,即決定浮點數(shù)的絕對值大小。帶符號數(shù)的表示在計算機中,帶符號數(shù)可以用不同方法表示,常用的有原碼、反碼和補碼。(1)原碼(2)反碼(3)補碼1.4.2補碼的運算1.4.3邏輯運算(1)“與”運算。(2)“或”運算。(3)“異或”運算。教案授課題目第2章8086微處理器教研室主任教務科長授課時數(shù)教學方法教具授課班級與時間教學目標知識目標:本章主要講述8086的硬件結(jié)構(gòu)、外部引腳、內(nèi)部寄存器的組織、和總線時序。技能目標:引腳功能和總線時序。教學重點本章主要講述8086的硬件結(jié)構(gòu)、外部引腳、內(nèi)部寄存器的組織、和總線時序。教學難點引腳功能和總線時序。教學內(nèi)容、方法及過程§2.18086CPU的結(jié)構(gòu)2.2.18086的結(jié)構(gòu)特點微處理器執(zhí)行一段程序通常是通過重復執(zhí)行如下步驟來完成。即:(1)
從內(nèi)存儲器中取出一條指令,分析指令操作碼;(2)
讀出一個操作數(shù)(如果指令需要操作數(shù));(3)
執(zhí)行指令;(4)
將結(jié)果寫入內(nèi)存儲器(如果指令需要)。1.總線接口部件(1)4個段地址寄存器CS--16位的代碼段寄存器DS--16位的數(shù)據(jù)段寄存器ES--16位的擴展段寄存器SS--16位的堆棧段寄存器(2)16位的指令指針寄存器IP(3)20位的地址加法器(4)6字節(jié)的指令隊列。2.執(zhí)行部件(1)4個通用寄存器,即AX、BX、CX,DX;(2)4個專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI;(3)標志寄存器Flag;(4)算術(shù)邏輯單元ALU;8086的執(zhí)行部件(EU)有如下特點:(1)4個通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。(2)AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動作來執(zhí)行的。(3)加法器是算術(shù)邏輯部件主要部件,絕大部分指令的執(zhí)行都是由加法器完成的。(4)標志寄存器共有16位,其中,7位未用狀態(tài)標志有6個,即SF、ZF,PF、CF,AF和OF。符號標志SF(SignFlag):它和運算結(jié)果的最高位相同。若運算結(jié)果最高位為1,則SF=1,否則SF=0。零標志ZF(ZeroFlag):如果當前的運算結(jié)果為零,則ZF=1,否則ZF=0。奇偶標志PF(ParityFlag):如果運算結(jié)果的低8位中所含的1的個數(shù)為偶數(shù),則PF=1,否則PF=0。進位標志CF(CarryFlag):當執(zhí)行一個加法運算使最高位產(chǎn)生進位時,或者執(zhí)行一個減法運算引起最高位產(chǎn)生借位時,則CF=1,否則CF=0。輔助進位標志AF(AuxiliaryCarryFlag):當加法運算時,如果第三位往第四位有進位,或者當減法運算時,如果第三位從第四位有借位,則AF=1,否則AF=0。溢出標志OF(OverflowFlag):當運算過程中產(chǎn)生溢出時,會使OF=1,否則OF=0??刂茦酥居?個,即DF、IF、TF。方向標志DF(DirectionFlag):這是控制串操作指令的標志。如果DF=0,則串操作過程中地址會不斷增值,反之,如果DF=1,則串操作過程中地址會不斷減值。中斷標志IF(1uterruptEnableFlay):這是控制可屏蔽中斷的標志。如IF=0,則CPU不能對可屏蔽中斷請求作出響應,如果IF=1,則CPU可以接受可屏蔽中斷請求。跟蹤標志TF(TrapFlay):如果TF=1,則CPU按跟蹤方式執(zhí)行指令。2.2.28086的總線工作周期在8086中,一個最基本的總線周期由4個時鐘周期組成①在T1狀態(tài),CPU往多路復用總線上發(fā)出地址信息,以指出要尋址的存儲單元及外設(shè)端口的地址。②在T2狀態(tài),CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準備??偩€的最高4位(A19~A16)用來輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來表示中斷允許狀態(tài)、當前正在使用的段寄存器名等。③在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或端口讀入的數(shù)據(jù)。④在有些情況下,被寫入數(shù)據(jù)或者被讀取數(shù)據(jù)的外設(shè)或存儲器不能及時地配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過“READY”信號線在T3狀態(tài)啟動之前向CPU發(fā)一個“數(shù)據(jù)未準備好”信號,于是CPU會在T3之后插入1個或多個附加的時鐘周期TW。TW也叫等待狀態(tài)。在Tw狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。當指定的存儲器或外設(shè)完成數(shù)據(jù)傳送時,便在“READY”線上發(fā)出“準備好”信號,CPU接收到這一信號后,會自動脫離TW狀態(tài)面進入T4狀態(tài).⑤在T4狀態(tài),總線周期結(jié)束。需要指出的是,只有在CPU和內(nèi)存或I/O接口之間傳輸數(shù)據(jù),以及填充指令隊列時,CPU才執(zhí)行總線周期??梢?,如果在1個總線周期之后,不立即執(zhí)行下1個總線周期。那么,系統(tǒng)總線就處在空閑狀態(tài),此時,執(zhí)行空閑周期。§2.28086/8088的引腳信號和工作模式2.3.1最小模式和最大模式的概念所謂最小模式,就是在系統(tǒng)中只有8086一個微處理器。在這種系統(tǒng)中,所有的總線控制信號都直接由8086產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。最大模式是相對最小模式而言,在此系統(tǒng)中,包含兩個或兩個以上的微處理器,其中一個主處理器就是8086,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。和8086配合的協(xié)處理器有兩個。一個是數(shù)值運算協(xié)處理器8087,一個是輸入/輸出協(xié)處理器8089。2.3.28086的引腳信號和功能1.AD15~AD0地址/數(shù)據(jù)復用引腳(雙向工作)2.A19/S6~A16/S3地址/狀態(tài)復用引腳(輸出)3.BHE/S7高8位數(shù)據(jù)總線允許/狀態(tài)復用引腳(輸出)4.NMI非屏蔽中斷信號5.INTR可屏蔽中斷請求信號6.RD讀選通信號7.CLK時鐘信號8.RESET復位信號9.READY準備就緒輸入信號10.TEST測試信號11.MN/MX最?。畲竽J娇刂菩盘?2.GND地和VCC電源2.3.38086最小工作方式2.3.48086最大工作方式當MN/MX加上低電平時,8086CPU工作在最大模式下。此時8086CPU工作于多處理器系統(tǒng)。1.總線控制器82882.總線仲裁控制器82892.3.58086系統(tǒng)復為和啟動操作在復位的時候,代碼段寄存器CS和指令指針寄存器IP分別初始化為FFFFH和0000H。所以,8086/8088在復位之后再重新啟動時,便從內(nèi)存的FFFF0H處開始執(zhí)行指令,使系統(tǒng)在啟動時,能自動進入系統(tǒng)程序。在復位時,由于標志寄存器被清零,即所有標志位都被清除了,因而,系統(tǒng)程序在啟動時,總是要通過指令來設(shè)置各有關(guān)標志。復位信號RESET從高電平到低電平的跳變會觸發(fā)CPU內(nèi)部的一個復位邏輯電路,經(jīng)過7個時鐘周期之后,CPU就被啟動而恢復正常工作,即從FFFF0H處開始執(zhí)行程序?!?.3存貯器組織2.4.1由段寄存器、段偏移地址確定物理地址20位物理地址=段寄存器的內(nèi)容×16+偏移地址
段寄存器的內(nèi)容×16(相當于左移4位)變?yōu)?0位,再在低端16位加上16位的偏移地址,便可得到20位的物理地址。這里僅以8086CPU復位后如何形成啟動地址為例,說明物理地址的計算方法。復位時CS的內(nèi)容為FFFFH,IP的內(nèi)容為0000H。復位后的啟動地址由CS段寄存器和IP的內(nèi)容共同決定,即:啟動地址=CS×16+IP=FFFF0H+0000H=FFFF0H2.4.2段寄存器的使用教案授課題目教研室主任教務科長授課時數(shù)教學方法教具授課班級與時間教學目標知識目標:掌握指令系統(tǒng)的的基本格式,指令系統(tǒng)的操作功能及使用方法。技能目標:8086尋址方式,數(shù)據(jù)傳送類指令和算術(shù)運算類指令的使用。教學重點掌握指令系統(tǒng)的的基本格式,指令系統(tǒng)的操作功能及使用方法。教學難點8086尋址方式,數(shù)據(jù)傳送類指令和算術(shù)運算類指令的使用。教學內(nèi)容、方法及過程§3.18086的尋址方式3.1.1操作數(shù)的尋址方式1.立即數(shù)尋址例:MOVAX,1234H這條指令的功能是:把立即數(shù)1234H送入AX中。2.寄存器尋址如果操作數(shù)就在CPU的內(nèi)部寄存器中,那么寄存器名在指令中給出。這種尋址方式就叫寄存器尋址方式。3.直接尋址使用直接尋址方式時,數(shù)據(jù)總是在存儲器中,存儲單元的有效地址由指令直接指出,所以直接尋址是對存儲器進行訪問時可采用的最簡單的方式。假如DS=3000H例:MOVAX,DS:[2010H]物理地址=DS×16+2010H=3000H×16+2010H=32010H指令功能是將32010H和32011H兩單元的內(nèi)容送到AX中。要注意的是采用直接尋址方式時,如果指令前面沒有用前綴指明操作數(shù)在哪一段,則默認為段寄存器是數(shù)據(jù)段寄存器DS。4.寄存器間接尋址采用寄存器間接尋址方式時,操作數(shù)一定在存儲器中,存儲單元的有效地址由寄存器指出,這些寄存器可以為BX、BP,SI和DI之一,由于上述4個寄存器所黙認的段寄存器不同,這樣又可以分兩種情況:①以SI、DI、BX進行間接尋址,則操作數(shù)通常存放在現(xiàn)行數(shù)據(jù)段中。此時數(shù)據(jù)段寄存器內(nèi)容加上SI、DI、BX中的16位段內(nèi)偏移地址,即得操作數(shù)的地址②寄存器BP間接尋址,則操作數(shù)存放在堆棧段區(qū)域中。此時堆棧段寄存器內(nèi)容加上BP中的16位段內(nèi)偏移地址,即得操作數(shù)的地址。假如SS=3000H5.寄存器相對尋址在這種尋址方式中,操作數(shù)存放在存貯器中。操作數(shù)的地址是由段寄存器內(nèi)容加上SI、DI、BX、BP之一的內(nèi)容,再加上由指令所指出的8位或16位相對地址偏移量而得到的6.基址、變址尋址在8086中,通常把BX和BP作為基址寄存器,而把SI、DI作為變址寄存器。將這兩種寄存器聯(lián)合起來進行的尋址就稱為基址、變址尋址。這時,操作數(shù)的地址應該是段寄存器內(nèi)容×16加上基址寄存器內(nèi)容(BX或BP內(nèi)容),再加上變址寄存器內(nèi)容(SI或DI內(nèi)容)而得到的.例:MOVAX,[BX][SI]7.基址、變址相對尋址這種尋址實際上是基址、變址尋址的擴充。即操作數(shù)的地址是由基址、變址方式得到的地址再加上由指令指明的8位或16位的相對偏移地址而得到的3.1.2轉(zhuǎn)移地址的尋址方式1.段內(nèi)直接尋址段內(nèi)直接尋址方式也稱為相對尋址方式,轉(zhuǎn)移的目標地址是當前IP內(nèi)容和一個8位或16位的位移量DISP之和。即物理地址=CS×16+IP+DISP2.段內(nèi)間接尋址這種尋址方式在段內(nèi)進行,其轉(zhuǎn)移的目標地址是16位寄存器或兩個相鄰的存儲單元的內(nèi)容,即以寄存器或存儲器單元內(nèi)容來更新IP的內(nèi)容。如圖3-11所示。例:JMPCXJMPWORDPTR[BX]3.段間直接尋址在這種尋址方式中,指令碼中將直接給出16位的段地址和16位的段內(nèi)偏移地址。例:JMPFARPTRDADD14.段間間接尋址這種尋址方式和段內(nèi)間接尋址相似。但是,由于確定轉(zhuǎn)移地址需要32位信息,因此只適用于存貯器尋址方式。用這種尋址方式可計算出存放轉(zhuǎn)移地址的存貯單元的首地址,與此相鄰的4個單元中,前兩個單元存放16位的段內(nèi)偏移地址;而后兩單元存放的是16位的段地址,如圖3-13所示。例:JMPDWORDPTR[BP][DI]§3.28086指令系統(tǒng)8086的指令系統(tǒng)大致可分為6種類型:①數(shù)據(jù)傳送指令②算術(shù)運算指令③邏輯運算和移位指令④串操作指令⑤程序控制指令⑥處理器控制指令3.2.1數(shù)據(jù)傳送指令8086有5類傳送指令,以實現(xiàn)CPU的內(nèi)部寄存器之間、CPU和存儲器之間、CPU和I/O端口之間的數(shù)據(jù)傳送。1.通用傳送指令通用傳送指令中包括最基本的傳送指令MOV,交換指令XCHG,椎棧指令PUSH和POP,字節(jié)、字轉(zhuǎn)換指令CBW和CWD。(1)最基本的傳送指令指令格式:MOVOPRDl,OPRD2執(zhí)行功能:該指令可把一個字節(jié)或一個字操作數(shù)從源地址傳送到目的地址中去。OPRD1:可以是累加器、寄存器和存貯器。OPRD2:可以是累加器、寄存器、存貯器以及立即操作數(shù)1)在CPU各內(nèi)部寄存器之間傳送數(shù)據(jù)(除代碼段寄存器CS和指令指針I(yè)P以外)。2)立即數(shù)傳送至CPU的內(nèi)部通用寄存器(即AX、BX、CX、DX、BP、SP、SI、DI),給這些寄存器賦值。3)CPU內(nèi)部寄存器(除了CS和IP以外)與存貯器(所有尋址方式)之間的數(shù)據(jù)傳送,與前述一樣可以傳送一個字節(jié)也可以傳送一個字?!⒁猓。、費OV指令不影響任何標志位②MOV的源操作數(shù)與目標操作數(shù)類型必須一致③MOV指令的操作數(shù)不能全為存儲單元④MOV指令的操作數(shù)不能全為段寄存器⑤立即數(shù)不能為目標操作數(shù),立即數(shù)不能送段寄存器,可以通過內(nèi)存變量或除段寄存器之外的其它寄存器給段寄存器賦值MOVAX,0825HMOVDS,AX⑥CS為代碼段寄存器,它是只允許讀,不允許寫的。(可以用跳轉(zhuǎn)指令改變CS)(2)交換指令指令格式:XCHGOPRDl,OPRD2執(zhí)行功能:交換指令把一個字節(jié)或一個字的源操作數(shù)與目的操作數(shù)相交換。(3)堆棧操作指令PUSHOPRD(壓入堆棧指令)POPOPRD(彈出堆棧指令)2.地址傳送指令8086有3條地址傳送指令。(1)LEA指令指令格式:LEAOPRDl,OPRD2執(zhí)行功能:該指令把源操作數(shù)OPRD2的地址偏移量傳送至目的操作數(shù)OPRDl中。源操作數(shù)必須是一個內(nèi)存操作數(shù),目的操作數(shù)必須是一個16位的通用寄存器。這條指令通常用來建立串指令操作所需的地址指針。LEABX,DATA 和MOVBX,OFFSETDATA等價LEASI,BUFFER 和MOVSI,OFFSETBUFFER等價(2)LDS指令該指令完成一個地址指針的傳送。地址指針包括段地址和地址偏移量。指令執(zhí)行時,將段地址送入DS,地址偏移量送入一個16位的指針寄存器或變址寄存器。例如:LDSSI,[BX]是把BX所指的32位地址指針的段地址送入DS,偏移地址送入SI。(3)LES指令這條指令除將地址指針的段地址送入ES外,其他操作與LDS的類似。例如:LESDI,[BX]是把BX所指的32位地址指針的段地址送入ES,偏移地址送入DI。3.輸人輸出指令輸入/輸出指令用來完成累加器(AX/AL)與I/O端口之間的數(shù)據(jù)傳送功能。執(zhí)行輸入指令時,CPU可以從一個8位端口讀入一個字節(jié)到AL中,也可以從兩個連續(xù)的8位端口讀一個字到AX中。指令格式:IN累加器,端口地址執(zhí)行輸出指令時,CPU可以將AL中的一個字節(jié)寫到一個8位端口中,或者將AX中的一個字寫到兩個連續(xù)的8位端口中。指令格式:OUT端口,累加器端口地址的尋址范圍是64K(0000H~FFFFH),若端口地址在00H~FFH之間,可以使用直接尋址方式,否則只能由16位寄存器DX來作間接尋址。3.2.2算術(shù)運算指令8086可提供加、減、乘、除4種基本算術(shù)運算的操作指令。這些指令可實現(xiàn)字節(jié)或字的運算,也可以用于符號數(shù)和無符號數(shù)的運算。1.加法指令(1)不帶進位的加法指令指令格式:ADDOPRDl,OPRD2指令功能:OPRDl←(OPRDl)+(OPRD2)ADD指令兩個操作數(shù)相加,結(jié)果送至目的操作數(shù)。源操作數(shù)可以是累加器、通用寄存器、存貯器和立即數(shù)。目的操作數(shù)可以是累加器、通用寄存器或存貯器。例如:注意,兩個存儲器操作不能直接相加,段寄存器也不能參加運算。在使用時還要注意兩個操作數(shù)類型一致。(2)帶進位的加法指令指令格式:ADCOPRD1,OPRD2指令功能:OPRD1←(OPRD1)+(OPRD2)+CY(3)INC加1指令指令格式:INCOPRD指令功能:OPRD←(OPRD)+1這條指令對指定的操作數(shù)進行加1操作,在循環(huán)程序中常用于修改地址指針和循環(huán)次數(shù)等。其操作數(shù)可以是通用寄存器,也可以是存儲器。該指令執(zhí)行結(jié)果對標志位AF、OF、PF、SF和ZF有影響,而對CF位不產(chǎn)生影響2.減法指令(1)不帶借位的減法指令指令格式:SUBOPRDl,OPRD2指令功能:OPRD1←(OPRD1)-(OPRD2)(2)帶借位的減法指令指令格式:SBBOPRD1,OPRD2指令功能:OPRD1←(OPRD1)-(OPRD2)-CY(3)DEC減1指令指令格式:DECOPRD指令功能:OPRD←(OPRD)-1該指令實現(xiàn)對操作數(shù)的減1操作,所用的操作數(shù)可以是寄存器的,也可以是存儲器。在相減時,把操作數(shù)看作為無符號的二進制數(shù)。該指令執(zhí)行結(jié)果將影響標志位AF、OF、PF、SF和ZF,但對CF標志不產(chǎn)生影響(4)NEG求補指令指令格式:NEGOPRD指令功能:OPRD←0-(OPRD)(5)比較指令指令格式:CMPOPRDl,OPRD2指令功能:(OPRD1)-(OPRD2)該指令執(zhí)行減法操作,不保存相減的結(jié)果。指令執(zhí)行后兩操作數(shù)的內(nèi)容不變,但相減的結(jié)果影響標志位。在程序設(shè)計時,比較指令通常為程序的轉(zhuǎn)移提供條件。3.乘法指令8086的乘法指令分為無符號數(shù)乘法指令和帶符號數(shù)乘法指令兩種。(1)無符號數(shù)乘法指令MUL指令格式:MULOPRD指令功能:若OPRD為字節(jié)數(shù)據(jù),則執(zhí)行AX←(AL)×(OPRD)若OPRD為字數(shù)據(jù),則執(zhí)行DX、AX←(AX)×(OPRD)目的操作數(shù)為:AL或AX(隱含給出)(2)帶符號數(shù)乘法指令I(lǐng)MUL指令格式:IMULOPRD指令功能:若OPRD為字節(jié)數(shù)據(jù),則執(zhí)行AX←(AL)×(OPRD)若OPRD為字數(shù)據(jù),則執(zhí)行DX、AX←(AX)×(OPRD)目的操作數(shù)為:AL或AX(隱含給出)4.除法指令8086有兩條除法指令:無符號除法指令和帶符號除法指令。它們都可以進行字節(jié)或字除法運算,并且規(guī)定,8位除法的被除數(shù)在AX中;16位除法的被除數(shù)在DX與AX中,除數(shù)均由指令指出。對8位數(shù)除法,商與余數(shù)分別放在AL與AH中,對16位除法,商與余數(shù)分別放在AX與DX中。(1)無符號數(shù)除法指令DIV指令格式:DIVOPRD指令功能:OPRD為字節(jié)數(shù)據(jù):AL←(AX)÷(OPRD)商AH←(AX)÷(OPRD)余數(shù)OPRD為字數(shù)據(jù):AX←(DX)(AX)÷(OPRD)商DX←(DX)(AX)÷(OPRD)余數(shù)(2)IDIV帶符號數(shù)除法指令指令格式:IDIVOPRD指令操作:與DIV指令相同,但被除數(shù)、除數(shù)、商、余數(shù)全部均為帶符號數(shù),且余數(shù)的符號位同被除數(shù)。即IDIV執(zhí)行后,CF、OF、AF、PF、ZF、SF不確定。用IDIV指令時,如果是一個雙字除以一個字,則商的范圍為-32768~32767;如果是一個字除以一個字節(jié),則商的范圍為-128~127。運算結(jié)果超出了表示范圍,那么會作為除數(shù)為0的情況來處理,即產(chǎn)生0號中斷。(3)CBW字節(jié)轉(zhuǎn)換為字指令指令格式:CBW指令功能:AL中的符號位擴展到AH中。若AL中的D7=0,則(AH)=00H;若AL的D7=1,則(AH)=FFH。(4)CWD字轉(zhuǎn)換為雙字指令指令格式:CWD指令功能:AX中的符號位擴展到DX中。若AX中的D15=0,則(DX)=0000H;若AX的D15=1,則(DX)=FFFFH。十進制調(diào)整指令(1)DAA加法的十進制調(diào)整指令執(zhí)行的操作:
(AL)←把AL中的和調(diào)整到壓縮的BCD格式,這條指令之前必須執(zhí)行ADD或ADC指令,加法指令必須把兩個壓縮的BCD碼相加,并把結(jié)果存放在AL寄存器中。本指令的調(diào)整方法是:
如果AF標志(輔助進位位)為1,或者AL寄存器的低4位是十六進制的A~F,則AL寄存器內(nèi)容加06H,且將AF位置1;如果CF標志為1,或者AL寄存器的高4位是十六進制的A-F,則AL寄存器內(nèi)容加60H,并將CF位置1。DAA指令對OF標志無定義,但影響所有其它條件標志。例:
ADDAL,BL
DAA
如指令執(zhí)行前,(AL)=28,(BL)=68
執(zhí)行ADD指令后,(AL)=90,CF=0,AF=1
執(zhí)行DAA指令時,因AF=1而做(AL)←(AL)+06
得(AL)=96,CF=0,AF=1結(jié)果正確。
(2)DAS減法的十進制調(diào)整指令執(zhí)行的操作:
(AL)←把AL中的差調(diào)整到壓縮的BCD格式。這條指令之前必須執(zhí)行SUB或SBB指令,減法指令必須把兩個BCD碼相減,并把結(jié)果存放在AL寄存器中。本指令的調(diào)整方法是:
如果AF標志為1,或者AL寄存器的低4位是十六進制的A-F,則使AL寄存器的內(nèi)容減去06H,并將AF位置1。
如果CF標志為1,或者AL寄存器的高4位是十六進制的A-F,則使AL寄存器的內(nèi)容減去60H,并將CF位置1。
DAS指令對OF標志無定義,但影響所有其它條件標志。(3)AAM乘法的BCD碼調(diào)整指令指令格式:AAM指令功能:AX←把AL中的積調(diào)整為非壓縮的BCD碼格式。(4)AAD除法的BCD碼調(diào)整指令對BCD碼進行除法運算時,也要求除數(shù)和被除數(shù)都用非壓縮的BCD碼形式來表示,這是與對BCD碼乘法的要求類似的地方。這里要特別注意一點,對BCD碼除法運算的調(diào)整是在進行除法之前,通過對除數(shù)和被除數(shù)進行調(diào)整來實現(xiàn)的。調(diào)整操作如下:AL←10×AH+ALAH←03.2.3邏輯運算和移位指令1.邏輯運算指令8086邏輯運算指令包括AND(與)、OR(或)、NOT(非)、XOR(異或)指令和TEST(測試)指令。2.移位指令(1)SAL/SHL算術(shù)左移和邏輯左移指令(2)SAR算術(shù)右移指令(3)SHR邏輯右移指令3.循環(huán)移位指令(1)ROL不帶進位的循環(huán)左移指令(2)ROR不帶進位的循環(huán)右移指令(3)RCL帶進位的循環(huán)左移指令(4)RCR帶進位的循環(huán)右移指令3.2.4串操作指令在串操作中,一般假定源串在數(shù)據(jù)段中(DS),用SI作源串地址指針,而目的串在附加段中(ES),用DI作目的串地址指針。在每做一次串操作后,若是對字節(jié)進行操作,則SI和DI的值會自動加1或減l;若是對字進行操作,則SI和DI的值就自動加2或減2,是加還是減由DF標志寄存器來決定。若DF=0,則SI和DI增量修改;DF=1,則SI和DI做減量修改。在串操作前可用STD指令使DF位置l,也可以用CLD指令使DF位清0。1.MOVS串傳送指令指令格式:MOVSDST,SRCMOVSB;字節(jié)傳送MOVSW;字傳送指令功能:(DI)←((SI))字節(jié)操作SI←(SI)±1;DI←(DI)±1;字操作SI←(SI)±2;DI←(DI)±2;該類指令執(zhí)行時,將把當前數(shù)據(jù)段中用SI指針指出的源串的一個字節(jié)或一個字傳送到用DI指針指向的附加段的目的地址中去。當DF=0且是字節(jié)傳送時,則傳送后SI、DI加1,以使指針指向下一個地址;當DF=0且是字傳送時,則SI、DI加2。若DF=1,則SI、DI減1或減2。2.CMPS串比較指令指令格式:CMPSSRC,DSTCMPSB;字節(jié)比較CMPSW;字比較指令功能:((SI))-((DI))字節(jié)操作SI←(SI)±1;DI←(DI)±1;字操作SI←(SI)±2;DI←(DI)±2;該類指令執(zhí)行時,將當前數(shù)據(jù)段由SI所指出的字節(jié)和字同當前附加段中由DI所指出的目的串的字節(jié)或字進行比較,把比較結(jié)果送標志位。該指令對操作數(shù)不產(chǎn)生影響。3.SCAS串掃描指令指令格式:SCASDSTSCASB;字節(jié)掃描SCASW;字掃描指令功能:字節(jié)操作AL-((DI))DI←(DI)±1;字操作AX-((DI))DI←(DI)±2;該類指令是串掃描指令,用于尋找內(nèi)存區(qū)中指定的數(shù)據(jù)和字符。指令執(zhí)行時,將AL或AX的值減去附加段中由DI所指定的字節(jié)或字,結(jié)果將改變標志位,但不改變操作數(shù)的值。4.LODS串裝入指令指令格式LODSSRCLODSB;字節(jié)傳送LODSW;字傳送指令功能:字節(jié)操作AL←((SI))SI←(SI)±1字操作AX←((SI))SI←(SI)±2該類指令是字串裝入指令。它將由SI所指定的源串字節(jié)或字裝入到累加器AL或AX中去,并根據(jù)DF的值修改指針SI,以指向下一個要裝入的字節(jié)或字。5.STOS串存儲指令指令格式:STOSDSTSTOSB;字節(jié)存儲STOSW;字存儲指令功能:字節(jié)操作((DI))←(AL)DI←(DI)±1字操作((DI))←AXDI←(DI)±2該類指令是字串存貯指令。它將AL或AX中的字節(jié)或字存貯到由DI所指定的附加段中去,且根據(jù)DF的值來修改DI的值。6.REP重復操作前綴它是串指令的前綴。當某一條指令需要多次重復時,就可以加上該前綴。重復次數(shù)應放在寄存器CX中。這樣每重復執(zhí)行一次,CX內(nèi)容減1,直到CX=0,才停止重復。7.REPE/PEPZ相等/為零時重復操作前綴它們是條件重復前綴。當條件滿足時,才重復執(zhí)行后面的串指令,一旦條件不滿足,重復就停止。REPE/REPZ指令是相等重復指令,即只要ZF=l,且CX≠0,串指令就重復執(zhí)行。8.REPNE/PEPNZ不相等/不為零時重復操作前綴它們是條件重復前綴。當條件滿足時,才重復執(zhí)行后面的串指令,一旦條件不滿足,重復就停止。REPNE/REPNZ指令是不相等重復指令,即只要ZF=0,且CX≠0,串指令就重復執(zhí)行。例:在100個字符的單元STRING中找到第一個回車符CR(ASCII碼0DH),找到后將地址保存到DI,并在屏幕上顯示“Y”,如果沒有,顯示“N”。LEADI,STRINGMOVAL,0DHMOVCX,100CLDREPNESCASBJZMATCHMOVDL,‘N’JMPDISPMATCH:DECDIMOVDL,‘Y’DISP:MOVAH,02HINT21HHLT3.2.5程序控指令1.JMP無條件轉(zhuǎn)移指令這些指令都將引起程序執(zhí)行順序的改變。轉(zhuǎn)移有段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移之分。所謂段內(nèi)轉(zhuǎn)移是指段地址不變,僅IP發(fā)生改變;而段間轉(zhuǎn)移,CS和IP均發(fā)生改變。(1)段內(nèi)直接短轉(zhuǎn)移指令格式:JMPSHORTLOOP指令功能:IP←(IP)+8位偏移量其中LOOP為轉(zhuǎn)移目標地址,可直接使用符號地址,又稱標號。SHORT為屬性運算符,指示匯編程序?qū)⒌刂穮R編成8位偏移量,范圍在-128~+127之內(nèi)。(2)段內(nèi)直接近轉(zhuǎn)移指令格式:JMPNEARPTRLOOP或JMPLOOPl;NEAR可省略指令功能:IP←(IP)+16位偏移量其中LOOP為轉(zhuǎn)移目標地址,可直接使用符號地址,又稱標號。NEARPTR為屬性運算符,指示匯編程序?qū)⒌刂穮R編成16位偏移量,范圍在64K之內(nèi)。近程轉(zhuǎn)移JMPNEARPTRLOOPl(3)段內(nèi)間接轉(zhuǎn)移指令格式:JMPWORDPTROPRD指令功能:IP←(OPRD地址所對應連續(xù)兩單元的內(nèi)容)OPRD的有效地址由尋址方式?jīng)Q定。OPRD可以為寄存器尋址或存儲器尋址的某一種。如果是寄存器尋址,指令中直接給出寄存器號,寄存器中的內(nèi)容送到IP中;如果是存儲器尋址,按存儲器尋址方式形成的地址所對應的單元內(nèi)容給IP指針??梢灾苯拥卣f,段內(nèi)間接轉(zhuǎn)移,其轉(zhuǎn)移地址在寄存器中或存儲器中。 JMPCXJMPWORDPTR[BX]遠程轉(zhuǎn)移是段間的轉(zhuǎn)移,目的地址與JMP指令所在地址不在同一段內(nèi)。執(zhí)行該指令時要修改CS和IP的內(nèi)容。(4)段間直接轉(zhuǎn)移指令格式:JMPFARPTRLOOP指令功能:IP←LOOP的偏移地址CS←LOOP的所在段地址(5)段間間接轉(zhuǎn)移JMPDWORDPTR[BP]][DI]該指令指定的雙字指針的第一個字單元內(nèi)容送入IP,第二個字單元內(nèi)容送入CS,所定義的單元必定是雙字單元。2.子程序調(diào)用和返回指令(1)段內(nèi)調(diào)用和返回指令1)段內(nèi)直接調(diào)用指令指令格式:CALLOPRD其中OPRD為被調(diào)用的過程或子程序的首地址。指令功能:SP?(SP)-2,(SP)?(IP)IP?OPRD對應16位直接地址在程序中,OPRD一般為子程序名,匯編時匯編成16位的偏移地址。在段內(nèi)直接調(diào)用時,CALL指令首先將當前IP內(nèi)容壓入堆棧。把子程序的首地址送IP,從而實現(xiàn)程序調(diào)用。2)段內(nèi)間接調(diào)用指令指令格式:CALLOPRD其中OPRD為被調(diào)用的過程或子程序的首地址。指令功能:段內(nèi)調(diào)用SP?(SP)-2,(SP)?(IP)IP?寄存器或存儲器所對應的16位數(shù)據(jù)指令執(zhí)行后,把16位通用寄存器或存儲單元中的內(nèi)容送入IP中,CS保持不變。例如:CALLWORDPTR[SI]CALLBX3)段內(nèi)返回指令指令格式:RET指令功能:IP←((SP+1),(SP))SP←(SP)+2RET指令是子程序返回的主要指令,與調(diào)用指令配合使用。(2)段間調(diào)用與返回指令1)
段間直接調(diào)用指令指令格式:CALLOPRD指令功能:SP?(SP)-2((SP)+1,(SP))?(CS)SP?(SP)-2,(SP)?(IP)IP?OPRD所在段的直接地址CS?直接地址所在的段1)
段間間接調(diào)用指令格式:CALLOPRD指令功能:SP?(SP)-2((SP)+1,(SP))?(CS)SP?(SP)-2(SP)+1,(SP)?(IP)IP?OPRD所在存儲單元的前兩個單元的內(nèi)容CS?OPRD所在存儲單元的后兩個單元的內(nèi)容例如:CALLDWORDPTR[BX]2)
段間返回指令指令格式:RET指令功能:IP←((SP+1),(SP))SP←(SP)+2CS←((SP+1),(SP))SP←(SP)+2即連續(xù)執(zhí)行兩次出棧操作,首先彈出的送入IP中,第二次彈出的送入CS中。3.條件轉(zhuǎn)移指令8086有18條不同的條件轉(zhuǎn)移指令。它們根據(jù)標志寄存器中各標志位的狀態(tài),決定程序是否進行轉(zhuǎn)移。條件轉(zhuǎn)移指令的目的地址必須在現(xiàn)行的代碼段(CS)內(nèi),并且以當前指針寄存器IP內(nèi)容為基準,其位移必須在-128~+127的范圍之內(nèi)。因此條件轉(zhuǎn)移指令的范圍是有限的,不像JMP指令那樣可以轉(zhuǎn)移到內(nèi)存的任何一個位置上。4.循環(huán)控制指令這類指令用于控制程序的循環(huán),其控制轉(zhuǎn)向的目的地址是在以當前IP內(nèi)容為中心的-128~127的范圍內(nèi)。這類指令用CX作計數(shù)器,每執(zhí)行一次指令,CX內(nèi)容減1,直到減為0,循環(huán)才結(jié)束。(1)指令格式:LOOPOPRD指令功能:CX←(CX)-1若CX≠0循環(huán)。(2)指令格式:LOOPNEOPRD指令功能:CX←(CX)-1若CX≠0且ZF=0循環(huán)。(3)指令格式:LOOPEOPRD指令功能:CX←(CX)-1若CX≠0且ZF=l循環(huán)。在LOOPE和LOOPNE兩條指令中,只要兩個條件中任—個不滿足,循環(huán)就結(jié)束。5.處理器控制指令§3.3DOS功能調(diào)用DOS功能調(diào)用可完成I/O設(shè)備管理、存儲管理、文件管理和作業(yè)管理等功能。對于用戶來說,這些功能模塊就是幾十個獨立的中斷服務程序,這些程序的入口地址已由系統(tǒng)置入中斷向量表中,在匯編語言程序中可用軟中斷指令直接調(diào)用。這樣,用戶就不必深入了解有關(guān)設(shè)備的電路和接口,只須遵照DOS規(guī)定的調(diào)用原則即可使用。1.系統(tǒng)功能調(diào)用方法要完成系統(tǒng)功能調(diào)用,基本按如下步驟:(1)
將入口參數(shù)送到指定寄存器中。(2)
子程序功能號送入AH寄存器中。(3)
使用INT21H指令。2.常用的幾種系統(tǒng)功能調(diào)用(1)鍵盤輸入單字符這是1號系統(tǒng)功能調(diào)用,使用格式如下所示:MOVAH,1INT21H(2)輸出單字符這是2號系統(tǒng)功能調(diào)用,使用格式如下所示:MOVDL,’A’MOVAH,2INT21H執(zhí)行2號系統(tǒng)功能調(diào)用時,將置入DL寄存器中的字符從屏幕上顯示輸出(或打印機打印輸出)。(3)鍵盤輸入字符串這是10號系統(tǒng)功能調(diào)用,其功能是將鍵盤輸入的字符串寫入到內(nèi)存緩沖區(qū)中,因此必須事先在內(nèi)存儲器中定義一個緩沖區(qū)。(4)輸出字符串這是9號系統(tǒng)功能調(diào)用,其功能是將指定的內(nèi)存緩沖中字符串從屏幕顯示輸出。緩沖區(qū)中的字符串以“$”字符作為結(jié)束標志。(5)從串行輸入單字符這是3號系統(tǒng)功能調(diào)用,其使用格式如下:MOVAH,3INT21H它沒有入口參數(shù),系統(tǒng)將從異步通信口串行輸入的字符置入AL寄存器中。(6)向串口輸出單字符這是4號系統(tǒng)功能調(diào)用,其使用格式如下:MOVDL,’$’MOVAH,4INT21H執(zhí)行結(jié)果將DL寄存器中的字符通過異步通信口串行輸出。(7)直接控制臺輸入/輸出單字符這是6號系統(tǒng)功能調(diào)用,如果(DL)=0FFH,則表示從鍵盤輸入單字符送AL寄存器中;如果(DL)≠0FFH,則表示將DL寄存器中內(nèi)容送屏幕顯示輸出。(8)無回顯直接控制臺輸入單字符這是7號系統(tǒng)功能調(diào)用,等待從標準輸入設(shè)備輸入單字符置入AL寄存器中,但不送屏幕顯示。其使用格式如下:MOVAH,7INT21H它沒有入口參數(shù),系統(tǒng)等待從控制臺標準輸入設(shè)備輸入單字符后,將其ASCⅡ置入AL寄存器中。(9)無回顯鍵盤輸入單字符這是8號系統(tǒng)功能調(diào)用,等待從鍵盤輸入單字符,將其ASCⅡ碼置入AL寄存器中。但不送屏幕顯示,其使用格式如下:MOVAH,8INT21H它沒有入口參數(shù),與1號系統(tǒng)功能調(diào)用的區(qū)別僅在于鍵入的字符不送屏幕顯示。(10)返回操作系統(tǒng)這是4CH號系統(tǒng)功能調(diào)用,其使用格式如下:MOVAH,4CHINT21H(11)設(shè)置日期這是2BH號系統(tǒng)功能調(diào)用,其功能是設(shè)置有效日期。例如,設(shè)置當前日期是2004年11月26日。其使用格式如下:MOVCX,2004HMOVDH,11HMOVDL,26HMOVAH,2BHINT21H(12)取得日期這是2AH號系統(tǒng)功能調(diào)用,其功能是將當前有效日期取到CX和DX寄存器中,存放格式與設(shè)置日期相同,其使用格式如下:MOVAH,2AHINT21H教案授課題目教研室主任教務科長授課時數(shù)教學方法教具授課班級與時間教學目標知識目標:本章重點介紹半導體存儲器系統(tǒng)基本知識及分類,講述微型計算機存儲器系統(tǒng)的構(gòu)成及微機系統(tǒng)與外部存儲器的連接方法。技能目標:本章難點是存儲器系統(tǒng)的構(gòu)成和微機系統(tǒng)和外部存儲器的連接方法。教學重點本章重點介紹半導體存儲器系統(tǒng)基本知識及分類,講述微型計算機存儲器系統(tǒng)的構(gòu)成及微機系統(tǒng)與外部存儲器的連接方法。教學難點本章難點是存儲器系統(tǒng)的構(gòu)成和微機系統(tǒng)和外部存儲器的連接方法。教學內(nèi)容、方法及過程6.1存儲器系統(tǒng)概述隨著大規(guī)模、超大規(guī)模集成電路技術(shù)的發(fā)展,半導體存貯器的發(fā)展和更新日新月異。各種存取時間短、容量大、功耗低、價格便宜的器件不斷涌現(xiàn),為用戶構(gòu)成不同規(guī)模的存貯系統(tǒng)帶來了極大的方便。本章主要介紹各類半導體存貯器并著重說明這些存貯器在工程上如何使用。6.1.1存儲器的分類2、按照構(gòu)成存儲器材料的不同,可分為半導體存儲器、磁存儲器、激光存儲器、紙卡存儲器1、根據(jù)存儲器是設(shè)在主機內(nèi)部還是外部,可分為內(nèi)部存儲器(主存儲器)和外部存儲器(輔存儲器)根據(jù)存儲器是設(shè)在主機內(nèi)部還是外部,可分為內(nèi)部存儲器(主存儲器)和外部存儲器(輔存儲器)內(nèi)存用來存儲當前運行所需要的程序和數(shù)據(jù),以便直接與CPU交換信息。相對外存而言,它容量小,存取速度快,價格較高;外存存放當前暫不參與運行和永久保存的一些程序和數(shù)據(jù),在CPU需要處理時再成批的與內(nèi)存交換。它容量大,價格較低,但存取速度慢。按照構(gòu)成存儲器材料的不同,可分為半導體存儲器、磁存儲器、激光存儲器、紙卡存儲器RAM隨機讀寫存儲器(RandomAccessMemory)ROM只讀存儲器(ReadOnlyMemory)它的內(nèi)容可讀出、寫入或改寫,主要用于存放各種現(xiàn)場的輸入、輸出數(shù)據(jù)、中間計算結(jié)果及作堆棧用等。內(nèi)容只可讀出不可寫入,最大優(yōu)點是所存信息可長期保存,斷電時,ROM中的信息不會消失。主要用于存放固定的程序和數(shù)據(jù),通常用它存放引導裝入程序。Cache高速緩沖存儲器CPU主存儲器Cache是位于CPU和主存(DRAM)之間規(guī)模較小、速度很高的靜態(tài)存儲器(SRAM)。在Cache中通常存放CPU當前用的最多的程序和數(shù)據(jù),是使CPU能以最高的速度工作。設(shè)置高速緩沖存儲器是高檔微型計算機中最常用的一種方法,目前一般也將它們或它們的一部分制作在CPU芯片中。6.1.2存儲器的性能指標1、存儲容量用某一芯片有多少個存儲單元,每個存儲單元存儲若干位來表示,是以bit為單位的。存儲容量=地址單元數(shù)×數(shù)據(jù)線位數(shù)2、存取時間即存取芯片中某一個單元的數(shù)據(jù)所需要的時間。3、其它指標可靠性、功耗、價格等6264芯片容量為8k×8bit[例1]①512×4②1K×4③2K×1④8K×8[例2]欲組成16K×8的存儲器,需存儲器2114(1K×4)多少片?解:所需芯片數(shù)應為(8/4)×(16K/1K)=2×16=32(片)問題1、現(xiàn)有1024×1bit靜態(tài)RAM芯片,欲組成64K×8bit存儲容量的存儲器,試求需要多少片RAM芯片?多少芯片組?多少根片內(nèi)地址選擇線?多少根芯片選擇線?2、設(shè)有一個具有14位地址和8位字長的存儲器,問:①該存儲器能存儲多少位的信息?②如果存儲器由1K×1bit的靜態(tài)RAM芯片組成,需多少芯片?答案:512片64組10根6根答案:128Kbit128片6.2讀寫存儲器(RAM)靜態(tài)讀寫存儲器SRAM(6264)讀寫存儲器(RAM)動態(tài)讀寫存儲器DRAM(2164)只讀存儲器EPROM(2764)EEPROM62648K×8bit的SRAM芯片6.2.1靜態(tài)讀寫存貯器(SRAM)2、工作過程寫入數(shù)據(jù):在芯片的A12~A0上加上要寫入單元的地址;在D7~D0上加上要寫入的數(shù)據(jù);使CS1和CS2同時有效;在WE上加上有效的低電平,OE無效高電平。3、半導體存儲器與CPU的連接存儲器接口的設(shè)計存儲器片選控制方法:常用的片選控制方法有線選法、全譯碼法、局部譯碼法等幾種。(1)線選法線選法除將低位地址直接接片內(nèi)地址外,將余下的高位地址線,分別作為各個存儲器芯片的片選控制信號,如圖所示。(2)全地址譯碼法例1:存儲器62648KB芯片工作在F0000H—F1FFFH內(nèi)存空間,畫出和系統(tǒng)的連線圖。(3)部分地址譯碼方式6.2.2DRAM單管基本存儲電路讀操作——
◆行地址譯碼選中某一行,該行上所有基本存儲電路中的管子T全導通,
于是連在每一列上的刷新放大器讀取該行上各列電容C的電壓。
◆刷新放大器靈敏度高,將讀得的電壓放大整形成邏輯“0”或“1”的電平。
◆對列地址進行譯碼產(chǎn)生列選信號,列選信號將被選行中該列的基本存
儲電路內(nèi)容讀出送到芯片的數(shù)據(jù)輸入/輸出I/O線上。寫操作——
相應行、列選擇線為“1”,數(shù)據(jù)輸入/輸出I/O線上的信息經(jīng)刷新放大
器驅(qū)動后再通過T管加到電容C上。刷新(再生)——
◆在讀/寫過程中,某條行選線為“1”,該行上所有(各列)基本存儲電
路都被選通,由刷新放大器讀取電容C上電壓;
◆對非寫的存儲電路,刷新放大器讀出、放大、驅(qū)動之后又立即對之重
寫,進行刷新(又稱再生),維持電容C上的電荷,保持該存儲電路中
的內(nèi)容(即狀態(tài))不變。
◆電容C是MOS管的極間電容,容量很小,讀出時電容C上的電荷又被寄
生的分布電容分泄,因此讀出后原來C上的電壓變得極小,是破壞性
讀出,讀后必須重寫。刷新操作周期——
◆電容C上電壓將按exp(-t/(RC))指數(shù)規(guī)律放電,因此DRAM須不斷進行讀
出和再寫入,以使泄放的電荷得到補充,即要進行刷新(再生)。雖然
每次讀/寫操作都進行了刷新,因為讀/寫操作是隨機的,不能保證
對DRAM中的所有基本存儲電路都按時刷新,因此必須設(shè)置專門的電路
來對DRAM中的所有存儲電路周期性地進行刷新操作。
◆每個DRAM存儲單元兩次刷新的間隔時間隨溫度而變化,一般為1~
100ms。在70℃情況下典型的刷新時間不超過2ms。動態(tài)隨機存取存儲器DRAM典型存儲器——動態(tài)RAM存儲器芯片Intel2164A(2)內(nèi)部結(jié)構(gòu)?存儲體:64K×1;?地址鎖存器:Intel2164A采用雙譯碼方式,其16位地址信息要分兩次送入芯片內(nèi)部,在芯片內(nèi)部有一個能保存8位地址信息的地址鎖存器;?數(shù)據(jù)輸入緩沖器:用以暫存輸入的數(shù)據(jù);?數(shù)據(jù)輸出緩沖器:用以暫存要輸出的數(shù)據(jù);?1/4I/O門電路:由行、列地址信號的最高位控制,能從相應的4個存儲矩陣中選擇一個進行輸入/輸出操作;典型存儲器——動態(tài)RAM存儲器芯片Intel2164A?行、列時鐘緩沖器:用以協(xié)調(diào)行、列地址的選通信號;?寫允許時鐘緩沖器:用以控制芯片的數(shù)據(jù)傳送方向;?128讀出放大器:與4個128×128存儲陣列相對應,接收由行地址選通的4×128個存儲單元的信息,經(jīng)放大后,再寫回原存儲單元,是實現(xiàn)刷新操作的重要部分;?1/128行、列譯碼器:分別用來接收7位的行、列地址,經(jīng)譯碼后,從128×128個存儲單元中選擇一個確定的存儲單元,以便對其進行讀/寫操作。將動態(tài)存儲器所存放的每一比特信息讀出并照原樣寫入原單元的過程稱為動態(tài)存儲器的刷新。刷新過程行地址循環(huán)一遍,可將整個芯片的所有地址單元刷新一遍。6.3只讀存儲器ROM第1類ROM,其中的內(nèi)容是在廠家制造時采用掩模操作或稱掩模編程而建立的,用戶無法改變這種ROM器件中的內(nèi)容,這類ROM稱為掩模ROM,簡稱ROM。第2類ROM中的內(nèi)容是由用戶根據(jù)需要借助于專門的設(shè)備來建立的,這類ROM稱為可編程只讀存儲器(PROM)。如同掩模編程的ROM一樣,PROM一旦編程后,其中的內(nèi)容就再也不能改變了。第3類ROM不僅可由用戶編程,而且還可以用特殊的設(shè)備擦除其中的內(nèi)容并重復編程多次,它們被稱為可擦可編程只讀存儲器(EPROM)。根據(jù)擦去信息的方式不同,EPROM分為紫外線擦除EPROM(簡稱EPROM)和電擦除的EPROM(ElectricallyEPROM)兩種,后者簡稱EEPROM(即E2PROM)。EEPROM用電信號擦除信息的時間為若干毫秒,比紫外線擦除信息的時間短得多。EEPROM的主要優(yōu)點是可按字節(jié)進行擦除和重新編程。本節(jié)介紹掩模ROM、PROM和EPROM的基本原理。掩模只讀存儲器ROM可編程只讀存儲器PROM可擦可編程只讀存儲器EPROME2PROMFLASH存儲器(FlashMemory)原理上,F(xiàn)LASH屬于ROM型,但可隨時改寫信息功能上,F(xiàn)LASH相當于RAM特點:可按字節(jié)、區(qū)塊(Sector)或頁面(Page)進行擦除和編程操作快速頁面寫入:先將頁數(shù)據(jù)寫入頁緩存,再在內(nèi)部邏輯的控制下,將整頁數(shù)據(jù)寫入相應頁面由內(nèi)部邏輯控制寫入操作,提供編程結(jié)束狀態(tài)具有在線系統(tǒng)編程能力具有軟件和硬件保護能力內(nèi)部設(shè)有命令寄存器和狀態(tài)寄存器內(nèi)部可以自行產(chǎn)生編程電壓(VPP),所以只用VCC供電特點1、使內(nèi)部存儲信息在不加電的情況下保持10年左右2、可以用比較快的速度將信息擦除以后重寫,反復擦寫達幾十萬次,可以實現(xiàn)分塊擦除和重寫,也可以按字節(jié)擦除與重寫。還具有非易失性,可靠性能好,速度快以及容量大等許多優(yōu)點27648K×8bit的EPROM芯片教案授課題目第7章輸入輸出接口教研室主任教務科長授課時數(shù)教學方法教具授課班級與時間教學目標知識目標:本章重點介紹輸入輸出接口的基本概念和輸入輸出接口的功能;著重討論不同外設(shè)數(shù)據(jù)傳送的不同方法及簡單接口的應用。技能目標:掌握無條件傳送和查詢傳送的工作原理,難點是接口芯片的應用。教學重點本章重點介紹輸入輸出接口的基本概念和輸入輸出接口的功能;著重討論不同外設(shè)數(shù)據(jù)傳送的不同方法及簡單接口的應用。教學難點掌握無條件傳送和查詢傳送的工作原理,難點是接口芯片的應用。教學內(nèi)容、方法及過程7.1微型計算機的輸入/輸出接口7.1.1輸入/輸出接口1.I/O接口的功能一個接口的基本功能是在系統(tǒng)總線和I/O設(shè)備之間傳輸信號,提供緩沖作用,以滿足接口兩邊的時序要求。尋址功能輸入輸出功能聯(lián)絡功能速度匹配功能數(shù)據(jù)格式轉(zhuǎn)換功能中斷管理功能可編程功能2.外設(shè)接口的編址方式每個接口部件都含有一組寄存器,CPU與外設(shè)進行數(shù)據(jù)傳送時,各類信息在接口中進入不同的寄存器,一般稱這些寄存器為I/O端口,每個端口都有一個端口地址。系統(tǒng)對各種寄存器的操作,實際上是通過尋址,對個端口地址的選擇和操作,因此外設(shè)接口(I/O端口)有兩種編址方式。(1)外設(shè)地址與內(nèi)存地址統(tǒng)一編址這種編址方式又稱為存儲器映射編址方式。在這種編址方式中,將外設(shè)接口地址和內(nèi)部存儲器地址統(tǒng)一安排在內(nèi)存的地址空間中。即把內(nèi)存地址分配給外設(shè),由外設(shè)來占用這些地址。用于外設(shè)的這些地址,存儲器不能再使用。(2)外設(shè)與內(nèi)存獨立編址在這種編址方式中,內(nèi)存地址空間和外設(shè)地址空間是相互獨立的。例如,在8086CPU中,內(nèi)存地址是連續(xù)的1M字節(jié),從00000H~FFFFFH,而外設(shè)的地址范圍從0000H~FFFFH。它們相互獨立,互不影響。7.1.2輸入/輸出的控制方式 概括起來,在微型計算機系統(tǒng)中,主要有如下4種傳送方式解決上述問題: ①無條件傳送 ②查詢傳送 ③中斷傳送 ④直接存貯器存?。―MA)方式1.無條件傳送 在微機系統(tǒng)中,有一些簡單外設(shè).當它們工作時,隨時都準備好接收CPU的輸出數(shù)據(jù)或它們的數(shù)據(jù)隨時都是準備好的,CPU什么時候讀均可以正確地讀到它們的數(shù)據(jù)。也就是說外設(shè)無條件準備好向CPU提供數(shù)據(jù)或接收CPU送來的數(shù)據(jù)。在CPU與這樣的外設(shè)交換數(shù)據(jù)的過程中,數(shù)據(jù)交換與指令的執(zhí)行是同步的。因此也有人稱其為同步傳送。 無條件傳送方式是一種簡單的輸入輸出方式,一般用于控制CPU與低速接口之間的信息交換.例如,開關(guān)、溫度、壓力流量等(A/D)轉(zhuǎn)換器。由于這些信號變換緩慢,當需要采集這些數(shù)據(jù)時,外設(shè)已經(jīng)將數(shù)據(jù)準備就緒了,因此無需檢查端口的狀態(tài),就可以立即采集數(shù)據(jù)。由于數(shù)據(jù)保持時間相對于CPU的處理時間長得多,故輸入端可直接用輸入緩沖器與CPU的數(shù)據(jù)總線相連。若外設(shè)是輸出設(shè)備,一般要求接口有鎖存能力,也就是CPU送給外設(shè)的數(shù)據(jù)應該在接口中保持一段時間,其原因是外設(shè)的速度較慢,所以要求CPU送到接口的數(shù)據(jù)能保持到外設(shè)動作相適應的時間。開關(guān)K看作一個簡單的外設(shè)。K的狀態(tài)是確定的,要么閉合,要么打開。當計算機通過外設(shè)接口讀K的狀態(tài)時,一定會讀到指令執(zhí)行時刻K的狀態(tài). 當CPU讀接口地址FFF7H時,或門輸出為低電平。該電平使輸入接口三態(tài)門導通,則開關(guān)K的狀態(tài)就由數(shù)據(jù)線D0讀到CPU。判斷讀入數(shù)據(jù)D0=0時,K閉合;D0=1時,K打開。【例7-1】圖中外設(shè)是簡單的發(fā)光二極管.此外設(shè)的接口是用鎖存器來實現(xiàn)的.鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端。編寫點亮二極管的程序?!纠?-2】類似于例1中,讓接在Q0~Q7上的二極管自上而下輪流點亮3s,編寫程序?qū)崿F(xiàn)。
2.查詢方式 無條件傳送對于那些慢速的或總是準備好的外設(shè)是適應的。但是,許多外設(shè)并不總是準備好的。CPU與這類外設(shè)交換數(shù)據(jù)可以采用程序查詢方式。 所謂查詢方式就是微型計算機利用程序不斷地詢問外部設(shè)備的狀態(tài),根據(jù)它們所處的狀態(tài)來實現(xiàn)數(shù)據(jù)的輸入輸出。 為了實現(xiàn)這種工作方式,要求外部設(shè)備向微型計算機提供一個狀態(tài)信息。微型計算機校驗外部設(shè)備所提供的狀態(tài)信息,即查詢外部設(shè)備,以便確定它的下一步操作。(1)單一外設(shè)的查詢工作 最簡單的情況是單一外設(shè)的情況。其采用查詢方式傳送數(shù)據(jù)的過程如下所述。如果CPU要從外設(shè)接收一個數(shù)據(jù),則CPU首先查詢外設(shè)的狀態(tài),看外設(shè)數(shù)據(jù)是否準備好,若沒有準備好,則等待;若外設(shè)已將數(shù)據(jù)準備好,則CPU從外設(shè)讀取數(shù)據(jù),接收數(shù)據(jù)后,CPU向外設(shè)發(fā)響應信號,表示數(shù)據(jù)已被接收。外設(shè)收到響應信號后,即開始下一個數(shù)據(jù)的準備工作。 若CPU需要向外設(shè)輸出一個數(shù)據(jù),同樣,CPU首先查詢外設(shè)的狀態(tài),看其是否空閑,若正忙,則等待;若外設(shè)準備就緒,處于空閑狀態(tài),則CPU向外設(shè)送出數(shù)據(jù)和輸出就緒信號。就緒信號用來通知外設(shè);CPU送來有效數(shù)據(jù)。外設(shè)接收數(shù)據(jù)后,向CPU發(fā)出數(shù)據(jù)已收到的狀態(tài)信息。這樣,一個數(shù)據(jù)的輸出過程就告結(jié)束。【例7-3】如圖7-5所示,現(xiàn)欲將48000H為首地址的順序100個單元的數(shù)據(jù),利用查詢方式輸出到外設(shè)。外設(shè)經(jīng)輸入輸出接口與8086的系統(tǒng)總線連接。CPU通過三態(tài)接口(74LS244)可以查詢外設(shè)的狀態(tài),而且當外設(shè)狀態(tài)信號=1時,可以接收CPU由鎖存器(74LS273)輸出的數(shù)據(jù)。=0時,表示外設(shè)處于忙狀態(tài),不能接收數(shù)據(jù)。 程序如下:圖7-5查詢工作方式的I/O接口(2)多個外設(shè)查詢工作方式 上面我們介紹了單個外設(shè)利用查詢方式的工作情況。當系統(tǒng)中有多個外設(shè)時,查詢方式工作的流程成圖如圖7-6所示。 從圖可以看出,CPU逐個外設(shè)進行查詢。若發(fā)現(xiàn)那個外設(shè)準備就緒,就對該外設(shè)實施數(shù)據(jù)傳送。然后再對下一外設(shè)查詢,依次循環(huán)。從而可以實現(xiàn),在查詢過程中,CPU不能做別的事情,這就大大降低了CPU的效率。而且,假如某一外設(shè)剛好在查詢過后處于就緒狀態(tài),那么它必須等到CPU查詢完所有外設(shè),再次查詢此外設(shè)時才能發(fā)現(xiàn)它處于就緒狀態(tài),而后對此外設(shè)服務。這樣就不能對外設(shè)進行實時數(shù)據(jù)交換,這對許多實時性要求較高的外設(shè)來說,就有可能丟失數(shù)據(jù)?!?.2簡單接口7.2.1三態(tài)門接口芯片 根據(jù)前面內(nèi)容的介紹,大家已經(jīng)了解到主機與外設(shè)之間的連接必須通過接口芯片來完成信息的傳送,如:信息的放大、隔離以及鎖存。接口芯片的類型非常繁多,在此我們介紹幾種常用的簡單的接口芯片。 一個典型的三態(tài)門接口芯片(74LS244)如圖7-7所示。其中,DO0~DO7為8個輸入端,IO0~IO7為8個輸出端,E1E2是兩個控制端,低電平有效,當控制端有效時,三態(tài)門導通;當它們?yōu)楦唠娖綍r,相應的三態(tài)門口呈現(xiàn)高阻狀態(tài)。三態(tài)門只能作為輸入信號接口而不能作為輸出接口,這是因為74LS244三態(tài)門本身沒有對信號的保持或鎖存能力。7.2.2鎖存器接口芯片 前面提到的三態(tài)門器件,可以用作固定狀態(tài)的輸入接口。但是,由于它沒有保持(或稱鎖存)數(shù)據(jù)的能力,無法直接用它實現(xiàn)數(shù)據(jù)的輸出接口。最簡單的輸出接口芯片74LS374,它是一種帶有三態(tài)輸出的鎖存器,其引線圖如圖7.8所示。其中D0~D7為8個輸入端,Q0~Q7為8個輸出端,為允許輸出信號,低電平有效,CP脈沖上升沿鎖存,與8086CPU連接時,一般接ALE引腳。只有當=0時,74LS374的輸出三態(tài)門才導通。=1時,74LS374的輸出呈現(xiàn)高阻狀態(tài)。由于74LS374是8位的帶有三態(tài)輸出的鎖存器,具有更大的使用靈活性,故它既可以作為輸入接口,又可以用作輸出接口。7.2.3簡單接口舉例1.已知8D鎖存器74LS374用作輸出接口,與CPU總線連接圖如圖7-9所示。試編制一個接口程序,使其在Q0輸出端產(chǎn)生一個周期和幅度均任意的方波,如圖所示。圖7-9方波輸出接口電路2.LED數(shù)碼管(1)LED數(shù)碼管分為共陽和共陰兩種結(jié)構(gòu),在此只介紹一種共陽封裝的LED數(shù)碼管,如圖7-10所示。(2)接口電路 這段七段LED數(shù)碼管與微機系統(tǒng)總線有多種接口方式。此處介紹用74LS138作為譯碼器進行選片,用74LS273作為輸出接口,用三態(tài)門作為按鈕K的輸出接口,其連接圖如圖7-11所示。 在圖7-11中,要使數(shù)碼管顯示某數(shù)字或符號,必須用軟件來產(chǎn)生相應的數(shù)據(jù)。這是因為接口電路中沒有硬件譯碼器。例如,要顯示數(shù)字3,則LED的a、b、c、d、g各段應亮而e、f應不亮。結(jié)合圖,則應向74LS273寫數(shù)據(jù)4FH。為了方便,可在內(nèi)存中建立有關(guān)顯示的數(shù)字(或符號)與相對應輸出數(shù)據(jù)的對應表。 下面一段程序可判斷按鈕的狀態(tài)。當K閉合時,顯示3,當K斷開時顯示6。圖7-11LED數(shù)碼管及按鈕的一種接口電路教案授課題目第8章并行通信和并行接口8255A教研室主任教務科長授課時數(shù)教學方法教具授課班級與時間教學目標知識目標:本章重點掌握計算機系統(tǒng)并行通信的概念;并行接口Intel8255A的結(jié)構(gòu)功能、三種工作方式和應用。技能目標:難點是并行接口Intel8255A的工作方式選擇及特點,8255A與8086系統(tǒng)的連接應用。教學重點本章重點掌握計算機系統(tǒng)并行通信的概念;并行接口Intel8255A的結(jié)構(gòu)功能、三種工作方式和應用。教學難點難點是并行接口Intel8255A的工作方式選擇及特點,8255A與8086系統(tǒng)的連接應用。教學內(nèi)容、方法及過程8.1并行通信與并行接口8255A8.1.1并行通信 所謂通信就是計算機與外部設(shè)備或者計算機之間的信息交換、數(shù)據(jù)傳輸,在計算機中,通信是通過輸入輸出(I/O)接口電路來實現(xiàn)的與外部設(shè)備或者其他的計算機數(shù)據(jù)傳輸及信息交換的。計算機的兩種基本通信方式是并行通信和串行通信。 并行通信是指將構(gòu)成一組數(shù)據(jù)的各位同時進行傳送的一種通信方式,并行通信強調(diào)的是被傳送的各位同時輸入或輸出,例如一組8位數(shù)據(jù)或16位數(shù)據(jù)的同時傳入或傳出。 并行通信的優(yōu)點是傳輸速度快,信息率高,缺點是電纜耗損高。由于同時傳送所需的每一位二進制位都需要一根通信電纜,在進行長距離傳輸時,電纜的損耗會成為突出的問題,而且傳輸?shù)目煽啃噪S著距離的增加而下降,因此并行通信適用于數(shù)據(jù)傳輸率較高、傳輸距離較短的場合。8.1.2并行I/O接口 實現(xiàn)并行通信的接口稱為并行接口。一個并行接口可以設(shè)計成負責輸入信息的輸入接口,也可以設(shè)計成負責輸出信息的輸出接口,如果設(shè)計成同時具有輸入/輸出功能的接口就是所謂的雙向通信接口。在計算機系統(tǒng)中連接打印機的接口、顯示器接口就是輸出接口;連接磁盤驅(qū)動器的接口是雙向接口。 并行接口可以分為不可編程的硬件接口和可編程接口。8.2并行I/O接口芯片8255A8.2.18255A的外部引腳及內(nèi)部結(jié)構(gòu)1.8255A的外部引腳D7~D0為雙向數(shù)據(jù)信號線,用于8255A與系統(tǒng)數(shù)據(jù)線相連,傳送CPU與8255A之間的數(shù)據(jù)、控制信息、狀態(tài)信息。 RD(輸入):8255A讀信號,低電平有效。當有效時,CPU從8255A的指定端口讀取數(shù)據(jù)或狀態(tài)信息。通常接系統(tǒng)總線的信號。 WR(輸入):8255A寫信號,低電平有效。當有效時,CPU向8255A指定端口寫入控制字或數(shù)據(jù)。通常接系統(tǒng)總線的信號。 CS(輸入):片選信號,當它為低電平(有效)時,才能選中該8255A芯片,使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃氣調(diào)壓站安全信息報送
- 治具操作人員激勵措施
- 保健食品招投標經(jīng)驗梳理
- 新能源汽車合同審查制度
- 眼鏡制造起重機租賃合同范本
- 汽車行業(yè)實名制管理
- 制造業(yè)公章使用條例
- 旅游預訂服務簽約管理辦法
- 3D打印應屆生聘用合同模板
- 互聯(lián)網(wǎng)企業(yè)資質(zhì)認定辦法
- 咯血(課件幻燈)
- C++語言基礎(chǔ)知識
- 機關(guān)檔案管理工作培訓課件
- 工程施工階段全過程造價控制與管理工作方案 精品
- 移動室內(nèi)信號覆蓋系統(tǒng)介紹演示文稿
- DB15T 389-2021內(nèi)蒙古自治區(qū)造林技術(shù)規(guī)程
- 一年級上冊數(shù)學課件 《認識11~20各數(shù)》(第1課時) 蘇教版 (共19張PPT)
- 阿基米德原理說課市公開課金獎市賽課一等獎課件
- 醫(yī)療質(zhì)量安全核心制度要點解讀課件
- 屋脊檢驗批質(zhì)量驗收記錄表
- MODS護理培訓課件
評論
0/150
提交評論