第一篇:微型計算機原理與接口技術復習重點
題型:
填空題30-35分左右
簡答題30-35分左右
讀程序題 12分左右
兩個大題 23分左右
1、第三代16位微處理器的特點
2、補碼的計算
3、微型計算機硬件系統的主要構成4、CPU的基本功能、特點及意義
5、總線的概念及分類,各種分類的基本特點
6、第三、四章指令系統及匯編,這是這門課的核心,如果時間允許應該全部掌握。
重點理解MOV, PUSH/POP, IN/OUT, ADC, ADD, INC, DEC, XOR, CMP, 及LOOP指令、JNC/JNZ等條件轉移指令的含義及應用。
重點理解偽指令中的數據定義偽指令和段定義偽指令。
7、存儲器系統的概念及分類
8、重點掌握用指定芯片構成指定地址范圍的存儲器系統,畫出存儲器連接圖并指出各存儲器芯片的地址范圍。
9、Cache的概念、原理、作用及操作。
以上是前五章的主要內容,我在最后一次上課時都重點提到過的。
前五章約占50分。
后面三章主要由嚴老師答疑及劃重點,約占50分
按照我的理解,大致可以如下歸類:
第六、第八章主要是基本概念,即填空和簡答為主。
第七章包括一些基本概念,重點掌握幾種可編程接口芯片的應用,如8255芯片等,請結合嚴老師的課件進行復習。
第二篇:單片微型計算機原理及接口技術第三版復習總結
單片機復習總結
O、計算機的基本原理
計算機數值表示(原碼、反碼、補碼)中斷
存儲器(堆棧)
一、緒論
要求:熟悉,不作為考試內容
二、MCS-51單片機系統結構
1、硬件結構 了解
2、引腳功能 熟悉,掌握在外部功能擴展中的應用
3、中央處理器 熟悉各個寄存器的基本功能
掌握振蕩周期、機器周期及指令周期的概念 時鐘,復位的定義
三、存儲器結構
1、四個物理空間:內、外程序存儲器,內、外數據存儲器
三個邏輯空間:程序存儲器,內、外數據存儲器
2、程序存儲器地址空間
重點掌握:低地址段的保留單元
3、數據存儲器地址空間
重點掌握:內部數據存儲器,地址范圍,特點,SFR 外部數據存儲器,尋址范圍及尋址方式
4、位處理器
熟悉位處理器組成及位存儲器地址范圍
四、指令系統
1、指令的尋址方式(掌握)
7種尋址方式,名稱、格式、尋址范圍
2、指令系統(五大類)
要求:指令的格式,尋址方式,執行操作,對標志位影響,程序段編寫。
五、定時/ 計數器
要求:初始化程序,中斷或非中斷情況下的應用編程
定時計數器特點:16位加1計數器,計數初值為計數長度的補碼;可程控為4種不同工作方式。
初始化程序:
1、計數常數的計算
2、置工作方式字
3、置THX,TLX
4、置TRX啟動計數
5、置EA、ETX開中斷
六、中斷系統
1、中斷的概念
2、與中斷有關的寄存器
3、中斷源:外部及內部中斷源,中斷觸發方式,如何設置
4、MCS-51中斷優先級的處理原則,同級中斷申請的查詢次序。
5、中斷處理過程(了解),各個中斷源對應中斷矢量(掌握),中斷響應條件(掌握)。
6、中斷程序編寫的步驟
七、串行通訊口
1、串行通訊概述(熟悉,了解)重點:異步串行通訊的幀格式
2、MCS-51的串行通訊口
SCON串行控制寄存器,PCON(SMOD位作用)
串行通訊工作方式(熟悉了解),掌握不同工作方式的特點及幀格式,如何啟動發送及接收。
串行通訊波特率,常用波特率的獲得(掌握)。
串行通訊編程,初始化程序、簡單應用程序
八、功能擴展
1、A/D、D/A轉換的原理,逐次比較式AD轉換的原理
給出接口芯片,畫接口電路圖;
根據接口電路圖,寫轉換程序
2、鍵盤(行掃描法、反轉掃描法)以及LED顯示(靜態顯示、動態顯示)的工作原理 習題示例:
請將(1)~(5)的詞匯和A~J的說明聯系起來(1)CPU ——()(2)PC ——()(3)SP ——()(4)指令 ——()(5)堆棧 ——()
(A)總線接口單元,負責與存儲器、I/O接口傳送信息(B)存放下一條要執行的指令的地址
(C)保存各個邏輯段的起始地址的寄存器(D)保存當前棧頂即堆棧指針的寄存器
(E)微型計算機的核心,包括運算器、控制器和寄存器3個主要部分(F)以后進先出方式工作的存儲空間
(G)告訴CPU要執行什么操作,在程序運行時執行(H)執行單元,功能是執行指令
(6)斷電后存儲的資料會丟失的存儲器是()
A.RAM B.ROM C.CD-ROM D.(7)若內存容量為64KB,則訪問內存所需地址線()A.16 B.20 C.18 D.19(8).不需要訪問內存的尋址方式是()
A.立即尋址 B.直接尋址 C.間接尋址 D.變址尋址
讀程序
ORG 2000H MOV SP, #50H MOV A, #50H LCALL 2500H ADD A, #10H MOV B, A L1: SJMP L1 ORG 2500H
MOV DPTR, #200AH PUSH DPL
PUSH DPH
RET
上述程序執行后,SP= _________ A= _________ B=_________
ORG 0000h MOV DPTR,#2100H MOVX A,@DPTR ANL A,#0FH
SWAP A MOV B,A
INC DPTRMOVX A,@DPTR ANL A,#0FH ORL A,B INC DPTR MOVX @DPTR,A LOOP: SJMP LOOP
END
已知2100H,2101H單元中的數均為0FH,則程序執行后2102H中的數為______________ A=_________ B=_________
MOV DPTR,#2314H ……__________ MOV R0,DPH … … … …__________ MOV 14H,#22H … … …__________ MOV R1,DPL … … … …__________ MOV 23H,#56H … … …__________ MOV A,@R0 … … … … __________ XCH A,DPH … … … … __________
執行以上指令后A=_______ DPTR= _______
請寫出下圖中Y6,Y7引腳所對應的地址
匯編語言程序編寫:
雙字節與單字節無符號數相乘,設被乘數存于41H,40H單元中,乘數存于R4單元中,乘積存于52H、51H、50H單元中(前者為高字節,后者為低字節)。請編寫此乘法程序段 ?MOV ?MOV ?MUL ?MOV ?MOV ? MOV ?MOV ?MUL ?MOV ?MOV ?MOV ?CLR ?ADD ?MOV ?MOV ?ADDC ?MOV ?
B, 40H A R4 AB 50H, A 40H, B B, 41H A R4 AB 51H, A 52H, B A, 40H C A, 51H 51H,A A, 52H A, #0 52H,A 試計算片內RAM區40H~47H八個單元中數的算術平均值,結果存放在4AH中 ?MOV R0, #40H ?
MOV 4AH,#0 ?
MOV 4BH,#0 ?LOOP: CLR C ?
MOV A, @R0 ?
ADD A, 4AH ?
MOV 4AH,A ?
MOV A, 4BH ?
ADDC A, #0H ?
MOV 4BH,A ?
INC R0 ?
CJNZ R0, #48H,LOOP ?
MOV R2,#3
;右移三次,相當于除8 ?
ACALL RR_LOOP ?
RET ?;雙字節(4BH,4AH)右移子程序
?;右移的次數在R2中 ? ? RR_LOOP: CLR C ?
MOV A, 4BH ?
RRC A ?
MOV 4BH,A ?
MOV A, 4AH ?
RRC A ?
MOV 4AH,A ?
DJNZ R2, RR_LOOP ?
RET
?試編寫計算1234H+0FE7的程序,將和的高8位存入41H單元中,低8位存入40H單元中。?MOV A, #34H ?ADD A, #0E7H ?MOV 40H, A ?MOV A, #12H ?ADDC A, #0FH ?MOV 41H, A
?試編寫程序,將內部RAM的20H、21H、22H、23H、和24H連續5個單元的內容一次存入2FH、2EH、2DH、2CH、2BH單元 MOV R7, #05H
MOV R0, #20H
MOV R1, #2FH LOOP: MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP
第三篇:微型計算機原理與接口技術期末總結(全能版)
0~9的ASCⅡ碼為30H ~ 39H A~F的ASCⅡ碼為41H ~ 46H 回車符的ASCⅡ碼為0DH 換行符的ASCⅡ碼為0AH
①機器數比真值數多一個符號位。②正數的原、反、補碼與真值數相同。
③負數原碼的數值部分與真值相同;負數反碼的數值部分為真值數按位取反;負數補碼的數值部分為真值數按位取反末位加1。
④沒有負零的補碼,或者說負零的補碼與正零的補碼相同。
一個計量器的最大容量稱為該計量器的“模”
計算機:硬件:中央處理器CPU、(運算器、控制器)、存儲器系統、I/O接口、電源系統、I/O設備軟件:系統軟件、應用軟件
總線是CPU與存儲器、I/O接口交換信息的公共通道
地址總線:傳輸CPU訪問存儲器,訪問I/O端口的地址信號。數據總線:傳輸CPU讀/寫內存,讀寫I/O端口時的數據??刂瓶偩€:CPU發出的控制命令,或外部向CPU提出的請求 地址總線通常是單向總線,數據總線通常是雙向總線,大部分控制線是單向,少數是雙向。
尋址能力:指CPU能直接存取數據的內存地址的范圍,它由CPU的地址總線的數目決定。
在實模式下,486只能訪問第一個1M內存(00000H~FFFFFH)存儲管理部件對存儲器只進行分段管理,沒有分頁功能,每一邏輯段的最大容量為64K。在實模式下,段寄存器中存放段基址。
486有32條地址線,內存最大容量4G。這4G字節稱為物理存儲器,每一單元的地址稱為物理地址,其地址范圍:0000,0000H~FFFF,FFFFH為物理存儲空間。
486利用低16位地址線訪問I/O端口,所以I/O端口最多有216=64K,I/O地址空間為0000H~FFFFH。(從PC/XT~Pentium,基于Intel微處理器的系統機,實際上只使用低10位地址線,尋址210=1024個I/O端口)
邏輯地址——程序中編排的地址,由段基址和段內偏移地址組成; 物理地址——信息、數據在存儲器中實際存放的地址。
物理地址是唯一的,不同的邏輯地址可得到相同的物理地址。
CS、IP的初值:由操作系統賦值
DS/ES的初值:由程序員賦值。
SS、SP的初值:①由程序員賦值
②由操作系統自動賦值
存儲器的拓展:64k×8 64k決定地址線 8決定數據線
間址寄存器和約定訪問的邏輯段: BX,SI,DI 數據段 16位尋址方式 BP 堆棧段
EAX~EDX,ESI,EDI 數據段 32位尋址方式 EBP,ESP 堆棧段
基址寄存器和約定訪問的邏輯段 BX 數據段 BP 堆棧段 16位尋址方式
EAX~EDX,ESI,EDI 數據段 EBP,ESP 堆棧段 32位尋址方式
變址寄存器與約定訪問的邏輯段 SI,DI 數據段
無比例因子,16位尋址
EAX~EDX,ESI,EDI數據段 EBP 堆棧段
有比例因子,32位尋址
在實模式下,一個邏輯段的體積最大為64K,存儲單元的有效地址為16位,不可能超過FFFFH,∴在實模式下運行的程序通常采用16位尋址
用EQU定義的符號常數,其值在后繼語句中不能更改 用“=”定義的符號常數,其值在后繼語句中可以重新定義
SEG運算符 格式: SEG 段名或變量名或標號名 功能: 計算某一邏輯段的段基址 OFFSET運算符 格式:OFFSET 變量名或標號名 功能:算出某個變量或標號名所在單元的偏移地址(有效地址)。
BUF DB ‘THE QUICK BROWN FOX’;字符串長度19 LLL EQU $-BUF 匯編后符號常數LLL的值即為19
1.立即數不能直接送段寄存器MOV DS, 3000H 2.目標操作數不允許用立即數方式MOV 2000H, AL 3.不允許在兩個存儲單元間傳送數據MOV[2000H],[3000H] 4.不允許在兩個段寄存器之間傳送數據MOV DS, ES 5.源、目屬性要一致
在程序控制傳送方式中,中斷傳送可以提高系統的工作效率。
I/O設備與CPU之間交換信息,其狀態信息是通過數據總線傳送給CPU的。8086/8088微機系統中可訪問的I/O端口地址范圍為0000H~FFFFH。8086微處理器可訪問的最大I/O空間為64K。CPU對外設的訪問實質上是對I/O端口的訪問。CPU與I/O設備交換信息,無需傳送地址信息。
非屏蔽中斷(包括軟件中斷)的中斷類型碼由硬件預先規定。
溢出、斷點、單步都屬于內部中斷。INTR是可屏蔽中斷,NMI是非屏蔽中斷。中斷優先級:INT n(軟件中斷)->INTO->NMI->INTR->單步
8254計數器的最大初值是0000H最小值是0001H.8254是基于減1計數的工作原理
8254方式2、3既可以軟件啟動也可以硬件啟動。
方式2輸出一個時鐘周期的負脈沖 方式3輸出的方波周期是N個時鐘周期之和。8254有6種工作方式4個I/O地址。
8254有三個通道,每個通道都有三條引線跟外部聯系,它們是:CLK,GATE,OUT。方式2減到1時輸出一個負脈沖。
N?TOUT+ TCLK三個計數器既可以作為計數器也可以作為定時器。先寫控制字再寫初值。方式2;
① GATE為高電平②自動重裝③改變GATE恢復后從初值開始計數④改變初值,待原周期結束后開始新周期
方式3;① 1:1的方波(N為偶數)②先輸出正半周期再輸出負半周期③每半周期結束后都要重裝④減2計數⑤N為偶數:N……0(正半周期),N……0(負半周期)⑥N為奇數:N-1……-2(正半周期),N-1…..0(負半周期)。
初始化:口地址8位可以直接尋址,超八位只能DX間址。初值8用AL,超8位用AX裝初值,用AL依次寫低高。(先低后高)。
單工方式:只允許數據按照一個固定的方向傳送。半雙工方式:雙方均可發送和接收,但不能同時。全雙工方式:可以同時發送和接收。
調制與解調:數字信號—>模擬信號—>數字信號 RS-232C標準采用負邏輯。程序:8250初始化(B98B9C),查詢方式和中斷方式接收和發送數據。
計算機與外界的串行通信實際是CPU與I/O接口并行,I/O接口與外設串行。
8255與CPU連接的引腳,與外設連接的引腳(見書)
無論A、B口工作在什么方式,C口中尚未用過的引腳線均可作為一般I/O使用。方式1下,用中斷傳送方式時,要用C口置1/置0命令將中斷允許位INTE置1。C口置1/置0命令一次只能使一位置1或置0。1.接口電路的作用是什么?I/O接口應具備哪些功能? 答:接口是CPU和外設交換信息的中轉站。
⑴數據緩沖功能 ⑵聯絡功能 ⑶尋址功能 ⑷數據轉換功能 ⑸中斷管理功能
2.什么是端口?端口有幾類?
答:能與CPU交換信息的寄存器成為I/O寄存器,簡稱“端口”。
按端口的寄存器存放信息的物理意義來分,端口可分為3類:
1)數據端口 2)狀態端口3)控制端口
3.I/O接口有哪兩種編程方式? PC系列機中采用哪種編程方式? 答:⑴端口和存儲單元統一編址 ⑵I/O端口獨立編址
在PC系列機中,I/O端口采用獨立編址方式。
4.說明定時/計數器8254的GATE信號在6種工作方式下的作用以及與時鐘信號CLK的關系。答:(老師答復)這道題超出范圍了,只要求掌握方式2和3,只要知道計數過程中GATE信號必須是高電平即可。
5.系統機定時/計數器的一個通道定時周期最長是多少?要實現長時間定時,應采取什么措施?如果采用外擴8253定時/計數器實現長時間定時,應采取哪些措施? 答:①Tmax?65536?TCLK?65536?1?55ms
1193182K ②軟件計數
③⑴減小輸入信號的頻率 ⑵級聯 1.敘述可屏蔽中斷處理的全過程。
答:①首先由中斷請求寄存器寄存加到引腳IR0~IR7 上的 ②在中斷屏蔽寄存器的管理下,沒有被屏蔽的中斷請求被送到優先權電路判優。
③經過優先權電路的判別,選中當前級別最高的中斷源,然后從引腳INT向CPU發出中斷請求信號。
④CPU滿足一定條件后,向8259A發出2個中斷響應信號(負脈沖)。⑤8259A從引腳INTA收到第1個中斷響應信號之后,立即使中斷服務寄存器中與被選中的中斷源對應的那一位置1,同時把中斷請求寄存器中的相應位清零。⑥從引腳INTA收到第2個中斷響應信號后,8259A把選中的中斷源類型碼n,通過數據線送往CPU。
⑦在實地址模式下,CPU從4?n~4?n?3單元取出該中斷源的中斷向量→IP、CS,從而引導CPU執行該中斷源的中斷服務程序。
2.什么是中斷向量和中斷向量表?中斷類型碼和中斷向量的關系是什么? 答:①實地址模式下,中斷服務程序的入口地址就是中斷向量。
中斷類型碼通過一個地址指針表與中斷服務程序的入口地址相聯系,實模式下,該表稱為中斷向量表。
②微機系統中,為了區別,給每一個中斷分配一個中斷號,又稱中斷類型碼。對應每一個中斷,都有一個中斷向量。即一個中斷類型碼對應一個中斷向量。
3.CPU響應可屏蔽中斷的條件是什么?☆
答:①INTR引腳有中斷請求,NMI引腳沒有中斷請求,系統沒有DMA請求。
②CPU當前指令執行完畢。③CPU處于開中斷狀態,即標志寄存器的中斷允許標志置1.4.CPU響應非屏蔽中斷的條件是什么?☆
答:①NMI引腳有中斷請求,系統沒有DMA請求。②CPU當前指令執行完畢。5.鍵盤硬中斷和鍵盤軟中斷的關系是什么? 答:鍵盤硬中斷即9型中斷(硬件可屏蔽中斷)。
鍵盤軟中斷即INT 16H軟中斷。
硬中斷和軟中斷利用鍵盤緩沖區傳遞信息。鍵盤緩沖區中的鍵代碼由9型中斷服務程序負責寫入,用戶程序調用INT 16H可以讀取鍵盤緩沖區中的信息。1.異步通信一幀字符的格式是什么?
答:⑴起始位 ⑵數據位 ⑶奇偶校驗位 ⑷停止位
考點:①起始位為一位邏輯0,題目一般不給出 ②數據位從最低位開始傳送 ③奇偶校驗看邏輯1的個數是奇是偶 ④停止位一定是邏輯1信號
2.設異步通信一幀字符有八個數據位,無校驗,一個停止位,如果波特率為9600,則每秒能傳輸多少個字符?
答:一幀字符數 = 1位起始位 + 8位數據位 + 1位停止位 = 10位 則一秒傳輸的字符數N?9600bit/s?960/s
10bit(通信速率又稱波特率,表示每秒鐘傳送0、1代碼的位數)
3.單工、半雙工、全雙工通信方式的特點是什么?
答:①單工方式只允許數據按照一個固定的方向傳送。②半雙工方式要求收發雙方均具備接收和發送數據的能力,由于只有一條信道,數據不能在兩個方向上同時傳送。③在全雙工方式中,收發雙發可以同時進行數據傳送。
4.分別敘述TTL和RS-232C的電平標準,通常采用什么器件完成兩者之間的電平轉換? 答:①TTL采用正邏輯,規定邏輯“0”為0V左右,規定邏輯“1”為+3V~+5V.RS-232C采用負邏輯,規定邏輯“1”為―3V~-15V,規定邏輯“0”為+3V~+15V。
②通常采用MC1488和MC1489電平轉換器。MC1488可接收TTL電平,輸出RS-232C電平。MC1489可輸入RS-232C電平,輸出TTL電平。
5.用系統機串行口采用中斷方式完成字符發送和接收,編程時應采取哪些措施? 答:⑴中斷允許寄存器相應位置1 ⑵MODEM控制寄存器D3?1,即OUT2?0打通8250的中斷請求通道。⑶8259相應中斷屏蔽位置0(主8259IR3、IR4)— 8259 ⑷CPU處于開中斷(STI)— CPU
2.當CPU用查詢方式和8255A交換信息時,應查詢哪些信號?當CPU用中斷方式和8255A交換信息時,利用哪些端子提中斷請求? 答:①CPU采用查詢方式從8255A讀取數據之前,應查詢IBF;CPU采用查詢方式向8255A輸出數據之前,應先查詢OBF。
②當CPU用中斷方式和8255A交換信息時,利用INTR端子提中斷請求。
3.8255A的方式選擇控制字和C口置0/置1控制字都是寫入控制端口的,8255A是怎樣識別的?
答:兩個控制字共用一個端口地址,用特征位D7位來區分。若D7位=1,該控制字為方式選擇控制字;D7位=0,該控制字為C端口按位置0/置1控制字。
第四篇:微型計算機接口技術 課程設計題目
計算機接口技術 課程設計題目
課程設計采用專用課程設計本(從教材科購買),手寫,要求書寫工整、畫圖規范。各班收齊于第14周周4下午2:30~3:10交科技樓501,過期恕不受理。
要有如下內容:
一、設計目的二、設計要求
三、完整的原理圖
四、設計分析
五、程序流程框圖
六、源程序
七、程序說明
八、心得體會
九、參考文獻
學號為1~12做第1題;13~24做第2題;25及以上做第3題。
題目1:基于ADC0809的數據采集器
主要器件:ADC0805,8253,74LS138
設系統可以提供4MHz時鐘,要求由8253構成定時電路,產生周期為1秒的定時脈沖,定時時間到,啟動AD,對8個輸入通道依次進行一次AD采樣,將數據依次存入到10000H開始處,共進行1000次。要由74LS138構成完整的譯碼電路,定時采用中斷方式,AD轉換結束采用查詢方式。
題目2:十字路口交通燈控制器
主要器件:8255,8253,74LS138,LED二極管(紅黃綠各若干),LED數碼管(若干)
設系統可以提供4MHz時鐘,要求由8253構成定時電路,產生定時時間,每30秒鐘修改一次燈的狀態;采用8255控制個方向指示燈(不考慮驅動能力),用LED數碼管顯示剩余時間,要由74LS138構成完整的譯碼電路。
[題目3:智力競賽搶答器
74LS38,8255,LED二極管7個,LED數碼管1個,開關8個
7個選手,每人一搶答開關,主持人有一開關,若主持人開關未按下而選手按下,則選手違規,對應的燈閃爍,下一輪時該選手的搶答權被剝奪;若無人犯規,則用LED數碼管顯示最先按下的選手號;直到主持人按下開關,清除顯示,進入下一輪搶答。。
要由74LS138構成完整的譯碼電路,有8255接開關、LED二極管、LED數碼管
第五篇:微機原理與接口技術試題答案
微機原理與接口技術試題答案
一、填空題(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