微機(jī)原理與接口技術(shù)第二版龔尚福習(xí)題解析和實(shí)驗(yàn)指導(dǎo)_第1頁
微機(jī)原理與接口技術(shù)第二版龔尚福習(xí)題解析和實(shí)驗(yàn)指導(dǎo)_第2頁
微機(jī)原理與接口技術(shù)第二版龔尚福習(xí)題解析和實(shí)驗(yàn)指導(dǎo)_第3頁
微機(jī)原理與接口技術(shù)第二版龔尚福習(xí)題解析和實(shí)驗(yàn)指導(dǎo)_第4頁
微機(jī)原理與接口技術(shù)第二版龔尚福習(xí)題解析和實(shí)驗(yàn)指導(dǎo)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、【解】:按功能可分為兩部分:總線接口單元BIU(Bus Interface Unit)和執(zhí)行單元EU(Execution Unit)。總線接口單元BIU是8086 CPU在存儲(chǔ)器和I/O設(shè)備之間的接口部件,負(fù)責(zé)對(duì)全部引腳的操作,即8086對(duì)存儲(chǔ)器和I/O設(shè)備的所有操作都是由BIU完成的。所有對(duì)外部總線的操作都必須有正確的地址和適當(dāng)?shù)目刂菩盘?hào),BIU中的各部件主要是圍繞這個(gè)目標(biāo)設(shè)計(jì)的。它提供了16位雙向數(shù)據(jù)總線、20位地址總線和若干條控制總線。其具體任務(wù)是:負(fù)責(zé)從內(nèi)存單元中預(yù)取指令,并將它們送到指令隊(duì)列緩沖器暫存。CPU執(zhí)行指令時(shí),總線接口單元要配合執(zhí)行單元,從指定的內(nèi)存單元或I/O端口中取出數(shù)

2、據(jù)傳送給執(zhí)行單元,或者把執(zhí)行單元的處理結(jié)果傳送到指定的內(nèi)存單元或I/O端口中。執(zhí)行單元EU中包含1個(gè)16位的運(yùn)算器ALU、8個(gè)16位的寄存器、1個(gè)16位標(biāo)志寄存器FR、1個(gè)運(yùn)算暫存器和執(zhí)行單元的控制電路。這個(gè)單元進(jìn)行所有指令的解釋和執(zhí)行,同時(shí)管理上述有關(guān)的寄存器。EU對(duì)指令的執(zhí)行是從取指令操作碼開始的,它從總線接口單元的指令隊(duì)列緩沖器中每次取一個(gè)字節(jié)。如果指令隊(duì)列緩沖器中是空的,那么EU就要等待BIU通過外部總線從存儲(chǔ)器中取得指令并送到EU,通過譯碼電路分析,發(fā)出相應(yīng)控制命令,控制ALU數(shù)據(jù)總線中數(shù)據(jù)的流向。 簡(jiǎn)述8086 CPU的寄存器組織?!窘狻浚海?)通用寄存器:通用寄存器又稱數(shù)據(jù)寄存器

3、,既可作為16位數(shù)據(jù)寄存器使用,也可作為兩個(gè)8位數(shù)據(jù)寄存器使用。當(dāng)用作16位時(shí),稱為AX、BX、CX、DX。當(dāng)用作8位時(shí),AH、BH、CH、DH存放高字節(jié),AL、BL、CL、DL存放低字節(jié),并且可獨(dú)立尋址。這樣,4個(gè)16位寄存器就可當(dāng)作8個(gè)8位寄存器來使用。(2)段寄存器:段寄存器共有4個(gè)CS、DS、SS、ES。代碼段寄存器CS表示當(dāng)前使用的指令代碼可以從該段寄存器指定的存儲(chǔ)器段中取得,相應(yīng)的偏移值則由IP提供;堆棧段寄存器SS指定當(dāng)前堆棧的起始地址;數(shù)據(jù)段寄存器DS指示當(dāng)前程序使用的數(shù)據(jù)所存放段的起始地址;附加段寄存器ES則指出當(dāng)前程序使用附加段地址的起始位置,該段一般用來存放原始數(shù)據(jù)或運(yùn)算

4、結(jié)果。(3)指針和變址寄存器:堆棧指針SP用以指出在堆棧段中當(dāng)前棧頂?shù)牡刂?。入棧(PUSH)和出棧(POP)指令由SP給出棧頂?shù)钠频刂?。基址指針BP指出要處理的數(shù)據(jù)在堆棧段中的基地址,故稱為基址指針寄存器。變址寄存器SI和DI用來存放當(dāng)前數(shù)據(jù)段中某個(gè)單元的偏移量。(4)指令指針與標(biāo)志寄存器:指令指針I(yè)P的功能跟Z80 CPU中的程序計(jì)數(shù)器PC的功能類似。正常運(yùn)行時(shí),IP中存放的是BIU要取的下一條指令的偏移地址。它具有自動(dòng)加1功能,每當(dāng)執(zhí)行一次取指令操作時(shí),它將自動(dòng)加1,使它指向要取的下一內(nèi)存單元,每取一個(gè)字節(jié)后IP內(nèi)容加1,而取一個(gè)字后IP內(nèi)容則加2。某些指令可使IP值改變,某些指令還可使

