




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-. z.1 微處理器、微型計算機和微型計算機系統三者之間有什么不同 解: 把CPU(運算器和控制器)用大規模集成電路技術做在一個芯片上,即為微處理器。微處理器加上一定數量的存儲器和外部設備(或外部設備的接口)構成微型計算機。微型計算機與管理、維護計算機的硬件以及支持應用的軟件相結合就形成了微型計算機系統。 2 CPU在部構造上由哪幾局部組成CPU應該具備哪些主要功能 解:CPU主要由起運算器作用的算術邏輯單元、起控制器作用的指令存放器、指 令譯碼器、可編程邏輯陣列和標志存放器等一些存放器組成。其主要功能是進展算 術和邏輯運算以及控制計算機按照程序的規定自動運行。 3微型計算機采用總線構造有什
2、么優點 解:采用總線構造,擴大了數據傳送的靈活性、減少了連線。而且總線可以標準化,易于兼容和工業化生產。 4數據總線和地址總線在構造上有什么不同之處如果一個系統的數據和地址合 用一套總線或者合用局部總線,則要靠什么來區分地址和數據 解:數據總線是雙向的(數據既可以讀也可以寫),而地址總線是單向的。 8086CPU為了減少芯片的引腳數量,采用數據與地址線復用,既作數據總線也作為 地址總線。它們主要靠信號的時序來區分。通常在讀寫數據時,總是先輸出地址 (指定要讀或寫數據的單元),過一段時間再讀或寫數據。 5 8086微處理器的總線接口部件由哪幾局部組成 解:8086微處理器中的總線接口單元(BIU
3、)負責CPU與存儲器之間的信息傳 送。具體地說,BIU既負責從存的指定局部取出指令,送至指令隊列中排隊(8086的指令隊列有6個字節,而8088的指令隊列只有4個字節);也負責傳送執行指令時所需的操作數。執行單元(EU)負責執行指令規定的操作。 6段存放器CS=120OH,指令指針存放器IP=FFOOH,此時,指令的物理地址為 多少 解:指令的物理地址=12000H+FFOOH=21FOOH7 分別指出以下指令中的源操作數和目的操作數的尋址方式。 (1)MOV SI, 300 (2)MOV C*, DATADI (3)ADD A*, B*SI (4)AND A*, C* (5)MOVBP, A
4、* (6)PUSHF 解: (l)源操作數為立即尋址,目的操作數為存放器尋址。 (2)源操作數為變址存放器加位移量尋址,目的操作數為存放器尋址。 (3)源操作數為基址加變址尋址,目的操作數為存放器尋址。 (4)源操作數和目的操作數都為存放器尋址。 (5)源操作數為存放器尋址,目的操作數為存放器間接尋址。 (6)為堆棧操作。 8 試述指令MOV A*,2000H和MOV A*,DS:2000H的區別。 解: 前一條指令是立即尋址,即把立即數2000H傳送至存放器A*。后一條指令是直接尋址,是把數據(DS)段中的地址為200OH單元的容傳送至存放器A*。 9寫出以下指令中存操作數的所在地址。 (1
5、)MOV AL, B*+10 (2)MOV BP+10, A* (3)INC BYTEPTRSI十5 (4)MOV DL, ES:B*+SI (5)MOV B*,BP+DI+2 解: (1)數據段B*+10單元。 (2)堆棧段BP+10單元。 (3)數據段SI+5字節單元。 (4)附加段(ES段)B*+SI單元。 (5)堆棧段BP+DI+2單元。 10判斷以下指令是否正確。 (1)MOV AL, B* (2)MOV AL, CL (3)INC B* (4)MOV 5, AL (5)MOV B*,SI (6)M0V BL, 0F5H (7)MOV D*, 2000H (8)POP CS (9)P
6、USH CS 解: (l)不正確,AL與B*數據寬度不同。 (2)正確。 (3)不正確,因為不明確是增量字節還是字。 (4)不正確,立即數不能作為目的操作數。(5)不正確,因為不明確要傳送的是字節還是字。 (6)正確。 (7)正確。 (8)不正確,CS不能作為:pop指令的操作數。 (9)不正確,CS不能作為PUSH指令的操作數。 11設堆錢指針SP的初值為1000H,A*=2000H,B*=3000H,試問: (1)執行指令PUSH A*后SP的值是多少 (2)再執行PUSH B*及POP A*后,SP、A*和B*的值各是多少 解: (1)SP=0FFEH。 (2)SP=0FFEH;A*=3
7、000H, B*=3000H。 12要想完成把3000H送2000H中, 用指令: MOM2000H,3000H 是否正確如果不正確,應該用什么方法實現解:不正確。 正確的選項是: MOV AL, 3000H MOV 2000H,AL 13假設想從200中減去AL中的容,用SUB 200,AL是否正確如果不正確,應該用什么方法 解:不正確。 正確的選項是: MOV BL, 200 SUB BL,AL 14試用兩種方法寫出從80H端口讀入信息的指令。再用兩種方法寫出從40H口輸出100H的指令。解: (1)IN AL, 80H (2) MOV D*,80H IN AL, D* (3)MOVAL,
8、100H OUT40H,AL 4)MOV AL,100H MOV D*,40H OUT D*,AL 15假設:AL=20H,BL=10H,當執行CMPAL,BL后,問: (1)AL、BL中的容是兩個無符號數,比擬結果如何影響哪兒個標志位 (2)AL、BL中的容是兩個有符號數,結果又如何,影響哪幾個標志位 解: (l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。 (2)因為兩個都是符號正數,其結果與(l)一樣。 16假設要使AL10,有哪幾種方法,試編寫出各自的程序段 解:使用乘法指令: MOVBL,10 MULBI, (2)使用移位指令: SHLAL,1 ;AL
9、2 MOV BL,AL SHLAL,2 ;(AL2) 22=AL8 ADDAL,BL ;(AL8)+(AL2(3)使用加法指令: ADD AL,AL ;AL2 MOVBL,AL ADDAL,AL ;AL4 ADDAL,AL ;AL8 ADDAL,BL ;( AL8)+( AL2)17 8086匯編語言指令的尋址方式有哪幾類哪種尋址方式的指令執行速度最快 解:尋址方式分為:立即數尋址方式、存放器操作數尋址方式和存儲器操作數尋址方式。其中,存放器操作數尋址方式的指令執行速度最快。 18在直接尋址方式中,一般只指出操作數的偏移地址,則,段地址如何確定如果要用*個段存放器指出段地址,指令中應該如何表示
10、 解: 默認數據訪問:操作數在DS段;堆棧操作在SS段; 串操作源操作數在(SI), 目的操作數在(DI)段; 用BP作為堆棧指針,則在SS段。如果要顯式地指定段地址,則在操作數中用冒號規定段存放器。例如: MOV A*,ES:(B*+10H) ;在ES段19采用存放器間接尋址方式時,B*、BP、SI、DI分別針對什么情況來使用這4個存放器組合間接尋址時,地址是怎樣計算的請舉例說明。 解:在存放器間接尋址方式下,B*和BP作為間址存放器使用,而SI、DI作為 變址存放器使用。除BP間址默認的段為堆棧段,其他的都默認為數據段。它們都可以單獨使用,或加上偏移量或組合使用。如: B*+n LBP+n
11、 SI+n DI+n B*+SI+n B*+DI+n BP+SI+n BP+DI+n 20設DS=2100H,SS=5200H,B*=1400H,BP=6200H,說明下面兩條指令所進展的具體操作: 解:MOVBYTEPTRBP,200 MOVWORDPTRB*,2000 解:前一條指令是把立即數(字節)200,傳送至堆棧段(BP的默認段偏移量由BP決定的字節單元,物理地址為:52000H+620OH=58200H第二條指令是把立即數2000,傳送至數據段(B*的默認段),偏移量是B*決定的字單元地址,為: 21000H+1400H=22400H。 21使用堆錢操作指令時要注意什么問題 傳送指
12、令和交換指令在涉及存操作數 時應該分別要注意什么問題 解: 使用堆棧指令可以把存單元作為一個操作數(從存到存)。但堆棧 固定在堆棧段且只能由SP指向。且堆棧操作要修改堆棧指針。MOV指令不能實現存單元間的數據傳送。*CHG指令功能是交換,其中有一個操作數必須是存放器。 22下面這些指令中哪些是正確的哪些是錯誤的假設是錯誤的,請說明原因。 (1)*CHG CS, A* (2)MOVB*, 1000 (3)*CHGB*, IP (4)PUSHCS (5)POP CS (6)IN B*, D* (7)MOVBYTEB*,100O (8)MOVCS, 1000 解: (l)錯誤,CS不能交換。 (2)
13、錯誤,MOV指令不能在存間傳送。 (3)錯誤,IP不能交換。 (4)錯誤CS可以作為PUSH指令的操作數。 (5)錯誤,CS可以作為POP指令的操作數。 (6)錯誤,IN指令的目的操作數是累加器。 (7)錯誤,目的操作數是字節單元。 (8錯誤,CS不能作為MOV指令的目的操作數。 23 以下是格雷碼的編碼表,:0 0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 8 1100 請用換碼指令和其他指令設計一個程序段,以實現由格雷碼向ASCII碼的轉換。 解:MOVB*,TABLE MOVSI,ASCII_TAB MOVAL,0 MOVC*
14、,10 TRAN:*LATTABLE MOVDL,AL ADDDL,30H MOVSI,DL INCAL LOOPTRAN 24字節擴展指令和字擴展指令一般用在什么場合舉例說明。 解: 主要用于字節相除和字相除之前, 把被除數擴展為兩倍寬度的操作數。 25 什么叫BCD碼 什么叫組合的BCD碼 什么叫非組合的BCD碼 8086匯編語言在對 BCD碼進展加、減、乘、除運算時, 采用什么方法 解:BCD碼為十進制編碼的二進制數。組合的BCD數是把兩位BCD加在一個字節中, 高位的在高4位。非組合的BCD碼是把一位BCD數放在一個字節的低4位,高4位為0。8086在BCD加、減和乘法運算以后用BCD
15、調整指令把結果調整為正確的BCD 26字節擴展指令和字擴展指令一般用在什么場合舉例說明。 解: 主要用于字節相除和字相除之前, 把被除數擴展為兩倍寬度的操作數。 27 什么叫BCD碼 什么叫組合的BCD碼 什么叫非組合的BCD碼 8086匯編語言在對 BCD碼進展加、減、乘、除運算時, 采用什么方法 解:BCD碼為十進制編碼的二進制數。組合的BCD數是把兩位BCD加在一個字節中, 高位的在高4位。非組合的BCD碼是把一位BCD數放在一個字節的低4位,高4位為0。8086在BCD加、減和乘法運算以后用BCD調整指令把結果調整為正確的BCD數。在BCD除法之前先用BCD調整指令再做除法. 28用普
16、通運算指令執行BCD碼運算時,為什么要進展十進制調整具體地講,在進展BCD碼的加、減、乘、除運算時,程序段的什么位置必須加上十進制調整指令 解:因為8086指令把操作數作為二進制數進展二進制運算,要得到正確的BCD結果,需要進展調整。在加、減、乘法指令之后加上BCD調整指令,而在除法指令 之前先用BCD調整指令再用除法指令。 29在以下程序運行后,給相應的存放器及存儲單元填入運行的結果: MOV AL, 1OH MOV C*, 100OH MOV B*, 2000H MOV C*,AL *CHGC*, B* MOV DH, B* MOVDL, 01H *CHGC*, B* MOV B*,DL
17、HLT 解:存放器及存儲單元的容如下: AL=10H BL=00H BH=20H CL=00H CH=10H DH=10H (1000H)=l0H (2000H)=0lH 30 要求同題4.1,程序如下: MOV AL, 50H MOV BP, 100OH MOV B*, 200OH MOVBP,AL MOV DH, 20H MOVB*,DH MOV DL, OlH MOV DL, B* MOV C*, 300OH HLT 解:存放器及存儲單元的容如下: AL=50H BL=00H BH=20H CL=00H CH=30H DL=20H DH=20H BP=1000H (1000H)=50H
18、(2000H)=20H 藍色字局部有新指令,需重點理解輔導:MOVSBMOVSW數據串傳送指令功能:(ES:DI)(DS:SI);附加段數據段MOVSB;傳1字節:SISI1,DIDI1 DF=0則+,DF=1則-:先傳低地址MOVSW ;傳1字: SISI2,DIDI2 DF=0則+,DF=1則-:先傳高地址31 自1000H單元開場有一個100個數的數據塊,假設要把它傳送到自2000H開場的存儲區中去,可以采用以下3種方法實現,試分別編制程序以實現數據塊的傳送。 (l)不用數據塊傳送指令 (2)用單個傳送的數據塊傳送指令 (3)用數據塊成組傳送指令。 解:(1) 不用數據塊傳送指令LEA
19、SI, 1000H LEA DI, 2000H MOV C*, 100 L1: MOV A*, SI MOVDI,A* LOOPLl ;C*-1,不等于零轉移HLT (2) 用單個傳送的數據塊傳送指令LEASI,1000H LEADI,2000H MOVC*,100 CLD ;令方向標志DF=0 L1: MOVSB ;(ES:DI)(DS:SI);附加段數據段;傳1字節:SISI1,DIDI1 DF=0則+,DF=1則-:先傳低地址LOOP L1 HLT(3) 用數據塊成組傳送指令LEASI, 1000H LEADI, 2000H MOVC*, 100 CLD ;令方向標志DF=0REP MO
20、VSB ;C*0,重復執行MOVSB ,且C*-1;REP 重復前綴:功能:當C*0時重復執行后面的數據串操作指令HLT 32 利用變址存放器,編寫一個程序, 把自1000H單元開場的100個數傳送到自1070H 開場的存儲區中去。 解: LEASI,1000H LEADI,1070H MOVC*,100 CLD REP MOVSB ;C*0,重復執行MOVSB ,且C*-1 HLT 33要求同題4.4,源地址為2050H,目的地址為2000H,數據塊長度為50. 解: LEASI,2050H LEADI,2000H MOVC*,50 CLD REPMOVSB ;C*0,重復執行MOVSB ,
21、且C*-1 HLT 34編寫一個程序,把自1000H單元開場的100個數傳送至1050H開場的存儲區中(注意:數據區有重疊)。 解: LEASI, 1000H LEADI,1050H ADDSI, 63H ;1000H單元后 ADDDI, 63H MOVC*, 100 STD ;令方向標志DF=1 REPMOVSB;C*0,重復執行MOVSB ,且C*-1HLT 35在自0500H單元開場,存有100個數。要求把它傳送到1000H開場的存儲區中, 但在傳送過程中要檢查數的值,遇到第一個零就停頓傳送。 解:LEA SI, 0500H LEA DI, 1000H MOV C*, 100 N1: M
22、OV AL, SI CMP AL, 0 JZ N2 MOVDI,AL INC SI INC DI LOOPN1 N2: HLT 36假設在0500H單元中有一個數 (1)利用加法指令把它乘2,且送回原存儲單元假定*2后仍為一個字節; (2)*4; (3)*10假定*l0 255 解:(1) LEA B*, 0500H ;*乘2MOV AL, B* ADD AL, AL MOVB*,AL (2) LEA B*, 0500H ; *4MOV AL, B* ADD AL, AL ; *乘2ADD AL, AL ;2*乘2MOVB*,AL (3)LEAB*, 050OH ; *10假定*l0 255
23、MOVAL, B* ADDAL, AL ; *乘2 MOVDL, AL ;2* ADDAL, AL ;2*乘2=4* ADD AL,AL ; 4*+4*=8* ADDAL, DL ; 8*+2*=10* MOVB*,AL37總線周期的含義是什么8086/8088CPU的根本總線周期由幾個時鐘組成 如果一個CPU的時鐘頻率為8MHz,則,它的一個時鐘周期是多少一個根本總線周期是多少如果主頻為5MHz呢 解:CPU訪問總線從存儲器或I/0端口讀/寫字節或字所需的時間稱為總線周期。8086/8088CPU的根本總線周期由4個時鐘組成。假設CPU的時鐘頻率為8MHz, 時鐘周期為1/8MHz=(1/8
24、)us=0.125us時鐘頻率為5MHz, 時鐘周期為1/5MHz=(1/5)us=0.2us38 假設要擴大1KB RAM(用2114片子),規定地址為8000H83FFH,地址線應該如何連接解: 擴大lKB RAM至規定地址8000H 83FFH,其地址線的低10位(A9 A0)接芯片,高6位地址(Al5 A10 = 100000)產生體選存儲芯片組信號。39 外部設備為什么要通過接口電路和主機系統相連 解:因為外部設備種類繁多,輸入信息可能是數字量、模擬量或開關量,而且傳輸速度、電平、功率與CPU等電路采用的TTL電平有很大差異。所以, 需要通過接口電路的信號轉換,才能與主機系統相連。
25、40 CPU和輸入輸出設備之間傳送的信息有哪幾類 解:CPU和輸入輸出設備之間傳送的信息主要有3類: (l)數據:在微型計算機中,數據通常為8位、16位或32位。 (2)狀態信息:在輸入時,有輸入設備的信息是否準備好;在輸出時有輸出設備是否有空,假設輸出設備正在輸出信息,則以忙指示等。 (3)控制信息:例如,控制輸入輸出設備啟動或停頓等。 41設一個接口的輸入端口地址為0100H, 狀態端口地址為0104H, 狀態端口中第5位為1表示輸入緩沖區中有一個字節準備好, 可以輸入。設計具體程序以實現查詢式輸入。 解:POLl: IN AL, 0104H ; 輸入狀態端口數據 ANDAL,20H ;
26、測試第5位為1? JZ POLl ; 第5位為1轉 IN AL, 0100H ; 讀入輸入端口的數據32 8086CPU最多可以有多少個中斷類型按照產生中斷的方法分為哪兩大類 解:8086CPU最多可以有256個中斷類型。按照產生中斷的方法,可以分為部中斷軟件中斷和外部硬件中斷中斷兩大類。43 在編寫中斷處理子程序時,為什么要在子程序中保護許多存放器 解:因為主程序調用子程序之前,往往會在一些存放器中保存有運算的中間結果,如果在子程序中也需要使用這些存放器時,主程序保存的中間結果就被子程序的數據覆蓋了。所以,要在子程序執行前把這些存放器的容保存起來存入堆棧,稱保護現場。在子程序執行完畢時,再從
27、堆找中將數據恢復至存放器中稱恢復現場。 44在*一應用系統中,計數器/定時器8253地址為340H343H,定時器0用作分頻器(N為分頻系數),定時器2用作外部事件計數器,如何編制初始化程序? 輔導:8253的引腳A1和A0用于選擇3個計數器端口或控制端口,如下:A1 A0=00 選中計數器0:寫初值,讀計數值(8位,16位)A1 A0=01 選中計數器1A1 A0=10 選中計數器2A1 A0=11 選中控制R:寫工作方式控制字8253工作方式控制字格式:D7D6D5D4D3D2D1D0SC1SC0RL1RL0 M2M1M0BCD00=T0控制字01=T1控制字10=T2控制字11=不用00
28、=鎖存計數值供CPU讀01=讀寫低8位10=讀寫高8位11=先寫低8位N1,后寫高8位N2000=方式0溢出中斷001=方式1單穩*10=方式2速率,重裝*11=方式3方波100=方式4選通,軟觸發101=方式5選通,硬觸發0=二進制數1=十進制數解: 根據8253引腳A1、A0的功能可知:T0的地址為340H,T1的地址為341H,T2的地址為342H,控制口的地址為343H。定時器0用作分頻器,工作方式2,初始化程序為: MOV AL, 34H ;0011 0100B, D76=00=T0控制字,;D54=11=先寫低8位N1,后寫高8位N2;D321=010=方式2速率,重裝,D0=0=
29、二進制數 OUT 343H, AL ;寫入控制口 MOV AL, N1 ; 先寫低8位N1, OUT 340H, AL ; 寫入T0 MOV AL, N2 ; 后寫高8位N2 OUT 340H, AL 定時器2用作外部事件計數器,工作在方式0,其初始程序: MOV AL, 0B0H ;1011 0000B, D76=10=T2控制字,;D54=11=先寫低8位N1,后寫高8位N2;D321=000=方式0溢出中斷,D0=0=二進制數 OUT 343H,AL MOV AL, N1 OUT 342H,AL MOV AL, N2 OUT 342H,AL 45已有一頻率發生器,其輸出頻率為1MHZ,要求通過9.3題的電路計數器/定時器8253,令其產生每秒一次的信號,應如何實現?編寫出初始化程序。 解: 1MHZ的信號要變為每秒一次1Hz,則需經過106分頻。一個通道的計數為16位最大為65536。故需要兩個通道級連,則每個通道計數為1000。用通道0和通道1級連,都工作在方式2,初始化程序為: MOV AL, 34H ; T0控制字 OUT 343H, AL MOV AL, 0E8H ;3E8H=10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CSWSL 038-2024飼料原料發酵谷物醋糟
- T/CAR 17-2024制冷智能零售柜
- 上海自愿離婚協議(協議文本)3篇
- 撤資協議書范本6篇
- 二手機動車買賣標準合同7篇
- 熬夜帶來的疾病
- 健康保養培訓課件
- 運動中急救知識
- 2025益陽職業技術學院輔導員考試試題及答案
- 2025贛南衛生健康職業學院輔導員考試試題及答案
- 外研版一起點四年級下冊單詞默寫表
- 綜合管廊應急救援預案
- 《教師書寫技能》課程教學大綱
- 2024年廣西中考化學真題【附答案】
- 期末(試題)-2023-2024學年英語六年級下冊
- 2022年遼寧省高考數學試卷(新高考II)附答案解析
- 阿爾派車載IVA-W502E使用說明書
- GB/T 10069.3-2024旋轉電機噪聲測定方法及限值第3部分:噪聲限值
- 2024架空平行集束絕緣導線低壓配電線路設計與施工規程
- 中國高血壓防治指南(2024年修訂版)核心要點解讀
- 擴心病的護理查房
評論
0/150
提交評論