版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理及應(yīng)用期末自測(cè)題、基本概念與術(shù)語(yǔ)1、 8086 是(16 )位計(jì)算機(jī)。8086 地址線有(20 )條,可直接尋址的空間最大為(1M )。2、 總線周期是指(進(jìn)行一次總線操作的時(shí)間)?;究偩€周期有(4 ) T 狀態(tài)。Tw 狀態(tài)是指(等待周期)3、8086CPU 允許的 I/O 地址線最多可達(dá)(16)條,最大尋址 I/O 空間為(64K) 。4、 8086CPU 由(總線接口部件 BIU,執(zhí)行部件 EU )兩部分組成,其功能為( 總 線接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與 I/O 端口的信息讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存 取等。執(zhí)行部件 EU 負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令
2、的執(zhí)行行。)。其中 8086CPU 中標(biāo)志寄存器的作用是(記錄指令運(yùn)行的狀態(tài)標(biāo)志和控制標(biāo)志),指令隊(duì)列的作用是( 完成指令的獲取和排隊(duì)),20 位地址加法器的作用是(將執(zhí)行單元提供的 16 位非重定位地址重定位為 20 位的存儲(chǔ)器物理地址,用于存儲(chǔ)器接口訪問(wèn)總線上實(shí)際 的物理存儲(chǔ)器)。代碼段物理地址由 CPU 的(CS,IP)兩個(gè)寄存器確定。堆棧段物理地址由 CPU 的(SS,SP )兩個(gè)寄存器確定。5、 8086 中斷源有( 系統(tǒng)外部中斷,內(nèi)部中斷兩 )個(gè)。8086 中斷服務(wù)程序入口地址由(中斷向量表)組成。中斷類(lèi)型號(hào)為 20H,其中斷向量為(80H )。6、 I/O 指令 IN/OUT,傳
3、送數(shù)據(jù)的寄存器為(AL,AX ),間接尋址時(shí)使用寄存器(DX ),其中IN AL,DX 的含義是(將 DX 中的數(shù)據(jù)寫(xiě)入到 AL 中 )。OUT 60H,AL 的含義是(將 AL 讀出到地址為60H 的端口中 )。7、 一片 8259A 可以管理(8 )級(jí)中斷;3 片 8259A 可以管理(16 )級(jí)中斷。8、 硬件中斷是(外部引發(fā),隨機(jī)的,執(zhí)行總線周期,中斷類(lèi)型碼由中斷控制器提供),軟件中斷是(內(nèi)部引發(fā),確定的,不執(zhí)行總線周期,中斷類(lèi)型確定)軟件中斷優(yōu)先級(jí)與硬件中斷優(yōu)先級(jí)相比,(軟件中斷)的級(jí)別高。9、 在中斷服務(wù)程序結(jié)束前,為正確返回,必須設(shè)置一條指令(IRET )。在子程序調(diào)用結(jié)束前,為
4、正確返回,必須設(shè)置一條指令(RET )。10、 若中斷控制器 8259 的中斷請(qǐng)求寄存器 IRR 狀態(tài)為 10100000B,說(shuō)明(IR5,IR7引腳上有中斷請(qǐng)求 )。ISR 狀態(tài)為 10100000B 說(shuō)明(出現(xiàn)了中斷嵌套)。11、 可編程定時(shí)器 8253 的地址有(16)個(gè)。共有(3 )獨(dú)立定時(shí)通道。工作方式有(6)個(gè)。12、并行接口 8255 有(4)個(gè)數(shù)據(jù)端口,有( 3)種工作方式。13、假設(shè) 8253 的端口地址為 40H43H,那么控制端口地址為( 43H)通道 0、1、2 的端口地址為(40H,41H,42H)。B、C 的地址為( 330H,331H,332H)15、 定時(shí)器 8
5、253 的門(mén)控信號(hào) GATE 作用是( 門(mén)控輸入端,用于外部控制計(jì)數(shù)器 的啟動(dòng)或停止計(jì)數(shù)的操作),CLK 端的作用是(計(jì)數(shù)器的時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào)),OUT 端作用是(定時(shí)器的輸出端)。16、 初始化定時(shí)器 8253 需要先寫(xiě)( 控制字),后寫(xiě)(定時(shí)初值)。17、 偽指令的作用是(指出匯編程序應(yīng)如何對(duì)源程序進(jìn)行匯編,如何定義變量,分14、假設(shè) 8255 的端口地址為330H333H,那么控制端口地址為(333H),端口 A、配存儲(chǔ)單元,以及指示程序的開(kāi)始和結(jié)束),( 不)產(chǎn)生機(jī)器代碼。二、簡(jiǎn)單應(yīng)用與簡(jiǎn)答題1 簡(jiǎn)述微型計(jì)算機(jī)的組成。微型計(jì)算機(jī)是由微處理器、存儲(chǔ)器、輸入/
6、輸出接口電路和系統(tǒng)總線構(gòu)成的裸機(jī)系統(tǒng)。2、 總線分為哪幾種類(lèi)型?微型計(jì)算機(jī)采用總線結(jié)構(gòu)有什么優(yōu)點(diǎn)?分為地址總線,數(shù)據(jù)總線與控制總線三類(lèi),又稱(chēng)三總線。微型計(jì)算機(jī)的三總線結(jié)構(gòu)是一個(gè)獨(dú)特的結(jié)構(gòu)。采用總線結(jié)構(gòu),系統(tǒng)中各功能部件之間的相互關(guān)系,變成了各功能部件面向總線的單一關(guān)系。一個(gè)部件只要符合總線標(biāo)準(zhǔn),就可以連 接到采用這種總線標(biāo)準(zhǔn)的系統(tǒng)中,使系統(tǒng)功能得到擴(kuò)展。3、8086 CPU 在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?其功能是什么?8086 的內(nèi)部結(jié)構(gòu)分成兩部分??偩€接口部件 BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息 讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU 負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼
7、與指令的執(zhí)行行。4、 8086 的總線接口部件由那幾部分組成?其功能是什么?8086 的總線接口部件主要由下面幾部分組成:4 個(gè)段寄存器 CS/DS/ES/SS,用于保存各段地址; 一個(gè) 16 位的指令指針寄存器 IP,用于保存當(dāng)前指令的偏移地址;一個(gè) 20 位地址加法器,用于形成 20 位物理地址;指令流字節(jié)隊(duì)列,用于保存指令;存儲(chǔ)器接口,用于內(nèi) 總線與外總線的連接。5、 8086 的執(zhí)行單元(部件)由那幾部分組成?有什么功能?8086 的執(zhí)行單元部件主要由下面幾部分組成:控制器、算數(shù)邏輯單元、標(biāo)志寄存器、通用寄存器組。(1)控制器,從指令流順序取指令、進(jìn)行指令譯碼,完成指令的執(zhí)行等。(2)
8、 算數(shù)邏輯單元 ALU,根據(jù)控制器完成 8/16 位二進(jìn)制算數(shù)與邏輯運(yùn)算。(3) 標(biāo)志寄存器,使用 9 位,標(biāo)志分兩類(lèi)。其中狀態(tài)標(biāo)志6 位,存放算數(shù)邏輯單元 ALU 運(yùn)算結(jié)果特征;控制標(biāo)志 3 位,控制 8086 的 3 種特定操作。(4)通用寄存器組,用于暫存數(shù)據(jù)或指針的寄存器陣列。6、簡(jiǎn)述 8086CPU 的流水線思想,與傳統(tǒng)計(jì)算機(jī)有何不同。在 8086CPU 中,指令的提取與執(zhí)行分別由總線接口部件 BIU 與執(zhí)行部件 EU 完成,兩個(gè) 單元重疊并行工作,這種機(jī)制稱(chēng)為流水線,這種工作方式有力的提高了 CPU 的工作效率。傳 統(tǒng)的計(jì)算機(jī)一般按照取指令、指令譯碼與執(zhí)行指令的串行步驟工作。7、
9、8086 和 8088 是怎樣解決地址線和數(shù)據(jù)線的復(fù)用問(wèn)題的?ALE 信號(hào)何時(shí)處于有效電平?8086/8088 采用時(shí)間分隔技術(shù)與地址鎖存技術(shù),通過(guò)地址鎖存允許信號(hào)ALE 鎖存 CPU送出的地址,有效解決地址線和數(shù)據(jù)線的復(fù)用問(wèn)題。ALE 在 T1 狀態(tài)有效,將 CPU 送出的 20 位地址鎖存。8、 計(jì)算機(jī)對(duì) I/O 端口編址時(shí)通常采用哪兩種方法?在 8086/8088 系統(tǒng)中,用哪種方法對(duì) I/O 端口進(jìn)行編址?對(duì)端口編址的兩種方法。計(jì)算機(jī)對(duì)內(nèi)存和I/O 端口統(tǒng)一編址;計(jì)算機(jī)對(duì)內(nèi)存和I/O 端口 分別進(jìn)行編址。在 8086/8088 系統(tǒng)中用計(jì)算機(jī)對(duì)內(nèi)存和I/O 端口獨(dú)立編址。9、一般的 I
10、O 接口電路安排有哪三類(lèi)寄存器?它們各自的作用是什么?(1 )安排數(shù)據(jù)寄存器、狀態(tài)寄存器、控制寄存器。(2)數(shù)據(jù)寄存器:存放 CPU 與外設(shè)之間傳送的數(shù)據(jù)信息。狀態(tài)寄存器:存放當(dāng)前外設(shè)所處的工作狀態(tài)??刂萍拇嫫鳎捍娣?CPU 通過(guò)接口向外設(shè)傳送控制信息。10 簡(jiǎn)述 CPU 與外設(shè)進(jìn)行數(shù)據(jù)交換的幾種常用方式與特點(diǎn)。CPU 與外設(shè)之間的數(shù)據(jù)傳輸有以下三種方式:程序方式、中斷方式、DMA 方式。(1 )程序方式又分為無(wú)條件傳送方式和條件傳送方式兩種方式,接口簡(jiǎn)單。無(wú)條件傳送方 式用于簡(jiǎn)單外設(shè),如 LED 顯示器。條件傳送方式用于外設(shè)較少、需要聯(lián)絡(luò)信號(hào)的情形。(2) 中斷傳送方式需要專(zhuān)門(mén)的中斷控制電路
11、。 CPU 利用率高, 速度快, 用于外設(shè)較多的實(shí) 時(shí)系統(tǒng)。(3)DMA 方式需要專(zhuān)用硬件電路。外設(shè)直接和存儲(chǔ)器進(jìn)行數(shù)據(jù)傳送,效率高,適合大量、 快速數(shù)據(jù)傳送,例如硬盤(pán)讀寫(xiě)等。11、 簡(jiǎn)述條件傳送方式的工作過(guò)程,主要適用的場(chǎng)合。條件傳送數(shù)據(jù)有三個(gè)環(huán)節(jié):(1)CPU 從接口中讀取狀態(tài)字。(2)CPU 檢測(cè)狀態(tài)字的對(duì) 應(yīng)位是否滿足就緒”條件,如不滿足,則回到前一步讀取狀態(tài)字。(3)如狀態(tài)字表明外設(shè)已處于就緒狀態(tài),則傳送數(shù)據(jù)。主要用于需要聯(lián)絡(luò)信號(hào)(如選通信號(hào))的外設(shè)較少的系統(tǒng)。12、 8086 CPU 響應(yīng)中斷的條件? 8086 CPU 響應(yīng)中斷后自動(dòng)完成的任務(wù)是什么?(1)有中斷源發(fā)出的中斷請(qǐng)求信
12、號(hào), 并保存在中斷請(qǐng)求觸發(fā)器中,直至 CPU 響應(yīng)此中斷請(qǐng)求之后才清除。(2)開(kāi)放總中斷。(3)在現(xiàn)行指令結(jié)束后響應(yīng)中斷。關(guān)中斷,斷點(diǎn)保護(hù),形成中斷入口地址。 即獲得中斷服務(wù)程序的入口地址,從而進(jìn)入中斷服務(wù)程序。13、 軟件中斷有哪些特點(diǎn)?硬件中斷有那些特點(diǎn)?軟件中斷是由 CPU 內(nèi)部事件引起的中斷,是確定的;與硬件無(wú)關(guān),不執(zhí)行中斷響應(yīng)周期;除單步中斷外,軟件中斷(內(nèi)部中斷)不可屏蔽;優(yōu)先級(jí)高于硬件中斷(外部中斷)。硬件中斷由外部事件引起,是隨機(jī)的,需要執(zhí)行總線周期,中斷類(lèi)型碼由中斷控制器提供。14、 什么是中斷向量?它放在哪里?對(duì)應(yīng)于類(lèi)型號(hào)1CH 的中斷向量在哪里?女口 1CH 中斷程 序從
13、 5110H :2030H 開(kāi)始,則中斷向量應(yīng)怎樣存放?中斷向量是中斷處理子程序的入口地址,它放在中斷向量表中。由 1ch*4=70H 知中斷向量存放在 0000 : 0070 處。由于中斷處理入口地址為5110H:2030H,所以 2030H 應(yīng)放在 0070H,0071H 兩個(gè)存儲(chǔ)單元,5110H 應(yīng)放在 0072H、0073H 這 2 個(gè)單元。15、 簡(jiǎn)述定時(shí)器/計(jì)數(shù)器芯片 8253 的主要功能。說(shuō)明 OUT、CLOCK 與 GATE 信號(hào)的作用。(1)具有 3 個(gè)獨(dú)立的 16 位定時(shí)/計(jì)時(shí)器,采用二進(jìn)制計(jì)數(shù)時(shí)最大計(jì)數(shù)范圍為065535,采用 BCD 碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值為 09999
14、(2)每個(gè)定時(shí)/計(jì)數(shù)器都有自己的時(shí)鐘輸入CLK,定時(shí)的輸出 OUT 和門(mén)控信號(hào) GATE ( 3)每個(gè)定時(shí)/計(jì)數(shù)器均可以按二進(jìn)制或BCD 碼計(jì)數(shù),計(jì)數(shù)頻率可達(dá) 2MHz( 4)每個(gè)定時(shí)/計(jì)數(shù)器都有 6 種工作方式,通過(guò)編程設(shè)置,計(jì)數(shù)器可做 計(jì)數(shù)用,也可做定時(shí)用(5)所有輸入和輸出電平都與TTL 兼容OUT 是計(jì)數(shù)器的輸出端,用于計(jì)數(shù)信號(hào)輸出,CLOCK 是計(jì)數(shù)器的時(shí)鐘脈沖輸入端,用 于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào),GATE 是門(mén)控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作16、 8253 內(nèi)部有幾個(gè)獨(dú)立通道? 8253 有幾種工作方式?初始化 8253 的步驟是什么?若 8253 端口地址
15、為 200H-203H,對(duì)應(yīng)的端口是哪個(gè)?8253 內(nèi)部有 3 個(gè)獨(dú)立通道,8253 有,6 種工作方式,初始化 8253 的步驟是:選擇計(jì)數(shù)器, 確定計(jì)數(shù)器數(shù)據(jù)的讀寫(xiě)格式,確定計(jì)數(shù)器的工作方式,確定計(jì)數(shù)器計(jì)數(shù)的數(shù)制,寫(xiě)入計(jì)數(shù)初 值,若 8253 端口地址為 200H-203H,計(jì)數(shù)器 0,1,2 和控制字寄存器端口的地址分別為200H,201H,202H 和 203H17、 并行接口 8255 有幾個(gè)數(shù)據(jù)端口?若端口地址為300H-303H,對(duì)應(yīng)的端口是哪個(gè)?怎樣 初始化 8255?并行接口 8255 有 4 個(gè)數(shù)據(jù)端口,若端口地址為 300H-303H,對(duì)應(yīng)的端口是,:端口 A、 B、C和
16、控制端口的地址分別為300H,301H,302H 和 303H18、 假設(shè) 8255A 的端口 A 工作于方式 0,外設(shè)需要提供兩個(gè)聯(lián)絡(luò)信號(hào),一個(gè)為輸出選通, 一個(gè)為外設(shè)就緒信號(hào)輸入,試選擇端口并說(shuō)明理由。若 8255A 的端口 A 工作于方式 0 輸出,外設(shè)需要提供兩個(gè)聯(lián)絡(luò)信號(hào),把端口 C 的高 4 位某位,例如 PC7 規(guī)定為輸出口,用來(lái)輸出選通信號(hào);而把端口C 的低 4 位規(guī)定為輸入口,例如用 PC0 用來(lái)讀入外設(shè)的狀態(tài)。就是這樣,利用端口C 來(lái)配合端口 A 和端口 B 的輸入/輸出操作。19、 中斷控制器 8259 的主要功能?簡(jiǎn)述 8259 的工作過(guò)程。中斷控制器 8259 具有 8
17、 級(jí)優(yōu)先權(quán)管理,可用 9 片擴(kuò)展為 64 級(jí)中斷系統(tǒng),接受中斷請(qǐng)求, 提供中斷類(lèi)型號(hào),具有屏蔽與開(kāi)放中斷的功能,可編程選擇不同工作方式8259 的工作過(guò)程:(1) .有請(qǐng)求輸入時(shí),將 IRR 相應(yīng)位置位;(2) .經(jīng) IMR 屏蔽電路處理后(IRR 與 IMR 相與),送 PR;(3) . PR 檢測(cè)出最高的中斷請(qǐng)求位,并經(jīng)嵌套處理考慮是否發(fā)送INT ;(4) .若可發(fā) INT 信號(hào),則控制邏輯將 INT 信號(hào)送給 CPU 的 INTR 引腳(6) .若 CPU 處在開(kāi)中斷,則在當(dāng)前指令完成后,發(fā)兩個(gè) INTA 信號(hào);(7) . 8259A 接到第一個(gè) INTA 信號(hào)后,使 ISR 位置位,I
18、RR 相應(yīng)位復(fù)位;(8) . CPU 啟動(dòng)另一個(gè)響應(yīng)周期,輸出第二個(gè)INTA 脈沖,8259A(9) .向數(shù)據(jù)總線送出中斷類(lèi)型碼;同時(shí), CPU 取出此向量乘以 4,(10) .得到中斷服務(wù)程序的入口地址;(11) .中斷響應(yīng)周期完成,CPU 執(zhí)行中斷服務(wù)程序,8259A 工作(12) .在自動(dòng)結(jié)束 AEOI 或普通結(jié)束 EOI 模式下,使 ISR 清 0。三、編程應(yīng)用題1、編程計(jì)算(X+Y)*10)+Z)/X ,X、Y、Z 都是 16 位無(wú)符號(hào)數(shù),結(jié)果存在 RESULT 開(kāi)始的單元。DATASEGMENTRESULTDW2DUPDATAENDSCODESEGMENTASSUMECS:CODE
19、,DS:DA TASTART:MOVAX,DATAMOVDS,AX;初始化MOVBX,0MOVAX,XADDAX,YJNCS0MOVBX,1S0:MOVDX,0MOVCX,10MULCXADDDX,BXADDAX,ZADCDX,0MOVBX,XDIVBXLEASI,RESULTMOVSI,AXADDSI,2MOVSI,DXMOVAH,4CHINT 21HCODEENDSENDSTART2、將 BUF1 開(kāi)始的 100 字節(jié)傳送到 BUF2 開(kāi)始的單元,然后從中檢索字符“ 元換成空格字符。DATASEGMENTBUF2DB100 DUPDATAENDSCODESEGMENTASSUMECS:CO
20、DE,DS:DATASTART:MOVAX,DA TAMOV DS,AX;初始化MOV ES,AXLEA SI,BUF1LEA DI,BUF2MOV CX,100CLD#”,并將此單REP MOVSBMOV CX,100LEA BUF2S :MOV AL, #COM AL,DIJNZ COUNMOV AL,MOV DI,ALCOUN: INC DILOOP SMOV AH,4CHINT 21HCODE ENDSEND START3、編寫(xiě)一段程序,比較兩個(gè)5 字節(jié)的字符串 OLDS 和 NEWS,若相同,在 RESULT 置 0,否則置 0FFH。DATA SEGMENTOLDS DB 1,2,
21、3,4,5NEWS DB 1,2,3,4,AN = $-NEWSRESULT DB 0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DA TAMOVDS,AX;初始化MOVSI,OFFSETOLDSMOVDI,OFFSETNEWSMOVCX,NDON:MOVAL, SICMPAL, DIJNZNOEQU;串不相等轉(zhuǎn)INCSIINCDILOOPDONMOVAL,0JMPOUTPUTNOEQU:MOVAL,0FFHOUTPUT:MOVRESULT,ALSTOP:JMPSTOP;程序陷阱CODEENDSEND START4、累加數(shù)組中的元素,
22、將和存于SUM 開(kāi)始單元,數(shù)據(jù)段定義如下DATA ENDSCODE ENDSEND START5、編寫(xiě)程序完成求 1 + 2 + 3+N 的累加和,直到累加和超過(guò) 1000 為止。統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù)送 CN 單元,累加和送SUM。DATASEGMENTCNDW?SUMDW?DATAENDSASSUMECS:CODE,DS:DA TASTART:MOVAX,DA TAMOVDS,AXMOVCX,0MOVAX,0MOVBX,1S:ADDAX,BXINCCXCMPAX,1000JAOKINCBXJMPSOK:LEASI,SUMDATA SEGMENTARRAYCOUNTSUMDW 10,10,
23、12,4,5,6,7,8,9,10DW ($-ARRAY)/2DW ?,?S:CS:CODE,DS:DA TAMOVAX,DA TAMOVDS,AXASSUMESTART:MOV SI,AXLEA DI,CNMOV DI,CXMOV AH,4CHINT 21HCODE ENDSEND START6、從給定串中尋找最大值,并放到 MAX 單元,元素放在 BUFFER 開(kāi)始的字節(jié)單元中。DATA SEGMENTBUFFER DB 10,32,56,11,90,56,89,21NEQU $-BUFFERMAXDB ?DATA ENDSASSUME CS:CODE,DS:DA TAMOV AX,DAT
24、AMOV DS,AXMOV CX,N-1LEA SI,BUFFERS: MOV AL,SICMP AL,SI+1JNA S1XCHG SI+1,ALXCHG SI,ALS1: INC SILOOP SMOV AL,SILEA SI,MAXMOV SI,ALMOV AH,4CHINT 21HCODE ENDSEND START 7、把 BUF 表中的字節(jié)元素按值的大小升序排列。數(shù)據(jù)段定義如下:BUF DB 10,32,56,11,90,56,89,21N = $-BUFDATA SEGMENTBUFDB10,32,56,11,90,56,89,21NEQU $-BUFDATA ENDSASSUM
25、E CS:CODE,DS:DA TASTART:START:MOVAX,DATAMOVDS,AXMOVDX,N-1S1:MOVBL,0MOVCXDXLEASI,BUFS2:MOVAL,SICMPAL,SI+1JNANOXCHGSI+1,ALXCHGSI,ALMOVBL,0FFHNO:INCSILOOPS2DECDXCMPDX,0JNES1MOVAH,4CHINT21HCODE ENDSEND START8、類(lèi)型號(hào)為 20H 的中斷服務(wù)程序入口符號(hào)地址為INT-5,試寫(xiě)出中斷向量的裝入程序片斷。CLIPUSHDSPUSHAXXORAX,AXMOVD S,AXMOVAX,OFFSETINT-5MO
26、VWORDPTR080H,AXMOVAX,SEGINT-5MOVWORDPTR082H,AXPOPAXPOPDSSTI9、設(shè)一個(gè) 8253 的計(jì)數(shù)器 0 產(chǎn)生周期為 20ms 的定時(shí)信號(hào),計(jì)數(shù)器 1 產(chǎn)生周期為 100ms 的定 時(shí)信號(hào)。設(shè)外部時(shí)鐘頻率為f=2MHZ,端口地址為 330H333H。試對(duì)它進(jìn)行初始化編程。MOVAL,00110100BMOVDX, 333HOUTDX,ALMOVAX,40000MOVDX, 330HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,01110100BMOVDX, 333HOUTDX,ALMOVAX,5MOVDX, 331HOUTDX,AL
27、MOVAL,AHOUTDX,AL10、已知某 8253 占用 I/O 空間地址為 40H43H,設(shè)定時(shí)器 0、定時(shí)器 1 工作于方式 3,外 部提供一個(gè)時(shí)鐘,頻率 f=2MHZ。要求定時(shí)器 1 連續(xù)產(chǎn)生 5ms 的定時(shí)信號(hào),定時(shí)器 0 連續(xù)產(chǎn) 生 5 秒的定時(shí)信號(hào)。MOVAL,00110110BOUT43H,ALMOVAX,1000OUT40H,ALMOVAL,AHOUT40H,ALMOVAL,01110110BOUT43H,ALMOVAX,5000OUT41HALMOVAL,AHOUT41H,AL11、 用 8255A 控制三個(gè)發(fā)光二極管依秩序循環(huán)顯示。假設(shè)開(kāi)關(guān)閉合時(shí),點(diǎn)亮發(fā)光二極管,開(kāi)關(guān)斷
28、開(kāi)時(shí)息滅二極管。(1)畫(huà)出原理圖,并說(shuō)明工作原理;(2)選擇 8255 工作方式;(3)編寫(xiě) 8255 初始化程序與控制程序。見(jiàn)課本 P22612、 8255 連接一組開(kāi)關(guān)與一組 LED 顯示器,如圖所示。開(kāi)關(guān)狀態(tài)用LED 顯示,若閉合, 則點(diǎn)亮。8255 端口地址為 310H313H。( 1)選擇 8255 工作方式;編寫(xiě) 8255 初始化程序與 控制程序。見(jiàn)課本 P233四、常用指令與讀程序1、8086 CPU 執(zhí)行如下指令后的結(jié)果,以及標(biāo)志CF、ZF 的值。MOVAL, 80HSUBAL, 10H;(AL)=70HADDAL, 89H;(AL)=F9H,CF=0,ZF=02、CPU 執(zhí)行
29、如下指令后的結(jié)果。MOVAX,1234HMOVBX,5678HPUSHAXPOPCXAX=1234H, BX=5678H, CX=1234H寫(xiě)出執(zhí)行下列指令結(jié)果MOVAX, TABLEMOVBX, OFFSET TABLEMOVCX, NMOVDX, LENGTHZERAX=0 BX=1000H CX=8 DX=243、單獨(dú)執(zhí)行下列指令的結(jié)果MOVAL,10110101BAL=10110101BANDAL,00011111BAL=00010101BORAL,11000000BAL=11010101BXORAL,00001111BAL=11011010B4、單獨(dú)執(zhí)行下列指令的結(jié)果假設(shè)(AL)=1
30、0101111B,CF=0,CL=4,寫(xiě)出分別執(zhí)行下列指令后的結(jié)果以及標(biāo)志位CF、ZF 的值。SHLAL,CLAL=11110000BCF=0 ZF=0SHRAL,CLAL=00001010BCF=1 ZF=0ROLAL,CLAL=11111010BCF=0 ZF=06、讀程序,寫(xiě)出結(jié)果。MOVAL,5BHTESTAL,80HJZLPMOVBL,1JMP STOPLP:MOV BL,0HLT執(zhí)行上述程序段后 AL=5BH BL=0五、程序設(shè)計(jì)與完善1、讀程序,寫(xiě)出結(jié)果。DATA SEGMENT;數(shù)據(jù)段定義BUF DB 8,2,3,4;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為8,2,3,4COUNT EQU
31、 $-BUF;計(jì)算 BUF 的字節(jié)長(zhǎng)度1、8086 CPU 執(zhí)行如下指令后的結(jié)果,以及標(biāo)志CF、ZF 的值。DATA ENDS;數(shù)據(jù)段定義CODE SEGMENT;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DA TA;程序執(zhí)行起始點(diǎn)MOVDS,AX;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段LEASI,BUF;BUF 偏移地址指向 SIMOVCX,COUNT;設(shè)定循環(huán)次數(shù)CALLADDONE;填空,調(diào)用子程序 ADDONEHLTADDONEPROCNEAR;子程序代碼段定義ADDBYTE PTRSI,1;SI 中數(shù)據(jù)加 1,送回 SIINCSI;SI 地址加 1LOOP
32、DON;循環(huán)判斷RET;返回主程序ADDONEENDP;子程序代碼段定義CODE ENDS;代碼段定義ENDSTART;程序結(jié)束(1)執(zhí)行上述程序段后 BUF 存儲(chǔ)區(qū)的內(nèi)容為:9, 3, 4, 5(2)給程序加上完整段定義。(3 )給程序加上注釋?zhuān)f(shuō)該程序功能。程序功能是將 BUF 中數(shù)據(jù)分別加 1,結(jié)果送回原存儲(chǔ)空間2、讀程序并完善。DATA SEGMENT;數(shù)據(jù)段定義ASSUME CS:CODE,DS:DATASTART:MOVAX,DATA;程序執(zhí)行起始點(diǎn)MOVDS,AX;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段MOVCX,N;設(shè)定循環(huán)次數(shù)MOVSl,offsetAR1 ;取 AR1 偏移地址送
33、 SI 寄存器MOVDl,offsetAR2;取 AR2 偏移地址送 DI 寄存器aga in:MOVAL,SI;將 SI 中數(shù)據(jù)送入 ALMOVDI,AL;AL 內(nèi)容送數(shù)據(jù)到 DI 所指單元INCDI;DI 所指地址加 1INCSI;SI 所指地址加 1LOOPagai n;循環(huán) againMOVAH, 4CH返回 DOSINT21HCODEENDS;代碼段定義ENDSTART;程序結(jié)束AR1DB 1,2,3,4,5,7;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容N =$-AR1;計(jì)算 AR1 的字節(jié)長(zhǎng)度AR2 DB N DUP(O);定義 N 字節(jié)存儲(chǔ)空間,內(nèi)容為 0,0,1,2,3,4,5,70,0,0
34、,0DATA ENDS;數(shù)據(jù)段定義CODE SEGMENT;代碼段定1)程序執(zhí)行前,AR2 單元內(nèi)容為:0,0,0,0,0,02)程序執(zhí)行后,AR2 單元內(nèi)容為:1,2,3,4,5,73)給程序加上注釋?zhuān)f(shuō)明程序功能;將 AR1 內(nèi)存單元中數(shù)據(jù)復(fù)制到偏移地址AR2 中4)給程序加上完整段定義。3、下面是程序主要片段:DATA SEGMENT;數(shù)據(jù)段定義BUF DB 0, 1,2,3;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為0,1,2,3COUNT = $- BUF;計(jì)算 BUF 的字節(jié)長(zhǎng)度ASCII DB 0, 0,0,0淀義一段字節(jié)存儲(chǔ)空間,內(nèi)容為,0,0,0,0DATAENDS;數(shù)據(jù)段定義CODE S
35、EGMENT;代碼段定義ASSUMECS:CODE,DS:DATASTART: MOVAX,DA TA;程序執(zhí)行起始點(diǎn)MOVDS,AX;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段LEASI, BUF;BUF 偏移地址指向 SILEADI, ASCII;ASCII 偏移地址指向 DIMOVCX, COUNT;設(shè)定循環(huán)次數(shù)DON: MOVAL,SI;SI 地址內(nèi)數(shù)據(jù)送入 ALADDAL, 30H;AL 中數(shù)據(jù)加 30H,轉(zhuǎn)換為該數(shù)據(jù)的 ASCII 碼MOVDI, AL;AL 中數(shù)據(jù)送入 DI 所指地址中INCSI;SI 所指地址加 1INCDI;DI 所指地址加 1LOOPDON;循環(huán) DONMOV AH, 4CH;返回 DOSINT21HCODE ENDS;代碼段定義ENDSTART;程序結(jié)束(1)根據(jù)需要加上完整數(shù)據(jù)段段定義、代碼段定義、程序結(jié)束等;(2)寫(xiě)出每行代碼的注釋?zhuān)f(shuō)明程序?qū)崿F(xiàn)的功能。程序的功能是將 BUF 存儲(chǔ)空間
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院物業(yè)采購(gòu)合同范例
- 房產(chǎn)開(kāi)發(fā)合作合同范例
- 獲獎(jiǎng)學(xué)生發(fā)言稿
- 《竹電子科技》課件
- 共同投資居間合同范例
- 員工聘用合同范例范例
- 住宅裝修公司合同范例
- 廣告獎(jiǎng)牌合同范例
- 墊鐵生產(chǎn)采購(gòu)合同范例
- 工程分包木工合同范例
- 中國(guó)古典發(fā)型
- 基礎(chǔ)生態(tài)學(xué)課后習(xí)題和答案
- 廈門(mén)宏發(fā)繼電器基礎(chǔ)知識(shí)(課堂PPT)
- 財(cái)務(wù)部長(zhǎng)競(jìng)聘PPT課件
- 儲(chǔ)罐大修施工方案
- 專(zhuān)業(yè)安全檢查表-吊索吊具
- 國(guó)槐在園林綠化中的作用
- 2022年住宅室內(nèi)裝飾裝修管理辦法全文
- 消弧線圈基礎(chǔ)施工方案
- 小學(xué)一年級(jí)數(shù)學(xué)小學(xué)一年級(jí)數(shù)學(xué)新思維訓(xùn)練(課堂PPT)
- 物流管理結(jié)課論文
評(píng)論
0/150
提交評(píng)論