5、IP值壓入堆棧或從堆棧中彈出。標(biāo)志寄存器FLAGS是16位的寄存器,8086共使用了9個(gè)有效位,標(biāo)志寄存器格式如圖所示。其中的6位是狀態(tài)標(biāo)志位,3位為控制標(biāo)志位。狀態(tài)標(biāo)志位是當(dāng)一些指令執(zhí)行后,表征所產(chǎn)生數(shù)據(jù)的一些特征。而控制標(biāo)志位則可以由程序?qū)懭耄赃_(dá)到控制處理機(jī)狀態(tài)或程序執(zhí)行方式的表征。 試述8086 CPU標(biāo)志寄存器各位的含義與作用?!窘狻浚?1) 6個(gè)狀態(tài)標(biāo)志位的功能分別敘述如下: CF(Carry Flag)進(jìn)位標(biāo)志位。當(dāng)執(zhí)行一個(gè)加法(或減法)運(yùn)算,使最高位產(chǎn)生進(jìn)位(或借位)時(shí),CF為1;否則為0。 PF(Parity Flag)奇偶標(biāo)志位。該標(biāo)志位反映運(yùn)算結(jié)果中1的個(gè)數(shù)是偶數(shù)還是奇數(shù)

6、。當(dāng)指令執(zhí)行結(jié)果的低8位中含有偶數(shù)個(gè)1時(shí),PF=1;否則PF=0。 AF(Auxiliary carry Flag)輔助進(jìn)位標(biāo)志位。當(dāng)執(zhí)行一個(gè)加法(或減法)運(yùn)算,使結(jié)果的低4位向高4位有進(jìn)位(或借位)時(shí),AF=1;否則AF=0。ZF(Zero Flag)零標(biāo)志位。若當(dāng)前的運(yùn)算結(jié)果為零,ZF=1;否則ZF=0。SF(Sign Flag)符號(hào)標(biāo)志位。它和運(yùn)算結(jié)果的最高位相同。OF(Overflow Flag)溢出標(biāo)志位。當(dāng)補(bǔ)碼運(yùn)算有溢出時(shí),OF=1;否則OF=0。(2) 3個(gè)控制標(biāo)志位用來控制CPU的操作,由指令進(jìn)行置位和復(fù)位。DF(Direction Flag)方向標(biāo)志位。它用以指定字符串處理時(shí)

7、的方向,當(dāng)該位置“1”時(shí),字符串以遞減順序處理,即地址以從高到低順序遞減。反之,則以遞增順序處理。IF(Interrupt enable Flag)中斷允許標(biāo)志位。它用來控制8086是否允許接收外部中斷請(qǐng)求。若IF=1,8086能響應(yīng)外部中斷,反之則不響應(yīng)外部中斷。注意:IF的狀態(tài)不影響非屏蔽中斷請(qǐng)求(NMI)和CPU內(nèi)部中斷請(qǐng)求。TF(Trap Flag)跟蹤標(biāo)志位。它是為調(diào)試程序而設(shè)定的陷阱控制位。當(dāng)該位置“1”時(shí),8086 CPU處于單步狀態(tài),此時(shí)CPU每執(zhí)行完一條指令就自動(dòng)產(chǎn)生一次內(nèi)部中斷。當(dāng)該位復(fù)位后,CPU恢復(fù)正常工作。 8086中,存儲(chǔ)器為什么采用分段管理? 【解】:8086/8

8、088的地址總線寬度為20位,其最大尋址空間是1MB。而其他微處理器則在實(shí)模式下只能訪問前1 MB的存儲(chǔ)器地址。實(shí)際上,實(shí)模式就是為8086/8088而設(shè)計(jì)的工作方式,它要解決在16位字長(zhǎng)的機(jī)器里怎么提供20位地址的問題,而解決的辦法是采用存儲(chǔ)器地址分段的方法。程序員在編制程序時(shí)要把存儲(chǔ)器劃分成段,在每個(gè)段內(nèi)地址空間是線性增長(zhǎng)的。每個(gè)段的大小可達(dá)64KB,這樣段內(nèi)地址可以用16位表示。存儲(chǔ)器分段的方法雖然給程序設(shè)計(jì)帶來一定的麻煩,但這種方法可以擴(kuò)大存儲(chǔ)空間,而且對(duì)于程序的再定位也是很方便的。 什么是邏輯地址?什么是物理地址?如何由邏輯地址計(jì)算物理地址?【解】:物理地址:完成存儲(chǔ)器單元或I/O端

9、口尋址的實(shí)際地址成為物理地址,CPU型號(hào)不同其物理地址也不同。物理地址是指CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)實(shí)際所使用的地址,而邏輯地址是程序使用的地址。物理地址由兩部分組成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器給出,后者是指存儲(chǔ)單元所在的位置離段起始地址的偏移距離。當(dāng)CPU尋址某個(gè)存儲(chǔ)單元時(shí),先將段寄存器的內(nèi)容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令時(shí),CPU自動(dòng)選擇代碼段寄存器CS,左移4位后,加上指令提供的16位偏移地址,計(jì)算出要取指令的物理地址。堆棧操作時(shí),CPU自動(dòng)選擇堆棧段寄存器SS,將其內(nèi)容左移4位后,加上指令提供的16位偏移地址,計(jì)

10、算出棧頂單元的物理地址。每當(dāng)存取操作數(shù)時(shí),CPU會(huì)自動(dòng)選擇數(shù)據(jù)段寄存器(或附加段寄存器ES),將段基值左移4位后加上16位偏移地址,得到操作數(shù)在內(nèi)存的物理地址。2.9 在80x86微機(jī)的輸入/輸出指令中,I/O端號(hào)通常是由DX寄存器提供的,但有時(shí)也可以在指令中直接指定00H0FFH的端口號(hào)。試問可直接由指令指定的I/O端口數(shù)是多少?【解】:由于在80x86的輸入/輸出指令中,可以直接在00H0FFH指定,所以直接由指令指定的I/O端口數(shù)是256。 指令分成幾部分?每部分的作用是什么?【解】:每條指令由兩部分組成:操作碼字段和地址碼字段。操作碼字段:用來說明該指令所要完成的操作。地址碼字段:用來

