第一篇:西南民族大學《微機原理與接口技術》實驗心得9篇
西南民族大學《微機原理與接口技術》實驗心得9篇
2.1 清零程序:
這個實驗是本門課程的第一個軟件實驗,不需要連接電路,直接運行編寫好的程序即可,程序代碼也比較簡單。實驗內容是將RAM區內4000H~40FFH單元的內容清零,同時熟悉8088匯編語言程序設計和調試方法。
通過本次實驗,我加深了對匯編程序指令的熟悉與理解,匯編語言直接描述機器指令,比機器指令更容易記憶與理解。熟悉了本實驗的基本原理,理解了8088匯編語言程序的工作過程。由于這是第一個實驗,內容也比較簡單,所以實驗過程比較順利,基本沒出現錯誤。
2.2 拆字程序:
本次實驗也是軟件實驗,程序代碼比清零程序稍微復雜一些,本程序的主要功能是把4000H單元的內容拆開,高位送4001H,低位送4002H,同時將4001H、4002H兩單元的高位清零。
通過本次實驗,我學會了用斷點方式調試匯編程序,對于匯編程序怎么去排錯、查錯,怎么去看每一步的運行結果,怎么去了解每個寄存器內容的變化以確保程序的正確性有了一定的認識。當看到實驗結果與計算的結果一致時,還是有一點小小的成就感的。但最開始編寫的程序還是存在低級的語法錯誤,導致程序編譯出錯,這是在以后編寫匯編程序的時候必須要想辦法杜絕的。
3.2 8259A中斷應用實驗:
這次實驗是一次綜合性的實驗,8255和8259A兩個接口芯片都要用到,程序也比較長,理解較為麻煩。雖然遇到了不少困難,但主要還是連線不注意造成的。
通過這次實驗,我又熟悉了匯編語言的應用,加深了對8255、8259A兩種芯片功能的理解,明白了中斷控制是微機系統的主要管理方式,也是處理器與外設之間通信的最有效方式。
通過本次實驗,我掌握了8259A中斷控制器的工作原理,基本功能及初始化編程方法,掌握了8259A的7個命令(4個初始化命令和3個操作命令)的結構和用法。
3.3 可編程定時器/計數器8254/8253實驗:
本次實驗是將32Hz的晶振頻率作為8254的時鐘輸入,利用8254產生1Hz的方波,方波需用示波器觀察。8254是一種可編程的定時器/計數器芯片。
通過本次實驗,我了解了計數器的硬件連接方法及時序關系,掌握了8254的各種模式的編程及其原理,學會了用示波器觀察各信號之間的時序關系。
本次實驗的硬件連接問題不大,但由于很久沒用示波器的緣故,我對示波器的使用顯得生疏。尤其是調試方波的時候花了很多時間,最終效果卻依然不理想,也因此影響了實驗結果的觀測。我也明白了配套設備的熟練使用程度對實驗的成功與否有很重要的作用。
3.8 D/A轉換實驗:
這次實驗需要用到示波器,實驗剛開始時,對示波器的一些按鍵的功能不太熟悉,在調接示波器的初始化過程中花了很多時間,最后在老師的提示下完成了示波器的初始化,接著按實驗操作步驟一步步完成了實驗,達到了實驗目的,實現了預期的結果。
通過此次實驗,我們初步掌握了DAC0832芯片的一些性能和使用方法以及對應的硬件電路,了解D/A轉換的基本原理以及示波器的應用,使理論知識得到了加深和鞏固。
本次實驗是本門課程的最后一次實驗,通過本學期的九次實驗,我們鞏固了匯編語言編程的相關知識,同時提高了對理論知識的認知應用能力,使我們認識到課程的重要性,感受到理論與實踐之間的差距,為我們更好的鞏固已學習的知識及培養我們的動手能力創造了良好的機會。
第二篇:微機原理與接口技術實驗總結
微機原理與接口技術實驗總結
11107108
徐寒黎
一、實驗內容以及設計思路
1、①試編寫一程序,比較兩個字符串STRING1、STRING2 所含字符是否相同,若相同輸出“MATCH”,若不相同輸出 “NO MATCH”。設計思路:定義一個數據段,在數據段中定義兩個字符串作為STRING1、STRING2以及幾個用于輸入提示的和輸出所需內容的字符串,定義一個堆棧段用于存放,定義代碼段。關鍵步驟以及少量語句:第一步將STRING1和STRING2都實現用鍵盤輸入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且顯示在顯示器上,顯示方法將0AH改成09H,語句與上面類似。然后進行比較第一個單元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串長度不等,則直接跳轉,輸出輸出 “NO MATCH”; 若長度相等再逐個比較 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳轉MATCH,輸出“MATCH”;不然進入下面的NOMATCH。退出。
②試編寫求級數1^3+2^3 +3^3 …..前幾項和剛大于10000的程序。
設計思路:原先編寫的程序,設定和為10000,結果是14。但要求高一點的話,可以自己設置,實現用鍵盤輸入和的值。
一個難點是將輸入的ASCII碼字符串,轉換成與之相同的十進制數的數值。關鍵的思路部分是:從1開始求級數,將和的值存在AX里,要加下一項級數前,比如這時已經加到4,PUSH一下AX,然后將5乘三遍,將乘積MOV到BX里,再POP AX,然后將BX的值加到AX里,然后將AX與N比較,如果比N小就繼續上述步驟,知道剛比N大就輸出數字。
③試編寫一程序,完成字符串中各字符出現頻度的統計,統計結果在屏幕上輸出。
設計思路:因為這個程序需要統計所有的字符,所以首先要定義一個存儲區,用來存放26個字符以及每個字符出現的個數。用鍵盤控制輸入字符串以后,將字符串的第一個字符與這二十六個字符逐個比較,若有相同,在存放相應次數的存儲單元的值上加1。然后比較第二個字符,依次類推,將字符串里的字符全部比較完。將個數大于1的字符以及字符的個數都輸出到屏幕上。退出語句。缺點和不足:這樣需要定義一個非常繁的存儲區。可以根據輸入的字符,然后進行比較和統計。
④設計一個動畫程序。
設計思路:這個程序參考了網上的資料,沒有什么新意,是小鳥的圖形,可以用上下左右鍵進行移動,可以退出。
步驟:首先設置堆棧段,數據段,代碼段,設置顯示方式等一些屬性,設置背景色,設置小鳥的初始位置以及寫出小鳥圖形的像素的點。功能性的語句是,用鍵盤接受一個輸入,將其與1bh比較,用JZ語句跳轉到退出。若不是便與48h比較,看是否為向上,是則跳轉到相應語句,不是則繼續與50h比較;,看是否向下,是則跳轉到關于向下移動的相關語句,否則再與4bh比較,看是否向左,依次類推,根據鍵盤輸入的上下左右跳轉到不同的語句。再將小鳥的位置進行與上下左右鍵的輸入相應的移動。
最后編寫好退出語句。
2、硬件接口主要是了解8255與8253的功能,以及控制字。①I/O地址譯碼
只要對硬件概念清晰,很簡單的。基本上沒有什么創造性。收獲:熟悉實驗箱結構,了解每部分元件和標注的意義。掌握I/O地址譯碼電路的工作原理。②可編程定時器8253 1,對照實驗電路圖,將計數器0設置為方式0,即數初值設為N(N<0fh),用手動逐個輸入單脈沖,編程使計數值在屏幕上顯示,并用邏輯筆觀察OUT0點平變化。
2,將計數器0、計數器1分別設置為方式3,計數初值設為1000用邏輯筆觀察out1輸出電平的變化。
收獲:掌握8253的基本工作原理和編程方法
③并行接口8255 1,試驗電路如圖所示,8255C口接邏輯電平開關K0~K7,A口接LED顯示電路L0~L7。3,數碼管靜態顯示:按下圖接好電路,將8255A口PA0~PA6分別與七段數碼管的段碼驅動輸入端a~g相連,位碼驅動輸入端S1接5V(選中),S0和dp接地(關閉)。編程從鍵盤輸入一位十進制數(0-9),在七段數碼管上顯示。
4,數碼管動態顯示:按下圖接好電路,七段數碼管的連接不變,位碼驅動輸入端S1、S0接8255 C口的PC1和PC0。編程在兩個數碼管上顯示“56”。
動態顯示時,先送“5”的段碼送A口,再送02h到C口為位碼;經一定延時后,送“6”的段碼送A口,再送01h到C口為位碼。循環完成,可以顯示數碼。5,數碼管動態顯示(選做):同圖接好電路,編程在兩個數碼管上顯示循環顯示“00-99”。只要搞清楚各個口的地址,以及選擇適當的控制字,其實很簡單的。
收獲:掌握8255的基本工作原理和編程方法,對方式0的認識加深了。
二、試驗中遇到的問題 1在編寫程序時,我深深體會到,畫程序框圖的重要性,每一步跳轉的條件一定要搞清楚,Y和N不能搞反了,否則就錯了。
2實驗2,里面涉及的寄存器很多,很容易就會用亂了,還是很需要注意的。3比如那個小鳥動畫的題目,當時在控制左右移動的時候,選擇的起始位置的語句沒寫對位置,每次按一個移位的鍵以后,都從最初的初始位置向某個方向移動。
4硬件方面的,一開始沒搞懂地址什么意思,所以連線時很懵懂,后來清楚了,發現就沒什么了。
三、心得感受
微機原理與接口技術的課程實驗歷時大半個學期,通過自己編寫、運行程序,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。以前對于編程工具的使用還處于一知半解的狀態上,但是經過一段上機的實踐,對于怎么去排錯、查錯,怎么去看每一步的運行結果,怎么去了解每個寄存器的內容以確保程序的正確性上都有了很大程度的提高。
前四個簡單程序設計,加深了我們對初學的匯編語言指令的熟悉和理解,匯編語言直接描述機器指令,比機器指令容易記憶和理解。通過學習和使用匯編語言,向上為理解各種軟件系統的原理,打下技術理論基礎;向下為掌握硬件系統的原理,打下實踐應用基礎。不僅鞏固了書本所學的知識,還具有一定的靈活性,發揮了我們的創造才能。
后面幾個實驗是并行輸入輸出接口8255和計數器8253的功能的操作,加深了我們對硬件的熟悉,鍛煉了動手能力,發揮創造才能。
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在自己的思考以及和同學的討論中,終于迎刃而解。
第三篇:微機原理與接口技術_試題與答案西南交大
試題
微型計算機原理與接口技術綜合測試題一
一、單項選擇題(下面題只有一個答案是正確的,選擇正確答案填入空白處)1.8086CPU通過(1)控制線來區分是存儲器訪問,還是I/O訪問,當CPU執行IN AL,DX指令時,該信號線為(2)電平。
(1)A.M/ B.C.ALE D.N/(2)A.高 B.低 C.ECL D.CMOS 2.n+1位有符號數x的補碼表示范圍為()。
A.-2n < x < 2n B.-2n ≤ x ≤ 2n-
1C.-2n-1 ≤ x ≤ 2n-1 D.-2n < x ≤ 2n
3.若要使寄存器AL中的高4位不變,低4位為0,所用指令為()。
A.AND AL, 0FH B.AND AL, 0FOH
C.OR AL, 0FH D.OR AL 0FOH 4.下列MOV指令中,不正確的指令是()。
A.MOV AX, BX B.MOV AX, [BX]
C.MOV AX, CX D.MOV AX, [CX]
5.中斷指令INT 17H的中斷服務程序的入口地址放在中斷向量表地址()開始的4個存貯單元內。
A.00017H B.00068H C.0005CH D.0005EH 6.條件轉移指令JNE的條件是()。
A.CF=0 B.CF=1 C.ZF=0 D.ZF=1
7.在8086/8088 CPU中,一個最基本的總線讀寫周期由(1)時鐘周期(T狀態)組成,在T1狀態,CPU往總線上發(2)信息。
⑴ A.1個 B.2個 C.4個 D.6個 ⑵ A.數據 B.地址 C.狀態 D.其它
有兩種工作模式, 最小模式的特點是(1),最大模式的特點是(2)。⑴ A.CPU提供全部控制信號 B.由編程進行模式設定
C.不需要8286收發器 D.需要總線控制器8288 ⑵ A.M/ 引腳可直接引用 B.由編程進行模式設定
C.需要總線控制器8288 D.適用于單一處理機系統
9.在8086微機系統的RAM 存儲單元器0000H:002CH開始依次存放23H,0FFH,00H,和0F0H四個字節,該向量對應的中斷號是()。
A.0AH B.0BH C.0CH D.0DH
10.真值超出機器數表示范圍稱為溢出,此時標志寄存器中的()位被置位
A.OF B AF C PF D CF
11.8086 系統中內存儲器地址空間為1M,而在進行I/O讀寫是,有效的地址線是()
A.高16位 B.低16位 C.高8位 D.低8位 12.8086 CPU中段寄存器用來存放()
A.存儲器的物理地址 B.存儲器的邏輯地址
C.存儲器的段基值 D.存儲器的起始地址
13.8259A可編程中斷控制器的中斷服務寄存器ISR用于()A.記憶正在處理中的中斷 B.存放從外設來的中斷請求信號 C.允許向CPU發中斷請求 D.禁止向CPU發中斷請求 14.8253 可編程定時/計數器的計數范圍是()A.0-255 B.1-256 C.0-65535 D.1-65536
15.在8086中,(BX)=8282H,且題中指令已在隊列中,則執行INC [BX]指令需要的總線周期數為()
A.0 B.1 C.2 D.3
16.8086中,()組寄存器都可以用來實現對存儲器的尋址。
A.AX,SI,DI,BX B.BP,BX,CX,DX C.SI,DI,BP,BX D.BX,CX,SI,DI
微機系統中若用4片8259A構成主、從兩級中斷控制邏輯,接至CPU的可屏蔽中斷請求線INTR上,最多可擴展為()級外部硬中斷。
A.32 B.29 C.28 D.24
18.在8086宏匯編過程中不會產生指令碼,只用來指示匯編程序如何匯編的指令是()
A.匯編指令 B.偽指令 C.機器指令 D.宏指令
19.連接到64000h-6FFFFh地址范圍上的存儲器是用8k×8 RAM芯片構成的,該芯片要()片。
A.8片 B.6片 C.10片 D.12片
20.8086/8088指令OUT 80H,AL表示()
A.將80H送給AL B.將80H端口的內容送給AL
C.將AL的內容送給80H端口 D.將AL內容送給80H內存單元 二.改錯(若有錯,請指出錯誤并說明原因)1.堆棧操作應滿足先進先出原則。()
2.CPU在未執行完當前指令的情況下,就可響應可屏蔽中斷請求。()3.8086CPU標志寄存器共有16位,每一位都有含義。()4.條件轉移指令只能用于段內直接短轉移。()
5.控制器的基本功能是:由程序計數器PC控制程序的有序運行,并完成各種算術邏輯運算。()
6.在8259A級連系統中,作為主片的8259A的某些IR引腳連接從片,同時也可以在另一些IR引腳上直接連接外設的中斷請求信號端。()
7.8086的中斷分為可屏蔽中斷和不可屏蔽中斷兩種。()
8.串行接口中“串行”的含意僅指接口與外設之間的數據交換是串行的,而接口與CPU之間的數據交換仍是并行的。
9.字長一定的情況下,原碼、反碼和補碼所能表示的二進制真值范圍是相同的。()10.所有進位計數制,其整數部分最低位的位權都是1()
三、填空題
.某存貯器單元的實際地址為2BC60H,該單元在段地址為2AFOH中的偏移地址是__________。
2. 8086 CPU復位后,寄存器中的值將進入初始態,問(CS)= __________,(IP)= __________,(DS)= __________。
3.8086/8088 CPU內部結構按功能分為兩部分,即_________ 和__________。4.CPU對外設進行數據傳送的方式有幾種,即 __________,___________,或___________。
5.CPU從主存取一條指令并執行該指令的時間稱為__________ , 它通常用若干個__________ 來表示,而后者又包含有若干個__________。
6.8086/8088 CPU提供了接受外部中斷請求信號的引腳是__________ 和 __________。
7.-128的補碼是
8.填入適當指令,使下面程序實現用移位、傳送、加法指令完成(AX)與10相乘運算:SHL AX,__________
MOV DX,AX
MOV CL,__________
SHL AX,CL
ADD __________
9.時序控制方式有同步方式和
10.大部分DMAC都擁有單字節傳送,傳送,和成組傳送方式
四.閱讀程序并回答問題
1、已知:(AX)=2233H,(BX)=5566H, 執行了下面的程序段后,(AX)=_______ ,(BX)=______.CMP AX,BX JG NEXT XCHG AX,BX NEXT: NEG AX、已知:(AX)=6666H,(BX)=0FF00H,(CF)=0。在執行下面程序段后:(AX)=____,(BX)=____,(CF)=____.MOV AX,5555H
AND AX,BX
XOR AX,AX
NOT BX
五、綜合應用
1.8255A接口電路如圖所示。已知8255A控制字寄存器的端口地址為103H,編寫8255A初始化程序和循環彩燈控制程序。初始時D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此類推每隔一秒移位一次,每移位8次為一個循環.共循環8次。要求用匯編語言寫出滿足上述要求的程序段(已知一個延時1秒的子程序入口地址為DELAY1S)。
2.已知存儲器地址空間分配、RAM芯片(4K×4)、如圖所示,請完成如下任務:
(1)圖所示RAM芯片有幾根地址線?幾根數據線?用該RAM芯片構成圖中所示存儲器地址空間分配,共需要幾個芯片?共分幾個芯片組?
(2)設CPU的地址總線為20位,數據總線8位,畫出這些芯片按圖所示的地址空間構成的RAM存儲器極其與CPU間的連接圖(包括3-8譯碼器構成的片選8譯碼電路)。
│
┏━━━━┓ ┏━━┷━━━┓ ┏━━━━━━┓
0000H ┃ RAM1 ┃ ┃!CS ┃ ─┨G1 Y0!┠─
┃ ┃ →┃A11 ┃ ─┨!G2a Y1!┠─
2000H ┠────┨.┃ ┃ ─┨!G2b ┃
┃ 空 ┃.┃ RAM(4K×4)┃ ┃.┃
┃ ┃.┃ ┃ ┃.┃
6000H ┠────┨ →┃A0 ┃ ┃.┃
┃ RAM2 ┃ ┃ ┃ ┃ ┃
┃ ┃ →┃!WE ┃ ─┨C ┃
7000H ┠────┨ ┃ ┃ ─┨B ┃
┃ 空 ┃ ┃ ┃ ─┨A Y7!┠─
┃ ┃ ┃ D3-D0 ┃ ┃ ┃
┗━━━━┛ ┗━━━━━━┛ ┗━━━━━━┛ ↓
RAM芯片
微型計算機原理與接口技術綜合測試題二
一、單選題
()1.8086CPU在執行MOV AL,[BX]指令的總線周期內,若BX存放的內容為1011H,則 和A0的狀態是。
A.0,0 B.0,1
C.1,0 D.1,1
()2.設x=-46,y=117,則[x-y]補和[x+y]補分別等于
。A.D2H和75H B.5DH和47H C.2EH和7lH D.47H和71H()3.8086CPU在進行無符號數比較時,應根據
標志位來判別。
A.CF和OF B.CF和PF C.CF和ZF D.ZF和OF()4.執行下列程序后,(AL)=。
MOV AL,92H
SUB AL,7lH
DAS
A.21 B.11 C.21H D.11H()5.下列指令中正確的是。
A.MOV AX [SI] [DI] B.MOV BYTE PTR[BX],1000 C.PB8 EQU DS:[BP+8] D.MOV BX,OFFSET [SI]
()6.在PC/XT中,NMI中斷的中斷矢量在中斷矢量表中的位置
。A.是由程序指定的 B.是由DOS自動分配的
C.固定在08H開始的4個字節中 D.固定在中斷矢量表的表首
()7.在8086中,(BX)=8282H,且題中指令已在隊列中,則執行INC [BX]指令需要的總線周期數為。
A.0 B.1 C.2 D.3
()8.微機系統中若用4片8259A構成主、從兩級中斷控制邏輯,接至CPU的可屏蔽中斷請求線INTR上,最多可擴展為
級外部硬中斷。
A.32 B.29 C.28 D.24
()9.當存儲器讀寫速度較慢時,需產生一個READY信號以實現與CPU的同步,CPU將在總線周期的時候采樣該信號。
A.T2下降沿 B.T3下降沿 C.T2上升沿 D.T3上升沿
()10.8086中,組寄存器都可以用來實現對存儲器的尋址。
A.AX,SI,DI,BX B.BP,BX,CX,DX
C.SI,DI,BP,BX D.BX,CX,SI,DI
三、填空題
1.已知(AL)=0101110lB,執行指令NEG AL后再執行CBW,(AX)=。
在動態存儲器2164的再生周期中,只需要 地址,所以在 和 這兩個信號中,只有
變為低電平。
3.過程可重入是指,用 傳遞參數過程才可實現重入。
4.若(AL)=01001001B,執行 ADD AL,AL指令后,再執行 DAA命令,則(AL)=,(CF)=,(AF)=。
5.已知指令序列為:
MOV AX,0FFBDH
MOV BX,12F8H
IDIV BL
此指令序列執行后,(AX)=,(BX)=。
6.微型計算機中,CPU重復進行的基本操作是:、和。
7.若(CS)=4200H時,物理轉移地址為4A230H,當CS的內容被設定為7900H時,物理轉移地址為。
8.8259A工作在8086模式,中斷向量字節ICW2=70H,若在IR3處有一中斷請求信號,這時它的中斷向量號為,該中斷的服務程序入口地址保存在內存地址為 H至 H的個單元中。
四、程序閱讀
1.閱讀下列程序,寫出程序執行后數據段BUF開始的10個內存單元中的內容。
DATA SEGMENT
BUF DB 08H,12H,34H,56H,78H,9AH,0BCH,0DEH,0F0H,0FFH KEY DB 78H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA MOV DS,AX MOV ES,AX
LEA DI,BUF MOV CL,[DI] XOR CH,CH INC DI MOV AL,KEY REPNE SCASB JNE DONE DEC BUF MOV SI,DI DEC DI
REP MOVSB
DONE: MOV AH,4CH INT 21H
CODE ENDS END START
執行結果:BUF DB、、、、、、、、、2.在內存的NUM單元中有一個字節的帶符號二進制數(補碼表示),下列程序是將其對應的十進制數輸出到顯示器上。請對程序中的三處錯誤進行修正,并在空白處填上適當的語句。
DATA SEGMENT NUM DB ?
BUFFER DB 10 DUP(?)DATA ENDS
STACK SEGMENT PARA STACK ?STACK? DB 100H DUP(?)
CODE SEGMENT
①
START: MOV AX,DATA MOV ES,AX MOV DS,DATA MOV CL,NUM
LEA DL,BUFFER
②
MOV AL,0DH STOSB MOV AL,0AH STOSB MOV AL,CL OR AL,AL JS PLUS
③
MOV AL,?-? JMP GOON
PLUS: MOV AL,?+? GOON: STOSB MOV BL,64H CALL CHANGE MOV BL,0AH CALL CHANGE,30H ADD AL,CL STOSB MOV AL,?$? STOSB
LEA DX,BUFPER MOV AH,9
INC 21H MOV AH,4CH INT 21H
CHANGE PROC NEAR MOV DL,0
AGAIN: SUB CL,BL JC DOWN INC DL JMP AGAIN DOWN: ④ MOV AL,30H ADD AL,DL STOSB
⑤ CHANGE ENDP CODE END END START
五、存儲系統分析與設計
;輸出十進制
已知RAM芯片和地址譯碼器的引腳如題五圖所示,試回答如下問題:
(1)若要求構成一個8K×8的RAM陣列,需幾片這樣的芯片?設RAM陣列組占用起始地址為El000H的連續地址空間,試寫出每塊RAM芯片的地址空間。
(2)若采用全地址譯碼方式譯碼,試畫出存儲器系統電路連接圖;
(3)試編程:將55H寫滿每個芯片,而后再逐個單元讀出做比較,若有錯則CL=FFH,正確則CL=77H。
D4 ~ D1
微型計算機原理與接口技術綜合測試題三
一、單選題
()1.在8086宏匯編過程中不會產生指令碼,只用來指示匯編程序如何匯編的指令是。
A.匯編指令 B.偽指令 C.機器指令 D.宏指令
()2.在CMP AX,DX指令執行后,當標志位SF、OF、ZF滿足下列邏輯關系(SF⊕OF)+ZF=0時,表明。
A.(AX)>(DX)B.(AX)≥(DX)C.(AX)<(DX)D.(AX)≤(DX)
()3.8086微機系統的RAM存儲單元中,從0000H:002CH開始依次存放23H,0FFH,00H,和0F0H四個字節,該向量對應的中斷號是。
A.0AH B.0BH C.0CH D.0DH
()4.8255的A口工作在方式1輸入時,其中斷允許控制位INTE的開/關是通過對 的按位置位/復位操作完成的。
A.PC0 B.PC2 C.PC4 D.PC6
()5.在進入DMA工作方式之前,DMA控制器被當作CPU總線上的一個。A.I/O設備 B.I/O接口 C.主處理器 D.協處理器)6.在 PC/XT中,設(AX)=9305H,(BX)=6279H,若ADD BX,AX指令后接著INTO指令則會。
A.進入 INTO中斷服務子程序 B.執行 INTO后面的指令 C.死機 D.顯示器顯示 OVERFLOW
()7.80486總線采用的是(1),一個最基本的總線周期由(2)個時鐘周期(T狀態)組成。
(1)A.同步總線協定 B.半同步總線協定 C.異步總線協定(2)D.2 E.3 F.4
()8.微處理器系統中采用存儲器映像方式編址時存儲單元與I/O端口是通過
來區分的。
A.不同的地址編碼 B.不同的讀/寫控制邏輯 C.專用I/O指令
()9.在一個項目或產品研制的過程中,通常采用 ________ 類型的存儲芯片來存放待調試的程序。
A.RAM B.ROM C.PROM D.E2PROM
()10.8259A工作在8086/8088模式時,初始化命令字ICW2用來設置。A.中斷向量地址的高8 位 B.中斷類型號地址的高5位 C.中斷向量的高5位 D.中斷類型號的高5位
三、填空題
1. 設模為28,則52的補碼為 _____H,-14的補碼為 ______H,-0的反碼為 _____H。
2. 設內存中一個數據區的起始地址是1020H:0A1CBH,在存入5個字數據后,該數據區的下一個可以使用的單元的物理地址是 ________________。
3. 8086根據所構成系統大小的不同,可以工作在最大方式或最小方式。在最大方式下,系統需使用 ________ 來形成總線周期。
4. 微機系統內,按信息傳輸的范圍不同,可有 ______,_________,_______,________等四級總線。
. CPU對外設進行數據傳送的方式有幾種,即 __________,___________,或___________。
6. 匯編指令通常包括 ___________ 和 __________ 兩部分。
7. 8086系統中,默認方式下對指令尋址由寄存器 ________ 和 _______ 完成,而堆棧段中的偏移量可由寄存器 ________ 或 _________ 來指示。
8. 程序存儲與程序控制原理的含義是
___________________________________________。
四、程序閱讀
1. 讀程序,并標明內存中數據段的相關地址和內容。# SEGMENT
BUFFER DB 3 DUP(0)
A DB 41H
LA EQU $
B DW 'AB'
LB EQU $
BYTEB EQU BYTE PTR B
C DD 41424344H
LC EQU $
WORDC EQU WORD PTR C # ENDS
CODE SEGMENT
ASSUME DS:#, ES:#, CS:CODE START PROC FAR
MOV AX,#
MOV DS,AX,AX
LEA SI,BUFFER
MOV [ SI ],BYTEB
INC SI
MOV [ SI ],WORDC
ADD LA[ SI ],LB
ADD LB[ SI ],LC
MOV AH,4CH INT 21H START ENDP CODE ENDS
END START
2. 設有100個字節數據(補碼),存放在數據段中EA=2000H的存儲區內,以下程序應能從該數據區中找出最大的1個數并存人同一數據段EA=2100H的單元中,請完成該程序(在空白處填入適當的語句)。
MAX: MOV BX,MOV AL,[BX] MOV CX,LOOP1: INC BX CMP AL,[BX] LOOP2 MOV AL,[BX]
LOOP2: DEC CX JNZ
MOV,AL
五、編址連線
已知某8088微機系統中有兩個3 ~ 8譯碼器74LS138,如題五圖所示,分別用于存儲器
和I/O端口的地址選擇。試按圖中連線把兩個譯碼器的各個輸出線的尋址范圍列表寫出,未標出的高位地址線為低電平。74LS138輸人輸出關系為:
微型計算機原理與接口技術綜合測試題五
一、填空:(每空1分,共20分)
1、設字長為八位,有x=-1,y=124,則有:[x+y]補=______,[x-y] 補=_______;
2、數制轉換:247.86= H =______________BCD;
3、在8086CPU中,由于BIU和EU分開,所以_____和 _____ 可以重疊操作,提高了CPU的利用率; 4、8086的中斷向量表位于內存的_______區域,它可以容納____個中斷向量,每一個向量占____ 個字節; 5、8086系統中,地址FFFF0H是___________________ 地址; 6、8086CPU的MN/MX引腳的作用是____________________; 7、8251芯片中設立了_____、_____ 和______三種出錯標志; 8、8086CPU中典型總線周期由____個時鐘周期組成,其中T1期間,CPU輸出______信息;如有必要時,可以在__________兩個時鐘周期之間插入1個或多個TW等待周期。9、8259A共有___個可編程的寄存器,它們分別用于接受CPU送來的______命令字和________命令字。
二、簡答題:(20分)
1、什么是信號的調制與解調?為什么要進行調制和解調?試舉出一種調制的方式。(5分)、已有AX=E896H,BX=3976H,若執行ADD BX,AX指令,則結果BX,AX,標志位CF,OF,ZF各為何值?(5分)
3、有變量定義的偽指令如下: NUMS DW 18 DUP(4 DUP(5),23)VAR DB 'HOW ARE YOU!', 0DH, 0AH
試問:NUMS、VAR變量各分配了多少存儲字節?(5分)
4、已有MOV AL,INF[BP+SI]與MOV AL,ES:INF[BP+SI]兩條指令,試問:其源操作數采用何種尋址方式?是字或是字節操作?兩條指令有何區別?(5分)
三、讀圖(10分)
下圖中,AB7~AB0為8086CPU低八位地址總線
試問:
1、8259A占用______個端口地址,分別為____________,其中ICW1的設置地址為_________________; 2、8255A占用_____個端口地址,分別為__________________,其中控制寄存器的地址為_______。
五、閱讀程序與接口芯片初始化:(26分)
1、源程序如下:(6分)
MOV CL,4
MOV AX,[2000H]
SHL AL,CL
SHR AX,CL
MOV [2000H],AX
試問:j若程序執行前,數據段內(2000H)=09H,(2001H)=03H, 則執行后有(2000H)=_____,(2001H)=______。
k本程序段的功能_________________________。
2、源程序如下:(4分)
MOV AL,0B7H
AND AL,0DDH
XOR AL,81H
OR AL,33H JP LAB1 JMP LAB2
試問:j執行程序后AL=_______;
k程序將轉到哪一個地址執行:__________。
3、源程序如下:(6分)MOV CX,9
MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL
INC SI
SHL AL,1LOOP NEXT
試問:j執行本程序后有:AL=_____;SI=______;CX=______;k本程序的功能是______________________________。
4、某系統中8253占用地址為100H~103H。初始化程序如下:(4分)
MOV DX,103H MOV AL,16H OUT DX,AL SUB DX,3 OUT DX,AL
j此段程序是給8253的哪一個計數器初始化?安排工作在哪種工作方式?__________________;
k若該計數器的輸入脈沖的頻率為1MHZ,則其輸出脈沖的頻率為:___________。
5、已知某8255A在系統中占用88~8BH號端口地址,現欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復位,試編寫出相應的初始化程序:(6分)
微型計算機原理與接口技術綜合測試題六
一、填空題(20分,每空1分)
1、將十進制數279.85轉換成十六進制數、八進制數、二進制數及BCD碼數分別為:________H,________Q,_____B, BCD。
2、字長為8位的二進制數10010100B,若它表示無符號數,或原碼數,或補碼數,則該數的真值應分別為______D,______D或______D。
3、已知BX=7830H,CF=1,執行指令:ADC BX,87CFH之后,BX=____________,標志位的狀態分別為CF=_______,ZF=_______,OF=________,SF=__________。4、8086中,BIU部件完成______功能,EU部件完成 _____功能。5、8086中引腳BHE信號有效的含義表示________________。6、8086正常的存儲器讀/寫總線周期由________個T狀態組成,ALE信號在__________狀態內有效,其作用是______________。
7、設8086系統中采用單片8259A,其8259A的ICW2=32H,則對應IR5的中斷類型號為____________H,它的中斷入口地址在中斷向量表中的地址為____________________H。
二、簡答及判斷題(共17分)
1、某指令對應當前段寄存器CS=FFFFH,指令指針寄存器IP=FF00H,此時,該指令的物理地址為多少?指向這一物理地址的CS值和IP值是唯一的嗎?試舉例說明(4分)、8086CPU的FLAG寄存器中,狀態標志和控制標志有何不同?程序中是怎樣利用這兩類標志的?(4分)
3、設采用8251A進行串行異步傳輸,每幀信息對應1個起始位,7個數據位,1個奇/偶校驗位,1個停止位,波特率為4800,則每分鐘能傳輸的最大字符數為多少個?(4分)
三、讀圖和作圖題(20分)
1、8086系統中接口連接關系如下圖所示。要求回答以下問題:(1)試分別確定8255,8253,8259及8251的端口地址(12分);
(2)設8255的PA口為輸出,PB口為輸入,試寫出對PA口和PB口執行輸入/輸出操作的指令。(2分)
8255的端口地址為:___________________________________; 8253的端口地址為:___________________________________; 8259的端口地址為:___________________________________; 8251的端口地址為:___________________________________;
對PA口操作的I/O指令為_______________________________; 對PB口操作的I/O指令為______________________________。
2、作圖題。
系統采用4個接口芯片:8253,8251,8259及8255。要求8253的通道0用作實時時鐘,每當定時時間到之后向8259的IR2送入中斷申請信號。8253通道1用作方波發生器作為8251的收發時鐘脈沖。8253通道0,通道1的門控信號由8255PC口的PC3和PC2控制。
(1)畫出4個芯片之間控制線的連接圖;(4分)(2)8253的兩個通道應分別工作在什么方式?(2分)
四、程序閱讀題(20分)
1、源程序如下:(5分)
AH,0 MOV AL,9 MOV BL,8 ADD AL,BL AAA AAD DIV AL
結果AL_________,AH=___________,BL=_____________。
2、源程序如下:(5分)
MOV AX,SEG TABLE ;TABLE為表頭 MOV ES,AX
MOV DI,OFFSET TABLE MOV AL,?0? MOV CX,100 CLD
REPNE SCASB
問:1)該段程序完成什么功能?
2)該段程序執行完畢之后,ZF和CX有幾種可能的數值?各代表什么含義?
3、源程序如下:(5分)
CMP AX,BX JNC L
1JZ L2 JNS L3 JNO L4
L5
設AX=74C3H,BX=95C3H,則程序最后將轉到哪個標號處執行?試說明理由。
4、源程序如下:(5分)MOV DX,143H MOV AL,77H OUT DX,AL MOV AX,0 DEC DX DEC DX OUT DX,AL MOV AL,AH OUT DX,AL
設8253的端口地址為140H~143H,問:(1)程序是對8253的哪個通道進行初始化?(2)該通道的計數常數為多少?
(3)若該通道時鐘脈沖CLK的周期為1μs,則輸出脈沖OUT的周期為多少μs?
五、編程題(23分)1、8255的編程。(共10分)
設8255的端口地址為200H~203H。
(1)要求PA口方式1,輸入;PB口方式0輸出;PC7~PC6為輸入;PC1~PC0為輸出。試寫出8255的初始化程序。(3分)
(2)程序要求當PC7=0時置位PC1,而當PC6=1時復位PC0,試編制相應的程序。(7分)
2、自BUFFER開始的緩沖區有6個字節型的無符號數:10,0,20,15,38,236,試編制8086匯編語言程序,要求找出它們的最大值、最小值及平均值,分別送到MAX、MIN和AVI三個字節型的內存單元。(13分)要求按完整的匯編語言格式編寫源程序
一、單項選擇題
1.(1)A(2)B 2.B 3.B 4.D 5.C 6.C 7.(1)C(2)B 8.(1)A(2)C
9.B 10.A 11 B 12 C 13 A 14 C 15 C 16 C 17 B 18 B 19 B 20 C
二、改錯
1.′ 堆棧操作應滿足先進后出原則。
2.′ CPU必須在執行完當前指令以后,才可以響應可屏蔽中斷請求。3.′ 8086CPU標志寄存器共有16位,其中只有9位有含義。4.√(注:段內短轉移只有直接形式,沒有間接形式)5 ′ 6 √ 7′ 8 √ 9 ′
10√
三、填空題
1.0D60H 2.0FFFFH、0000H、0000H 3.接口部件BIU、執行部件EU 5.指令周期、總線周期、時鐘周期 6.NMI、INTR 8.
1、2、AX , DX
四、閱讀程序并回答題
1.0AA9AH、2233H(注:程序第三行顯然應該是 XCHG AX , BX)2.0000H、00FFH、0
五、8255編程。因為用到LOOP指令,循環計數器應該使用CX,而不應該只用CL。
MOV DX , 103H;103H為方式控制字地址
MOV AL , 80H
OUT DX , AL ;設置該8255 B口為方式0輸出,其他位可置0 MOV CX , 8 ;設置循環次數
MOV DX , 101H ;101H 為B口數據端口地址
AGAIN: MOV AL , 01H ;先設置D0位輸出為高電平,點亮第一個彩燈
OUT DX , AL
CALL DELAY1S ;B口相應位發出高電平點亮彩燈,并維持1S
SHL AL ,1JNZ NEXTP
LOOP AGAIN
微型計算機原理與接口技術綜合測試題二(答案)
一、單選題
1.B 2.B 3.C 4.C 5.D 6.C 7.C 8.B 9.B 10.C
二、多選題
1.B D 2.A B D 3.A B C 4.A D 5.B D 6.A B C D 7.B C 8.B D 9.A B 10.A B C D
三、填空題
1. 0FFA3H 2.行,3.一個過程在沒執行完時又被調用,堆棧 4. 10011000B,0,1 5.0308H,12F8H 6.取指令,分析指令,執行指令 7. 81230H
簡析:段內偏移地址= 物理地址-段基址*16=4A230H-42000H=8230H,則(CS)=7900H時,物理地址=79000H+8230H=81230H。
8. 73H,1CC,1CF,4
簡析:ICW2中記錄了8259A的8級中斷對應的中斷類型號的高5位,中斷類型號的低3位由中斷引腳編號確定,所以IR3腳對應的中斷類型號為73H,中斷服務程序的入口地址=中斷類型號*4=73H*4=1CCH。
四、程序閱讀
1.程序執行后BUF內容為:
07H,12H,34H,56H,9AH,0BCH,0DEH,0F0H.0F0H,0FFH
此程序的功能是:BUF單元中存放計數值“08H”,則程序將從BUF+1開始的8個單元中查找關鍵字78H,若找到則BUF單元計數值減1,且后面8-n四個單元的內容依次前移1字節,n為78H的位置指示,本題中n=4。
.
(1)錯誤語句:第12行 MOV DS,DATA 改正:MOV DS,AX
第22行 JS PLUS JNS PLUS
倒數第2行 CODE END CODE ENDS
(2)需補充的語句: ①ASSUME DS:DATA,SS:STACK,CS:CODE,ES:DATA
②CLD
③NEG CL
④ADD CL,BL
⑤RET
五、存儲系統分析與設計
(1)題五圖中所示RAM芯片有12根地址線和4根數據線,因此一片這樣的RAM芯片其存儲容量為212*4bit=4K*4bit,若需構成8K*8的RAM陣列,共需(8K*8)/(4K*4)=4片。這4片RAM芯片應分成2個芯片組,每個芯片組中RAM芯片的地址線A11 ~ A0、讀寫控制線 和片選控制線 都連在一起,因此每組中的RAM芯片占用的地址空間完全一樣,只是分別提供高4位和低4位的數據,這兩個芯片組的地址空間分別為:①組E1000H ~ E1FFFH和②組E2000H ~ E2FFFH。
(2)全譯碼系統的電路連接可以如下題五圖(答案)所示。圖中4個芯片的 控制線和A11 ~ A0地址線是連接在一起的。
(3)一種可能的填寫內存的程序代碼如下:
MOV AX,0El00H
MOV DS,AX ;給數據段、附加數據段寄存器賦初值
MOV ES,AX
MOV DI,0 CLD
MOV CX,2000H ;設置循環計數器賦初值
AL,55H
REP STOSB ;向DI所指的內存單元中填寫“55H” MOV DI,0
MOV CX,2000H REPZ SCASB ;掃描并比較
JNZ NEXT ;如有不等于55H的單元,轉到NEXT處理 MOV CL,77H ;正確 JMP EXIT
NEXT: MOV CL,0FFH ;出錯 EXIT: HLT
微型計算機原理與接口技術綜合測試題三(答案)
一、單選題
1.B 2.A 3.B 4.C 5.B 6.B 7.(1)B(2)D 8.A D 10.D
二、判斷題
1.×
2.√
3.×
4.×
5.√
6.×
7.×
8.√
三、填空題
1. 34H,0F2H,0FFH
2. 1020H:0A1D5H 或1A3D5H 3. 總線控制器8288
4. 片內總線,片(間)總線,系統內總線,系統外總線 5. 程序方式,中斷方式,DMA方式 6. 操作碼,操作數 7. CS,IP,SP,BP
9.. 用戶應預先將程序存入存儲器,計算機開始工作后,其控制器將自動、依次地從存儲器中取出程序指令并加以執行,而不需人工干涉。
四、程序閱讀
1. 內存單元的地址和內容如題四(1)圖答案所示。2.2000H,99,JGE,LOOP1,[2100H]
五、編址連線
從 的連接方法可以看出,片選 對存儲器尋址,而 對I/O口尋址。:00000H~01FFFH :00H~03H :02000H~03FFFH :04H~07H :04000H~05FFFH :08H~0BH :06000H~07FFFH :0CH~0FH :08000H~09FFFH :10H~13H :0A000H~0BFFFH :14H~17H :0C000H~0DFFFH :18H~1BH :0E000H~0FFFFH :1CH~1FH
微型計算機原理與接口技術綜合測試題五(答案)
一、每空1分,共20分 1、01111011 10000011
2、F7.DCH 001001000111.10000110 BCD
3、取指令 執行指令 4、00000H~003FFH區 256個 4個
5、CPU復位以后執行第一條指令的地址
6、決定CPU工作在什么模式(最小/最大)、奇/偶錯 幀格式錯 溢出錯 8、4個
地址 T3和T4 9、7個 初始化 操作
二、每題5分,共20分
1、串行長距離通信時,需要利用模擬信道來傳輸數字信號,由于信道的頻帶窄,一般為300~3400HZ,而數字信號的頻帶相當寬,故傳輸時必須進行調制,以免發生畸變而導致傳輸出錯。(3分)
調制是將數字信號?模擬信號。而解調則是相反。例如FSK制(調頻制或稱數字調頻)可將數字“1”和“0”分別調制成2400HZ和1200HZ的正弦波信號。(2分)
2、BX=220CH(1分)AX=E896H(1分)CF=1(1分)OF=0(1分)ZF=0(1分)
3、NUMS分配了180個字節(3分)VAR分配了15個字節(2分)
4、源操作采用基址+變址尋址方式(2分)是 字節操作(1分)MOV AL,INF[BP+SI]—訪問的是堆棧段(1分)
MOV AL,ES:INF[BP+SI]—訪問的是附加段,實現了段超越(1分)
三、每題5分,共10分
j 8259A占2個(2分)為20H,22H或24H,26H(2分)20H或24H(1分)
k 8255A占4個(2分)為80H,82H,84H,86H(2分)86H(1分)
四、每題2分,共8分 1(′);2(?);3(?);4(?);
五、共26分
1、(2000H)=39H(2分)(2001H)=00H(2分)
將(2000H),(2001H)兩相鄰單元中存放的未組合型BCD碼壓縮成組合型BCD碼,并存入(2000H)單元,0?(2001H)(2分)2、37H(2分)LAB2(2分)3、0(1分)1009H(1分)0(1分)
對數據段內1000H~1008H單元置數,依次送入1,2,4,8,16,32,64,128,0共九個(3分)
4、計數器0(1分)工作于方式3(1分)45.454KHZ(2分)
5、MOV AL,80H
OUT 8BH,AL(2分)
MOV AL,ODH
OUT 8BH,AL(2分)MOV AL,06H
OUT 8BH,AL(2分)
微型計算機原理與接口技術綜合測試題六(答案)
一、每空1分,共20分 1、117.D99H 427.6631Q 000100010111.110110011001B
0010 01111001.1000 0101 BCD 2、148D-20D-108D
3、BX=0000H CF=1 ZF=1 OF=0 SF=0
4、總線接口功能 指令的譯碼及執行功能
5、高8位數據線D15~D8有效 6、4 T1 給外部的地址鎖存器提供一個地址鎖存信號 7、35H 000D4H~000D7H
二、共17分
.故物理地址為0FEF0H。(2分)指向該物理地址的CS,IP值不唯一。
例如:CS:IP=0000:FEF0H也指向該物理地址。(2分)
2、狀態標志表示算術運算或邏輯運算執行之后,運算結果的狀態,這種狀態將作為一種條件,影響后面的操作。(2分)
控制標志是人為設置的,指令系統中有專門的指令用于控制標志的設置或清除,每個控制標志都對某一特定的功能起控制作用.(2分)28800個
0
4800′60
3、每幀占1+7+1+1=10位,波特率為4800 bit/s,故每分鐘能傳送的最大字符數為 28800(個)(4分)
4、(1)對;(2)錯;(3)錯;(4)對;(5)錯(5分)
三 共20分
1、(1)A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 任意 ′ ′ 0 Y0
0 0 1 任意 ′ ′ 0 Y1 0 1 0 任意 ′ ′ 0 Y0 1 1 任意 ′ ′ 0 Y3
8255的端口地址為 80H,82H,84H,86H(3分)
8253的端口地址為 90H,92H,94H,96H(3分)8259的端口地址為 A0H,A2H,(3分)
8251的端口地址為 B0H,B2H,(3分)(2)OUT 80H,AL(1分)IN AL,82H(1分)
2、(1)控制線連接圖如圖所示。(4分)
(2)通道0工作在方式2—速率發生器;通道1工作在方式3—方 波速率發生器(2分)
四、共20分
1、AL=01H(2分)AH=00 H(2分)BL=08H(1分)
2、(1)從目的串中查找是否包含字符 ?0?,若找到則停止,否則繼續重復搜索。(1分)
(2)ZF=1, 說明已找到字符(1分)
ZF=0, 說明未找到字符(1分)CX10,說明中途已找到字符退出(1分)CX=0,且ZF=0說明串中無字符 ?0?(1分)
3、∵ 74C3H-95C3H DF00H
且有:CF=1,ZF=0,SF=1,OF=1 程序將轉到L5標號處執行。(5分)
4、(1)程序對8253的通道1進行初始化。(1分)(2)計數常數為10000D,BCD計數。(2分)
(3)工作在方式3,方波速率發生器 周期=10000′1μs=10000μS=10ms(2分)
五、共23分 酌情扣分
1、(1)MOV DX, 203H
MOV AL, 10111000B
OUT DX, AL(3分)(2)MOV DX, 202H
IN AL, DX
MOV AH, AL
TEST AL, 80H
JNZ NEXT1(2分)
MOV DX, 203H
MOV AL, 00000011B ;對PC1置位
OUT DX,AL(2分)NEXT1:MOV AL,AH
TEST AL,40H
JZ NEXT2
MOV AL,00000000B ; 對PC0復位
MOV DX,203H
OUT DX,AL
NEXT2:………(3分)
2、# SEGMENT
BUFER DB 10,0,20,15,38,236
MAX DB 0 MIN DB 0 AVI DB 0
# ENDS(2分)
STACK SEGMENT PARA STACK?STACK?
DW 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:#,SS:STACK(1分)
START PROC FAR
BEGIN: PUSH DS
MOV AX,0
PUSH AX
MOV AX,#MOV DS,AX
LEA DI,BUFFER
MOV DX,0 ;使DH=0,DL=0
MOV CX,6
MOV AX,0 ; 和清0
MOV BH,0 ; 最大值
MOV BL,0FFH;最小值(2分)LOP1: CMP BH,[DI]
JA NEXT1 ; 若高于轉移
MOV BH,[DI]; 大值?BH NEXT1: CMP BL,[DI];
JB NEXT2 ; 若低于轉移
MOV BL,[DI]; 小值?BL(2分)NEXT2: MOV DL,[DI]; 取一字節數據
ADD AX,DX;累加和
INC DI
LOOP LOP1
MOV MAX,BH;送大值
MOV MIN,BL;送小值(3分)
MOV DL,6
DIV DL,;求平均值
MOV AVI,AL;送平均值
RET START ENDP CODE ENDS
END BEGIN(3分)
第四篇:微機原理與接口技術試題答案
微機原理與接口技術試題答案
一、填空題(20*1)
1、微機系統由(硬件系統)和(軟件系統)兩部分組成。2、8086有(20)位地址線,存儲器容量為(1M)B。3、8086CPU 內部組成結構從功能上講,可分為(BIU)和(EU)兩部分。4、8086/8088的四個段寄存器為(DS)、(ES)、(SS)、(CS)
5、用來存放CPU狀態信息的寄存器是(FLAGS)。
6、用來存放指令地址的寄存器是(IP)。7、8086的16位標志寄存器FLAGS中OF=1表示運算結果(溢出),ZF=1表示運算結果為零。PF=0表示運算結果的低8位中1的個數為(奇數)。
8、8086的16位標志寄存器FLAGS中IF=1表示CPU(允許)中斷,TF=1表示CPU進入(單步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的尋址方式有兩種,分別是(直接尋址),(間接尋址)。
12、指令JO NEXT 表示OF=(1)時轉移。
13、將I/O設備端口內容讀入AL中的指令助記符是(IN)。14、8086CPU的 I/O指令采用間接尋址時,使用的間接寄存器是(DX)。
15、設置DF=1的指令為(STD)。
16、清除CF標志的指令為(CLC)。
17、一對操作堆棧的指令為(POP)和(PUSH)。
18、LOOPNZ的循環條件為(CX≠0且ZF=0)。
19、實現無符號數乘2的指令的助記符是(SHL),實現有符號數除2的指令的助記符是(SAR)。22、8086CPU引腳信號中中斷請求兩個信號名稱為(INT)和(NMI)。
26、I/O端口的編址方式一般有(存儲器統一編址)和(獨立編址)兩種
29.1片8259A中斷控制器可管理(8)級中斷,用9片8259A可構成(64)級主從式中斷管理系統。
二: 填空題(每題2分, 共20分)1.8086CPU復位時, 寄存器 CS值為(FFFFH), 寄存器 IP的值為(0000H)2.8086CPU的8個8位通用寄存器名為(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 棧頂的實際地址為(34400H).4.指令 MOV AX, [BX] 的機器碼為 8BH, 07H , 指令 MOV [BX], AX的機器碼為(89H),(07H).5.8255A的工作方式有方式0功能為(基本輸入輸出), 方式1功能為(選通輸入輸出), 方式2功能為(雙向數據傳送).6.執行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 問: 該程序執行后BUF2中的值為(9).四、程序設計題(2*10)
1、編寫一個匯編語言程序,要求從鍵盤輸入一個小寫字母,將其轉換成大寫字母在屏幕上顯示出來。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9號調用顯示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1號調用,從鍵盤接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小轉PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大轉PEND
JA PEND;
ADD/SUB AL,20H;如在“a”與“z”之間則減去20變為大寫字符
MOV DL,AL
MOV AH,2;2號功能調用顯示一個字符
INT 21H
PEND: MOV AH,4CH;程序結束運行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址為4F0H~4F3H,設計數器1工作在方式1,計數器初值為3060H,采用二進制計數,請設計實現上述功能的8253初始化程序。8253控制字格式如下:
因為計數器初值為3060H,即為16位的,所以讀/寫格式為11 因此控制字為:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 編程題(7分)編一個完整的程序, 數據段有10個符號的ASCII碼值數據塊 BUF , 若數據為0到 9的ASCII碼值, 在屏上顯示 Y , 否則顯示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口編程(7分, 僅編程序段)8255A的A口,B口均工作于方式0, 從A口輸出數據30H, 將B口輸入的數據放入寄存器BL中.(注:8255A口地址為60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL
第五篇:微機原理與接口技術小結
微機原理與接口技術基礎
1.為什么在流水CPU中,將一條指令從取指到執行結束的任務分割為一系列子任務,并使各子任務在流水線的各個過程段并發地執行,從而使流水CPU具有更強大的數據吞吐能力?
這里可以使用時空圖法證明結論的正確性。
假設指令周期包含四個子過程:取指令(IF)、指令譯碼(ID)、取操作數(EX)、進行運算(WB),每個子過程稱為過程段(Si),這樣,一個流水線由一系列串連的過程段組成。在統一時鐘信號控制下,數據從一個過程段流向相鄰的過程段。
2.譯碼器是如何譯碼的?尋址空間是如何確定的?譯碼器與尋址空間是怎么聯系的?
譯碼器實際上是由許多與門、或門、非門和它們的組合構成的。它有若干個輸入端和若干個輸出端(也可能只有一個輸出端)。對某一個輸出端來說,它的電平高低必然與輸入的某一種狀態相對應。
例如,具有4個輸入端的與非門就是一個簡單的譯碼器,只有四個輸入端為1111時,它的輸出端才為0。如果將地址總線的A9、A8、A7、A6與它的四個輸入連接起來,并把它的輸出連到存儲器芯片或某個需要尋址的外設接口的片選端(假定低電平有效),那么,只有當A9、A8、A7、A6為1111時,存儲器芯片或外設才會被選中。
譯碼器的尋址空間取決于地址總線的哪幾根線接到譯碼器的輸入端,例如上例,地址總線的A9、A8、A7、A6與譯碼器的輸入連接,那么其尋址空間應該是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,沒有參與譯碼的低位地址線必然要參與存儲器芯片或外設接口的內部譯碼。也就是說,內部譯碼地址范圍是0--2n11 0000。
可以說,譯碼器的譯碼輸出決定了尋址空間的起始地址,內部譯碼決定了尋址空間的大小。由于上一條指令的四個子過程全部執行完畢后才能開始下一條指令,因此每隔4個單位時間才有一個輸出結果,即一條指令執行結束。表示非流水CPU的時空圖。由于上一條指令與下一條指令的四個過程在時間上可以重疊執行,因此,當流水線滿載時,每一個單位時間就可以輸出一個結果,即執行一條指令。
比較后發現:流水CPU在八個單位時間中執行了5條指令,而非流水CPU僅執行了2條指令,因此流水CPU具有更強大的數據吞吐能力。
3.書本上講的是若是計算結果中1的個數為偶數時,則PF=1;但我又在另外的輔導書上看到的說如果計算結果的低8位中1的個數為偶數,PF=1.請問老師是否是低八位?
答:對,PF只與結果的低8位有關。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7類34個寄存器。它們分別是通用寄存器、指令指針和標志寄存器、段寄存器、系統地址寄存器、控制寄存器、調試和測試寄存器。
(1)通用寄存器(8個)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每個32位寄存器的低16位可單獨使用,同時AX、BX、CX、DX寄存器的高、低8位也可分別當作8位寄存器使用。它們與8088/8086中相應的16位通用寄存器作用相同。
(2)指令指針和標志寄存器。
指令指針EIP是一個32位寄存器,存放下一條要執行的指令的偏移地址。
標志寄存器EFLAGS也是一個32位寄存器,存放指令的執行狀態和一些控制位。
(3)段寄存器(6個)
CS,DS,SS,ES,FS和GS。在實方式下,它們存放內存段的段地址。在保護方式下,它們被稱為段選擇符。其中存放的是某一個段的選擇符。當選擇符裝入段寄存器時,80386中的硬件章自動用段寄存器中的值作為索引從段描述符表中取出一個8個字節的描述符,裝入到與該段寄存器相應的64位描述符寄存器中。
(4)控制寄存器(4個)
CR0、CRl、CR2和CR3。它們的作用是保存全局性的機器狀態。
(5)系統地址寄存器(4個)
GDTR、IDTR、LDTR和TR。它們用來存儲操作系統需要的保護信息和地址轉換表信息、定義目前正在執行任務的環境、地址空間和中斷向量空間。
(6)調試寄存器(8個)
DR0~DR7。它們為調試提供硬件支持。
(7)測試寄存器(8個)
TR0~TR7,其中TR0~TR5由Intel公司保留,用戶只能訪問TR6、TR7。它們用于控制對TLB中的RAM和CAM相連存儲器的測試。TR6是測試控制寄存器,TR7是測試狀態寄存器,保存測試結果的狀態
5.什么是外部中斷源?什么是中斷向量碼?什么是讀選通信號?
答:外部中斷源就是在CPU外部能夠產生中斷請求的設備/器件;通俗地說,中斷向量碼就是中斷的編號,其值為0-FFH;選通信號就是打開邏輯門的控制信號,或用來鎖存信息(類似D觸發器的CP或CLK)的控制信號。讀選通信號就是用來打開總線緩沖器,以便把的數據送到總線上的控制信號。
6.CPU處于單步執行指令的工作方式(課本49頁),請問什么是單步執行指令工作方式? 答:在這種方式下,CPU每執行一條指令,就產生一次特殊的中斷,以便可以停下來檢查執行的結果。主要用于各類程序的調試。
7.片選信號(CS)到底是起使數據有效或無效的作用還是起選擇芯片的作用啊?若是前者,干嗎叫片選?
片選信號就是選擇芯片的信號。前者不叫片選信號,應該叫允許信號。
8.書本上講的是若是計算結果中1的個數為偶數時,則PF=1;但我又在另外的輔導書上看到的說如果計算結果的低8位中1的個數為偶數,PF=1.請問老師是否是低八位?
微型計算機基礎
1.為什么在流水CPU中,將一條指令從取指到執行結束的任務分割為一系列子任務,并使各子任務在流水線的各個過程段并發地執行,從而使流水CPU具有更強大的數據吞吐能力?
這里可以使用時空圖法證明結論的正確性。
假設指令周期包含四個子過程:取指令(IF)、指令譯碼(ID)、取操作數(EX)、進行運算(WB),每個子過程稱為過程段(Si),這樣,一個流水線由一系列串連的過程段組成。在統一時鐘信號控制下,數據從一個過程段流向相鄰的過程段。
2.譯碼器是如何譯碼的?尋址空間是如何確定的?譯碼器與尋址空間是怎么聯系的?
譯碼器實際上是由許多與門、或門、非門和它們的組合構成的。它有若干個輸入端和若干個輸出端(也可能只有一個輸出端)。對某一個輸出端來說,它的電平高低必然與輸入的某一種狀態相對應。
例如,具有4個輸入端的與非門就是一個簡單的譯碼器,只有四個輸入端為1111時,它的輸出端才為0。如果將地址總線的A9、A8、A7、A6與它的四個輸入連接起來,并把它的輸出連到存儲器芯片或某個需要尋址的外設接口的片選端(假定低電平有效),那么,只有當A9、A8、A7、A6為1111時,存儲器芯片或外設才會被選中。
譯碼器的尋址空間取決于地址總線的哪幾根線接到譯碼器的輸入端,例如上例,地址總線的A9、A8、A7、A6與譯碼器的輸入連接,那么其尋址空間應該是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,沒有參與譯碼的低位地址線必然要參與存儲器芯片或外設接口的內部譯碼。也就是說,內部譯碼地址范圍是0--2n11 0000。
可以說,譯碼器的譯碼輸出決定了尋址空間的起始地址,內部譯碼決定了尋址空間的大小。由于上一條指令的四個子過程全部執行完畢后才能開始下一條指令,因此每隔4個單位時間才有一個輸出結果,即一條指令執行結束。表示非流水CPU的時空圖。由于上一條指令與下一條指令的四個過程在時間上可以重疊執行,因此,當流水線滿載時,每一個單位時間就可以輸出一個結果,即執行一條指令。
比較后發現:流水CPU在八個單位時間中執行了5條指令,而非流水CPU僅執行了2條指令,因此流水CPU具有更強大的數據吞吐能力。
3.書本上講的是若是計算結果中1的個數為偶數時,則PF=1;但我又在另外的輔導書上看到的說如果計算結果的低8位中1的個數為偶數,PF=1.請問老師是否是低八位?
答:對,PF只與結果的低8位有關。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7類34個寄存器。它們分別是通用寄存器、指令指針和標志寄存器、段寄存器、系統地址寄存器、控制寄存器、調試和測試寄存器。
(1)通用寄存器(8個)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每個32位寄存器的低16位可單獨使用,同時AX、BX、CX、DX寄存器的高、低8位也可分別當作8位寄存器使用。它們與8088/8086中相應的16位通用寄存器作用相同。
(2)指令指針和標志寄存器。
指令指針EIP是一個32位寄存器,存放下一條要執行的指令的偏移地址。
標志寄存器EFLAGS也是一個32位寄存器,存放指令的執行狀態和一些控制位。
(3)段寄存器(6個)
CS,DS,SS,ES,FS和GS。在實方式下,它們存放內存段的段地址。在保護方式下,它們被稱為段選擇符。其中存放的是某一個段的選擇符。當選擇符裝入段寄存器時,80386中的硬件章自動用段寄存器中的值作為索引從段描述符表中取出一個8個字節的描述符,裝入到與該段寄存器相應的64位描述符寄存器中。
(4)控制寄存器(4個)
CR0、CRl、CR2和CR3。它們的作用是保存全局性的機器狀態。
(5)系統地址寄存器(4個)
GDTR、IDTR、LDTR和TR。它們用來存儲操作系統需要的保護信息和地址轉換表信息、定義目前正在執行任務的環境、地址空間和中斷向量空間。
(6)調試寄存器(8個)
DR0~DR7。它們為調試提供硬件支持。
(7)測試寄存器(8個)
TR0~TR7,其中TR0~TR5由Intel公司保留,用戶只能訪問TR6、TR7。它們用于控制對TLB中的RAM和CAM相連存儲器的測試。TR6是測試控制寄存器,TR7是測試狀態寄存器,保存測試結果的狀態
5.什么是外部中斷源?什么是中斷向量碼?什么是讀選通信號?
答:外部中斷源就是在CPU外部能夠產生中斷請求的設備/器件;通俗地說,中斷向量碼就是中斷的編號,其值為0-FFH;選通信號就是打開邏輯門的控制信號,或用來鎖存信息(類似D觸發器的CP或CLK)的控制信號。讀選通信號就是用來打開總線緩沖器,以便把的數據送到總線上的控制信號。
6.CPU處于單步執行指令的工作方式(課本49頁),請問什么是單步執行指令工作方式? 答:在這種方式下,CPU每執行一條指令,就產生一次特殊的中斷,以便可以停下來檢查執行的結果。主要用于各類程序的調試。
7.片選信號(CS)到底是起使數據有效或無效的作用還是起選擇芯片的作用啊?若是前者,干嗎叫片選?
片選信號就是選擇芯片的信號。前者不叫片選信號,應該叫允許信號。
8.書本上講的是若是計算結果中1的個數為偶數時,則PF=1;但我又在另外的輔導書上看到的說如果計算結果的低8位中1的個數為偶數,PF=1.請問老師是否是低八位?對,PF只與結果的低8位有關