11、描述該指令的操作對(duì)象。一般是直接給出操作數(shù),或者給出操作數(shù)存放的寄存器編號(hào),或者給出操作數(shù)存放的存儲(chǔ)單元的地址或有關(guān)地址的信息。 指出下列MOV指令的源操作數(shù)的尋址方式:MOVAX,1234HMOVAX,BXMOVAX,BXMOVAX,TABLE;TABLE ;TABLE是一個(gè)變量名MOVAX,1234HMOVAX,BX+1234HMOVAX,BPSIMOVAX,BX+SI-1234H【解】:MOVAX,1234H立即尋址MOVAX,BX寄存器尋址MOVAX,BX 寄存器間接尋址MOVAX,TABLE ;TABLE是一個(gè)變量名直接尋址方式MOVAX,1234H直接尋址方式MOVAX,BX+12

12、34H 寄存器相對(duì)尋址MOVAX,BPSI 基址變址尋址MOVAX,BX+SI1234H 相對(duì)地址變址尋址 設(shè):(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址為2000AH,(SI)=0002H。求下列每條指令源操作數(shù)的存儲(chǔ)單元地址:MOVAX,1234HMOVAX,BXMOVAX,TABLEBXMOVAX,BPMOVAX,BPSI【解】:存儲(chǔ)單元地址:(DS)×10H + EA =2000H×10H+1234H=21234H存儲(chǔ)單元地址:(DS)×10H +(BX)=2000H×10H+01

13、00H=20100H存儲(chǔ)單元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH存儲(chǔ)單元地址:(SS)×10H+EA=1000H×10H+0010H=10010H儲(chǔ)單元地址:(SS)×10H+EA=1000H×10H+0010H+0002H =10012H 設(shè)ARRAY是字?jǐn)?shù)組的首地址,寫出將第5個(gè)字元素取出送AX寄存器的指令,要求使用以下幾種尋址方式:直接尋址 寄存器間接尋址 寄存器相對(duì)尋址 基址變址尋址【解】:(1)直接尋址(2)寄存器間接尋址(3)寄存器相對(duì)尋址(4)基址變址尋址MOV AX,

14、ARRAY+8 MOV BX, ARRAY+8 MOV BX, 8 LEA BX, ARRAY MOV AX, BX MOV AX, ARRAYBX MOV SI, 8 MOV AX,BX+SI 設(shè)當(dāng)前(CS)=2000H,(IP)=2000H,標(biāo)號(hào)NEXT定義在當(dāng)前代碼段偏移地址是0100H處,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,數(shù)據(jù)段定義的字變量ARRAY的內(nèi)容為1000H,試寫出下列轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址JMPNEARPTRJMPBXJMPWORDPTRARRAY【解】: JMPNEARPTR 此轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址為:201

15、00H JMPBX 此轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址為:21000H JMPWORDPTRARRAY 此轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址為:23000H 設(shè)當(dāng)前(CS)=2000H,(IP)=2000H,標(biāo)號(hào)NEXT定義在3000H:1000H處。當(dāng)前(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=03H,(11002H)=00H,(11003H)=30H,數(shù)據(jù)段定義的字變量ARRAY的內(nèi)容為0300H,(ARRAY+2)=3000H,試寫出下列轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址:JMPFARPTRNEXTJMPDWORDARRAY【解】: JMPFARPTRNEXT 此轉(zhuǎn)移指令的目

16、標(biāo)轉(zhuǎn)移地址為:31000H JMPDWORDARRAY 此轉(zhuǎn)移指令的目標(biāo)轉(zhuǎn)移地址為:30300H3.9 下列每組指令有何區(qū)別?(1)MOVAX,1234HMOVAX,1234H(2)MOV AX,TABLEMOV AX,TABLE(3)MOVAX,TABLELEAAX,TALBE(4)MOV AX,BX MOV AX,BX【解】:(1)MOVAX,1234H將立即數(shù)1234H送到寄存器AX中MOVAX,1234H 將存儲(chǔ)區(qū)1234H中的內(nèi)容送到寄存器AX中(2)MOV AX,TABLE 將標(biāo)號(hào)TABLE的地址送到寄存器AX中MOV AX,TABLE 將存儲(chǔ)區(qū)TABLE中的內(nèi)容送到寄存器AX中(

17、3)MOVAX,TABLE 將標(biāo)號(hào)TABLE的地址送到寄存器AX中LEAAX,TALBE 將標(biāo)號(hào)TABLE的地址送到寄存器AX中(4)MOV AX,BX 寄存器尋址MOV AX,BX 寄存器間接尋址3.10 MOVCS,AX指令正確嗎?【解】:MOVCS,AX指令不正確。因?yàn)镃S是指令寄存器,由系統(tǒng)自動(dòng)改變,不能由指令進(jìn)行更改。3.11 寫一指令序列,將3456H裝入DS寄存器?!窘狻浚篗OV AX, 3456H MOV DS, AX3.14 若正在訪問堆棧中03600H單元,則SS和SP的值是多少?【解】:若正在訪問堆棧中03600H單元,則SS和SP的值會(huì)有好多組合,其中可以有SS是030

18、0H,SP是0600H。3.15 若(SS)=2000H,(SP)=000AH,先執(zhí)行將字?jǐn)?shù)據(jù)1234H和5678H壓入堆棧的操作,再執(zhí)行彈出一個(gè)字?jǐn)?shù)據(jù)的操作,試畫出堆棧區(qū)及SP的內(nèi)容變化過程示意圖(標(biāo)出存儲(chǔ)單元的物理地址)。SP20006H78H【解】:物理地址(SS)×10HSP 20007H56H34HSP20008H 20008H 20009H 2000AH12H34H12H 20009HSP2000AH 2000AH3.16 解釋XLAT指令是怎樣轉(zhuǎn)換AL寄存器中的內(nèi)容的。并編寫一段程序用XLAT指令將BCD碼09轉(zhuǎn)換成對(duì)應(yīng)的ASCII碼,并將ASCII碼存入數(shù)據(jù)ARRAY

19、中?!窘狻浚篨LAT指令是將AL的內(nèi)容替換成存儲(chǔ)單元中的一個(gè)數(shù),往往用于代碼轉(zhuǎn)換。使用此指令前,先在數(shù)據(jù)段建立一個(gè)表格,表格首地址存入BX寄存器,欲取代碼的表內(nèi)位移量存入AL寄存器中。XLAT指令將(AL)值擴(kuò)展成16位,與(BX)相加形成一個(gè)段偏移地址,段地址取(DS),據(jù)此讀出代碼送入AL寄存器。程序如下:TABLE DB 30H, 31H, , 39H ARRAY DB 1O DUP(?) MOV CL, 10 MOV SI, 0MOV BX, OFFSET TABLE MOV AL, AL AGAIN: XLAT MOV SI, AL INC SI INC AL LOOP AGAIN3

20、.17若(AX)=0001H,(BX)=0FFFFH,執(zhí)行ADD AX,BX之后,標(biāo)志位ZF、SF、CF和OF各是什么?【解】:(AX)=0001H = 0000 0000 0000 0001 B + (BX)=0FFFFH = 1111 1111 1111 1111 B(AX)=0001H = 1 0000 0000 0000 0000 B 則:ZF=1、SF=0、CF=1、OF=03.18 寫一指令序列完成將AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,其余位不變?!窘狻浚?OR AX, 000FH (OR AX, 0000 0000 0000 1111 B) AND AX,

21、 1FFFH (AND AX, 0001 1111 1111 1111 B) XOR AX, 01C0H (XOR AX, 0000 0001 1100 0000 B)3.19試寫出執(zhí)行下列指令序列后AX寄存器的內(nèi)容。執(zhí)行前(AX)=1234H。MOV CL,7SHL BX,CL【解】:(AX)=1234H = 0001 0010 0011 0100 B執(zhí)行后:(AX) = 0 0011 0100 0000 000 B = 0001 1010 0000 0000 B = 1A00H4.1 假設(shè)下列指令中的所有標(biāo)識(shí)符均為類型屬性為字的變量,請(qǐng)指出下列指令中哪些是非法的?它們的錯(cuò)誤是什么? MOV

22、 BP,AL MOV WORD_OPBX+4*3DI,SP MOV WORD_OP1,WORD_OP2 MOV AX,WORD_OP1DX MOV SAVE WORD,DS MOV SP,SS:DATA_WORDBXSI MOV BXSI,2 MOV AX,WORD_OP1+WORD_OP2 MOV AX,WORD_OP1-WORD_OP2+100 MOV WORD_OP1,WORD_OP1-WORD_OP2【解】: MOV BP,AL兩個(gè)操作數(shù)不匹配 MOV WORD_OPBX+4*3DI,SP MOV WORD_OP1,WORD_OP2兩個(gè)內(nèi)存單元之間不能直接傳送數(shù)據(jù) MOV AX,WOR

23、D_OP1DX MOV SAVE WORD,DS MOV SP,SS:DATA_WORDBXSI當(dāng)基址為BX時(shí),選取DS寄存器 MOV BXSI,2 MOV AX,WORD_OP1+WORD_OP2 MOV AX,WORD_OP1-WORD_OP2+100 MOV WORD_OP1,WORD_OP1-WORD_OP24.2 假設(shè)VAR1和VAR2為字變量,LAB為標(biāo)號(hào),試指出下列指令的錯(cuò)誤之處: ADD VAR1,VAR2 SUB AL,VAR1 JMP LABSI JNZ VAR1 JMP NEAR LAB【解】: ADD VAR1,VAR2ADD兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)單元,MOV AX,

24、 VAR1 ADD AX, VAR2 SUB AL,VAR1兩個(gè)操作數(shù)不匹配SUB AX, VAR1 JMP LABSI LAB與SI不能相加JMP WORD PTR SI JNZ VAR1JNZ后面應(yīng)是標(biāo)號(hào),不應(yīng)是變量JNZ LAB JMP NEAR LAB缺少PTR運(yùn)算符JMP NEAR PTR LAB4.3 畫圖說明下列語句所分配的存儲(chǔ)空間及初始化的數(shù)據(jù)值。 BYTE_VAR DB BYTE,12,-12H,3 DUP(0,?,2 DUP(1,2),?) WORD_VAR DW 5 DUP(0,1,2),?,-5,'BY','TE',256HWORD_VA

25、R00H00H01H00H02H00H00H00H01H00H02H00HBBYTE_VAR41H【解】:(1) (2) 0Y59H1E45HT54H120CH212HF4H30個(gè)字節(jié)00H0210101H02H2101H200H0202H101H202H101H02H2FBH5FFH54H00H56H00H45HBYTE00H41H59H00H02H101H000H202H101H2256H02H4.4 假設(shè)程序中的數(shù)據(jù)定義如下:PARTNO DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PARTNO問PLENTH的值為多少?它表示什么意義?【解】

26、:PLENTH的值為22,它表示數(shù)據(jù)的個(gè)數(shù)。4.5 有符號(hào)定義語句如下:BUFF DB 1,2,3,123EBUFF DB 0L EQU EBUFF-BUFF問L的值是多少?【解】:PLENTH的值為6。4.6 假設(shè)程序中的數(shù)據(jù)定義如下:LNAME DB 30 DUP(?)ADDRESS DB 30 DUP(?)CITY DB 15 DUP(?)CODE-LIST DB 1,7,8,3,2用一條MOV指令將LNAME的偏移地址放入AX。用一條指令將CODE_LIST的頭兩個(gè)字節(jié)的內(nèi)容放入SI。寫一條偽操作使CODE_LENGHT的值等于CODE_LIST域的實(shí)際長(zhǎng)度。【解】:用一條MOV指令將

27、LNAME的偏移地址放入AX。 MOV AX, OFFSET LANME用一條指令將CODE_LIST的頭兩個(gè)字節(jié)的內(nèi)容放入SI。MOV SI, WORD PTR CODE_LSIT寫一條偽操作使CODE_LENGHT的值等于CODE_LIST域的實(shí)際長(zhǎng)度。 CODE_LENGHT EQU CITY-CODE_LIST4.7 試寫出一個(gè)完整的數(shù)據(jù)段DATA_SEG,它把整數(shù)5賦予一個(gè)字節(jié),并把整數(shù)-1,0,2,5和4放在10字?jǐn)?shù)組DATA_LIST的頭5個(gè)單元中。然后,寫出完整的代碼段,其功能為:把DATA_LIST中頭5個(gè)數(shù)中的最大值和最小值分別存入MAX和MIN單元中?!窘狻浚簠⒖汲绦蛉缦?/p>

28、: DATA_SEG SEGMENT DB1 DB 5 DATA_LIST DB -1, 0, 2, 5, 4, 5 DUP(?) COUNT DB 5 MAX DB ? MIN DB ? DATA_SEG ENDS CODE_SEG SEGMENT ASSUME CS:CODE_SEG, DS:DATA_SEG START PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA_SEG MOV DS, AX LEA BX, DATA_LIST MOV CX, COUNT-1 MOV AL, BX MOV AH, BX+1 LOOP1: INC BX C

29、MP AH, AL JAE LOOP1 XCHG AH, AL LOOP2 INC BX CMP AH, BX JAE LIS XCHG AH, BX JMP LOP2 LIS: CMP AL , BX JBE LOP2 XCHG AL, BX LOOP2 MOV MAX, AH MOV MIN, AL RET START ENDP CODE_SEG ENDS END START4.10 給出等值語句如下:ALPHAEQU100BETAEQU25GAMMAEQU2下列表達(dá)式的值是多少? ALPHA*100+BETA ALPHAMODGAMMA+BETA (ALPHA+2)*BETA-2 (BE

30、TA/3)MOD 5 (ALPHA+3)*(BETA MOD GAMMA) ALPHA GE GAMMA BETA AND 7 GAMMA OR 3【解】: ALPHA*100+BETA100×1002510025 ALPHAMODGAMMA+BETA100/(252)19 (ALPHA+2)*BETA-2 (100+2)*252548 (BETA/3)MOD 5(25/3) MOD 53 (ALPHA+3)*(BETA MOD GAMMA) (100+3)*(25 MOD 2)103 ALPHA GE GAMMA 100 GZ GAMMA0FFFFH BETA AND 725 AN

31、D 71 GAMMA OR 32 OR 334.9 對(duì)于下面的數(shù)據(jù)定義,三條MOV指令分別匯編成什么?(可用立即數(shù)方式表示)TABLEADW10 DUP(?)TABLEBDB10 DUP(?)TABLECDB1234MOVAX,LENGTH TABLEAMOVBL,LENGTH TABLEBMOVCL,LENGTH TABLEC【解】:MOVAX,LENGTH TABLEAMOV AX, OOOAHMOVBL,LENGTH TABLEB MOV BL, 0AHMOVCL,LENGTH TABLEC MOV CL, O1H4.10 對(duì)于下面的數(shù)據(jù)定義,各條MOV指令單獨(dú)執(zhí)行后,有關(guān)寄存器的內(nèi)容是

32、什么?FLDBDB?TABLEADW20DUP(?)TABLEBDBABCD MOV AX,TYPE FLDB MOV AX,TYPE TABLEA MOV CX,LENGTH TABLEA MOV DX,SIZE TABLEA MOV CX,LENGTH TABLEB【解】:(1) MOV AX,TYPE FLDB(AX)= 1 (2) MOV AX,TYPE TABLEA (AX)= 2 (3) MOV CX,LENGTH TABLEA (CX)= 20 (4) MOV DX,SIZE TABLEA (DX)= 40 (5) MOV CX,LENGTH TABLEB (CX)= 18.1

33、解釋下列概念:中斷DMA,中斷源,中斷向量中斷向量表,不可屏蔽中斷,通道FCB,中斷嵌套,文件標(biāo)記中斷入口,可屏蔽中斷【解】:答:當(dāng)進(jìn)程要求設(shè)備輸入數(shù)據(jù)時(shí),CPU把準(zhǔn)備存放輸入數(shù)據(jù)的內(nèi)存起始地址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器。發(fā)出數(shù)據(jù)傳輸要求的進(jìn)行進(jìn)入等待狀態(tài)。此時(shí)正在執(zhí)行的CPU指令被暫時(shí)掛起。進(jìn)程調(diào)度程序調(diào)度其他進(jìn)程占據(jù)CPU。輸入設(shè)備不斷地竊取CPU工作周期,將數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。DMA控制器在傳送完所有字節(jié)時(shí),通過中斷請(qǐng)求線發(fā)出中斷信號(hào)。CPU在接收到中斷信號(hào)后,轉(zhuǎn)入中斷處理程序進(jìn)行后續(xù)處理。

34、中斷處理結(jié)束后,CPU返回到被中斷的進(jìn)程中,或切換到新的進(jìn)程上下文環(huán)境中,繼續(xù)執(zhí)行。中斷源:引起中斷的事件稱為中斷源。中斷向量表:每種中斷都給安排一個(gè)中斷類型號(hào)。80x86中斷系統(tǒng)能處理256種類型的中斷,類型號(hào)為0H0FFH。如圖所示的中斷源,系統(tǒng)時(shí)鐘的中斷類型為08,鍵盤為09,軟中斷中的除法錯(cuò)誤的中斷類型為0等。每種類型的中斷都由相應(yīng)的中斷處理程序來處理,中斷向量表就是各類型中斷處理程序的入口地址表。中斷嵌套:正在運(yùn)行的中斷處理程序,又被其他中斷源中斷,這種情況叫做中斷嵌套。中斷就是CPU在執(zhí)行當(dāng)前程序時(shí)由于內(nèi)外部事件引起CPU暫時(shí)停止當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)向執(zhí)行請(qǐng)求CPU暫時(shí)停止的內(nèi)外

35、部事件的服務(wù)程序,該程序處理完后又返回繼續(xù)執(zhí)行被停止的程序;中斷向量是中斷處理子程序的入口地址;地址范圍是00000H-003FFH。實(shí)驗(yàn)一 系統(tǒng)認(rèn)識(shí)實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康恼莆誘DN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)的基本操作。二實(shí)驗(yàn)設(shè)備TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)。三實(shí)驗(yàn)內(nèi)容及步驟1. 系統(tǒng)認(rèn)識(shí)實(shí)驗(yàn)(1)(1)程序的輸入與修改從3500H內(nèi)存單元開始建立0-15共16個(gè)數(shù)據(jù)。實(shí)驗(yàn)步驟:a 使用串行通訊電纜將實(shí)驗(yàn)系統(tǒng)與PC機(jī)相連。b 開啟實(shí)驗(yàn)系統(tǒng)。c 在系統(tǒng)軟件所在目錄(默認(rèn)為C:TANGDUW8688)下運(yùn)行文件WMD86.EXE進(jìn)入集成操作軟件環(huán)境,打開文件菜單選擇新建,即可開始輸入源程序。d 輸入程序后

36、,在文件菜單中選擇保存程序,注意文件名的格式,擴(kuò)展文件名必須為*.ASM,例:ABC.ASM。e 在編譯菜單中選擇匯編(CTRL+F2)對(duì)源程序進(jìn)行匯編,若源程序沒有錯(cuò)誤生成目標(biāo)文件*.OBJ,若源程序中有錯(cuò)誤則返回錯(cuò)誤信息,根據(jù)錯(cuò)誤信息對(duì)源程序進(jìn)行修改后再進(jìn)行匯編。f 匯編無誤后,在編譯菜單中選擇鏈接(CTRL+F3)對(duì)匯編生成的*.OBJ目標(biāo)文件進(jìn)行鏈接,鏈接信息顯示于屏幕上,如沒有錯(cuò)誤,生成相應(yīng)的可執(zhí)行文件*.EXE。g 在窗口菜單中選擇調(diào)試(CTRL+1)打開調(diào)試窗口,出現(xiàn)系統(tǒng)提示符“>”后選擇菜單中的裝入程序,選擇相應(yīng)的*.EXE文件,填入程序段地址與偏移量(默認(rèn)段地址0000

37、,偏移量2000,一般不用修改),確定后PC開始將程序從磁盤裝入到教學(xué)實(shí)驗(yàn)系統(tǒng)內(nèi)存,提示裝載完畢后使用U命令進(jìn)行反匯編,檢查程序是否正確裝入。U命令輸入格式為U0000:2000。h 當(dāng)發(fā)現(xiàn)源程序輸入錯(cuò)誤或需要調(diào)整時(shí),在調(diào)試窗口下可用A命令來修改,如修改2000句為MOV DI,3500的操作如下:顯示信息鍵入信息>A20000000:2000MOV DI,35000000:2003>(2)運(yùn)行程序系統(tǒng)提供了單步運(yùn)行、斷點(diǎn)運(yùn)行、連續(xù)運(yùn)行等方式,具體操作如下:a. 單步運(yùn)行:在“>”提示符下輸入T或點(diǎn)擊菜單中的單步運(yùn)行執(zhí)行,每運(yùn)行一條指令后會(huì)顯示下一條待執(zhí)行指令并顯示變化寄存器

38、的內(nèi)容,重復(fù)T可一步一步運(yùn)行直至程序結(jié)束。b. 連續(xù)運(yùn)行:在“>”提示符下輸入G0000:2000(在系統(tǒng)默認(rèn)段址CS0000情況下可直接輸入G2000)可連續(xù)運(yùn)行程序,在運(yùn)行過程中,可通過CTRL+BREAK或點(diǎn)擊菜單中的停止來終止程序運(yùn)行。c. 斷點(diǎn)運(yùn)行:在程序中可用B命令定義斷點(diǎn),系統(tǒng)規(guī)定最多定義10個(gè)斷點(diǎn),例如:顯示信息鍵入信息>B0:20091:>上例中定義了2009地址為斷點(diǎn),輸入GB0000:2000程序連續(xù)運(yùn)行至斷點(diǎn)時(shí),程序中斷并顯示當(dāng)前各寄存器內(nèi)容。GB是G命令的擴(kuò)充,表示含斷點(diǎn)連續(xù)運(yùn)行程序,斷點(diǎn)僅當(dāng)系統(tǒng)復(fù)位時(shí)清除。(3)內(nèi)存單元的內(nèi)容顯示:使用D0000:

39、3500可查看3500H-350FH單元中的內(nèi)容是否為0-15共16個(gè)數(shù)。(4)內(nèi)存單元內(nèi)容的修改:若要修改某一單元內(nèi)容,可進(jìn)行如下操作,其中,“空格”鍵用于向待編輯單元的高地址方向移動(dòng)地址,而“-”鍵則向反方向移動(dòng)地址;用來確認(rèn)輸入,退出E命令。顯示信息鍵入信息>E35000000:3500 00_01 space0000:3501 01_Space0000:3502 02_ - 0000:3501 01_>2. 系統(tǒng)操作練習(xí)(2)將內(nèi)存3500H單元開始的0-15共16個(gè)數(shù)傳遞到3600H單元開始的數(shù)據(jù)區(qū)中。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)E3

40、500,在3500-3510單元中分別送入00、01、02。(3)G0000:2000,運(yùn)行程序,按CTRL+BREAK中斷,返回監(jiān)控。(4)D3600,顯示結(jié)果:3600 00 01 02 。實(shí)驗(yàn)二 運(yùn)算類編程實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康?. 掌握使用運(yùn)算類指令編程及調(diào)試方法。2. 掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及其測(cè)試方法。二實(shí)驗(yàn)設(shè)備TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)三實(shí)驗(yàn)內(nèi)容及步驟8086/8088指令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)二進(jìn)制、BCD碼數(shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算。1. 二進(jìn)制雙精度加法運(yùn)算計(jì)算XYZ,將結(jié)果Z存入某存儲(chǔ)單元。本實(shí)驗(yàn)程序是雙精度(2個(gè)16位,既32位)運(yùn)算,利用

41、累加器AX,先求低十六位和,并存入低址存儲(chǔ)單元,后求高16位和,再存入高址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,因而高位字相加語句需用ADC指令,則低位相加有進(jìn)位時(shí),CF1,高位字相加時(shí),同時(shí)加上CF中的1。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(設(shè):CS:0000H,IP:2000H)(2)用U0000:2000查看MOV AX,XXXX(DATA)語句,得到數(shù)據(jù)段段地址CS:XXXX。用E命令EXXXX:0000給XL,XH,YL,YH賦值存入二進(jìn)制數(shù)A0 65 15 00和9E B7 21 00。(3)G0000:2000,運(yùn)行程序。(4)DXXXX:0008,顯示

42、計(jì)算結(jié)果:3E 1D 37 00 CC 。(5)反復(fù)試幾組數(shù),考察程序的正確性。2. 十進(jìn)制數(shù)的BCD碼減法運(yùn)算計(jì)算X-YZ,其中,X、Y、Z為BCD碼。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(設(shè):CS:0000H,IP:2000H)(2)用U0000:2000查看MOV AX,XXXX(DATA)語句,得到數(shù)據(jù)段段地址CS:XXXX。用E命令EXXXX:0000給X,Y賦值存入40和12的BCD碼:00 04 02 01。(3)G0000:2000,運(yùn)行程序。(4)DXXXX:0004,顯示計(jì)算結(jié)果:08 02 CC 。(5)反復(fù)試幾組數(shù),考察程序的正確性。3. 乘法運(yùn)

43、算本實(shí)驗(yàn)實(shí)現(xiàn)十進(jìn)制數(shù)的乘法,被乘數(shù)和乘數(shù)均以BCD碼形式存放于內(nèi)存中,乘積在屏幕上顯示。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)用U0000:2000查看MOV AX,XXXX(DATA)語句,得到數(shù)據(jù)段段地址CS:XXXX。用E命令EXXXX:0000給在對(duì)應(yīng)數(shù)據(jù)段填入乘數(shù)與被乘數(shù)。(3)G0000:2000,運(yùn)行程序,屏幕顯示結(jié)果。用CTRLBREAK可終止程序運(yùn)行。(4)反復(fù)試幾組數(shù),考察程序的正確性。四思考題1. 編寫有符號(hào)數(shù)A1B1A2B2的程序,A1、A2、B1、B2均為符號(hào)數(shù)。2. 編寫兩個(gè)數(shù)值長(zhǎng)度不等的BCD碼相加程序。實(shí)驗(yàn)三 分支程序設(shè)計(jì)實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)?/p>

44、的1. 掌握分支程序的結(jié)構(gòu)。2. 掌握分支程序的設(shè)計(jì)、調(diào)試方法。二實(shí)驗(yàn)設(shè)備TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)三實(shí)驗(yàn)內(nèi)容及步驟1. 比較兩個(gè)字符串STR1與STR2是否相同,若相同則在屏幕上顯示MATCH,不同則顯示NOMATCH。2. 設(shè)計(jì)一數(shù)據(jù)塊間的搬移程序設(shè)計(jì)思想:程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存儲(chǔ)區(qū)(稱為目的數(shù)據(jù)塊)。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存儲(chǔ)中可能有三種情況,如圖3-1所示。圖3-1對(duì)于兩個(gè)數(shù)據(jù)塊分離的情況,如圖3-1(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首址開始,或者從數(shù)據(jù)塊的末址開始均可。但對(duì)于有部分重疊的情況,則要加以分析,否則重疊部分會(huì)因“搬移”而遭破壞,可以得出以上結(jié)

45、論:當(dāng)源數(shù)據(jù)塊首址>目的塊首址時(shí),從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù)。當(dāng)源數(shù)據(jù)塊首址<目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)用E命令在以SI為起址的單元中填入16個(gè)數(shù)。(3)G0000:2000,運(yùn)行程序。(4)用D命令查看DI為起址的單元中的數(shù)據(jù)是否與SI單元中的數(shù)據(jù)相同。(5)試改變SI、DI的取值,觀察在三種不同的數(shù)據(jù)塊情況下程序的運(yùn)行。四思考題為什么當(dāng)源數(shù)據(jù)塊首址>目的塊首址時(shí),應(yīng)從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù)?而當(dāng)源數(shù)據(jù)塊首址<目的塊首址時(shí),應(yīng)從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)?實(shí)驗(yàn)四 循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)?/p>

46、的1. 加深對(duì)循環(huán)結(jié)構(gòu)的理解。2. 掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法。3. 熟練掌握調(diào)試循環(huán)程序的方法。二實(shí)驗(yàn)設(shè)備TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)三實(shí)驗(yàn)內(nèi)容及步驟1. 編制程序計(jì)算式子1+2+3+99+100的結(jié)果。2. 求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個(gè)數(shù),從第二單元開始存放數(shù)據(jù),在區(qū)內(nèi)最后一個(gè)單元存放結(jié)果。為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù),需要逐個(gè)判斷區(qū)內(nèi)的每一個(gè)數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號(hào)位為1的數(shù)據(jù)的個(gè)數(shù)累加起來,即得區(qū)內(nèi)所包含負(fù)數(shù)的個(gè)數(shù)。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)E3000輸入數(shù)據(jù)如下:300006(數(shù)據(jù)個(gè)數(shù))300112 88

47、82 90 22 33(3)G0000:2000,運(yùn)行實(shí)驗(yàn)程序。(4)D3007,顯示結(jié)果03。四思考題修改程序2,使其能分別求出數(shù)據(jù)區(qū)中正數(shù)、零和負(fù)數(shù)的個(gè)數(shù)。實(shí)驗(yàn)五 排序程序設(shè)計(jì)實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康?. 掌握分支、循環(huán)、子程序調(diào)用等基本的程序結(jié)構(gòu)。2. 學(xué)習(xí)綜合程序的設(shè)計(jì)、編制及調(diào)試。二實(shí)驗(yàn)設(shè)備TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)三實(shí)驗(yàn)內(nèi)容及步驟1. 在數(shù)據(jù)區(qū)中存放著一組數(shù),數(shù)據(jù)的個(gè)數(shù)就是數(shù)據(jù)緩沖區(qū)的長(zhǎng)度,要求用氣泡法對(duì)該數(shù)據(jù)區(qū)中數(shù)據(jù)按遞增關(guān)系排序。設(shè)計(jì)思想:a. 從最后一個(gè)數(shù)(或第一個(gè)數(shù))開始,依次把相鄰的兩個(gè)數(shù)進(jìn)行比較,即第N個(gè)數(shù)與第N1個(gè)數(shù)比較,第N1個(gè)數(shù)與第N2個(gè)數(shù)比較等等;若第N1個(gè)數(shù)大于第

48、N個(gè)數(shù),則兩者交換,否則不交換,直到N個(gè)數(shù)的相鄰兩個(gè)數(shù)都比較完為止。此時(shí),N個(gè)數(shù)中的最小數(shù)將被排在N個(gè)數(shù)的最前列。b. 對(duì)剩下的N1個(gè)數(shù)重復(fù)上步,找到N1個(gè)數(shù)中的最小數(shù)。c. 重復(fù)第二步,直到個(gè)數(shù)全部排序好為止。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)用E3000在3000-3009H數(shù)據(jù)區(qū)中任意放入10個(gè)無符號(hào)數(shù)。(3)G0000:2000,運(yùn)行實(shí)驗(yàn)程序。(4)用D3000檢查排序結(jié)果。(5)反復(fù)修改數(shù)據(jù)區(qū)中的數(shù),運(yùn)行程序并觀察結(jié)果,以驗(yàn)證程序的正確性。2. 學(xué)生成績(jī)名次表將分?jǐn)?shù)為1-100之間的30個(gè)成績(jī)存入首址為3000H的單元中,3000H+i表示學(xué)號(hào)為i的學(xué)

49、生成績(jī)。編寫程序能在3100H開始的區(qū)域排出名次表,3100H+i為學(xué)號(hào)i的學(xué)生名次。實(shí)驗(yàn)步驟:(1)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(2)將30個(gè)成績(jī)存入首址為3000H的單元中。(3)調(diào)試并運(yùn)行實(shí)驗(yàn)程序。(4)檢查3100H開始的區(qū)域中的名次表的正確性。四思考題1. 請(qǐng)指出程序1中哪部分屬于外循環(huán),哪部分屬于內(nèi)循環(huán)?2. 程序中對(duì)SI、CX壓棧和彈棧的意義何在?3. 修改程序2,使其能將3100H開始的區(qū)域中的名次表顯示出來。實(shí)驗(yàn)六 中斷特性及8259應(yīng)用編程實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康?. 認(rèn)識(shí)TDN86/88系統(tǒng)的中斷特性。2. 掌握8259中斷控制器的工作原理。3. 掌握8259可編程

50、控制器的應(yīng)用編程。4. 學(xué)習(xí)掌握8259級(jí)連方式的使用方法。5. 學(xué)習(xí)在接口實(shí)驗(yàn)單元上構(gòu)造連接實(shí)驗(yàn)電路的方法。 二實(shí)驗(yàn)設(shè)備1. TDN86/88教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)。2. 排線、導(dǎo)線若干。三實(shí)驗(yàn)內(nèi)容及步驟1. 8259應(yīng)用實(shí)驗(yàn)(1)圖6-1 實(shí)驗(yàn)(1)線路按圖6-1所示實(shí)驗(yàn)線路編寫程序,使每次響應(yīng)外部中斷IRQ7時(shí),顯示字符“7”,中斷10次后,程序退出。實(shí)驗(yàn)步驟:(1)按圖6-1連接實(shí)驗(yàn)線路。(2)輸入程序并檢查無誤,經(jīng)匯編、連接后裝入系統(tǒng)。(3)G0000:2000運(yùn)行實(shí)驗(yàn)程序。(4)重復(fù)按KK2微動(dòng)開關(guān),顯示屏上應(yīng)用“7”來響應(yīng),直到按10次后,系統(tǒng)處于停機(jī)狀態(tài),用CTRL+BREAK返回監(jiān)控。2. 8259應(yīng)用實(shí)驗(yàn)(2)圖6-2 實(shí)驗(yàn)(2)線路按圖6-2所示實(shí)驗(yàn)線路,編寫程序,完成下面的要求:當(dāng)無中斷請(qǐng)求時(shí),執(zhí)行主程序,延時(shí)顯示“main”,若有中斷請(qǐng)求,則執(zhí)行其中斷服務(wù)程序,顯示該中斷號(hào)“6”或“7”;若正在執(zhí)行較低級(jí)的中斷服務(wù)程序,則允許比它優(yōu)先級(jí)高的中斷被響應(yīng)(IRQ6>IRQ7)。主程序在執(zhí)行過程中,每顯示一個(gè)“ma

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論