版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理與接口技術習題參考答案第一章(p20)1、參考答案:馮諾伊曼計算機的設計思想(EDVAC方案:存儲程序通用電子計算機方案):計算機分為計算器、控制器、存儲器、輸入和輸出裝置五個部分;計算機內(nèi)采用二進制;將程序存儲在計算機內(nèi),簡稱“程序存儲”。其中第三點是馮諾依曼計算機設計的精華,所以人們又把馮諾依曼原理叫做程序存儲原理,即程序由指令組成并和數(shù)據(jù)一起存放在存儲器中,機器則按程序指定的邏輯順序把指令從存儲器中讀出來并逐條執(zhí)行,從而自動完成程序描述的處理工作。馮諾伊曼計算機主要以運算器和控制器為中心,結(jié)構框圖如下圖所示。2、參考答案:微處理器就是中央處理器CPU,是計算機的核心,單獨的CPU
2、不能構成計算機系統(tǒng);微型計算機由微處理器、主存儲器、I/O接口(注意:不是I/O設備)組成;而微型計算機系統(tǒng)除了包括微型計算機外,還有系統(tǒng)軟件(即操作系統(tǒng))、應用軟件、外存儲器和I/O設備等。微型計算機系統(tǒng)結(jié)構如下圖所示。3、答案略,見p674、答案略,見圖2,或教材圖1-35、答案略,見p12136、參考答案:由于8086微處理器的地址總線的寬度為20位,所以它可尋址2201M字節(jié)的存儲空間;而PentiumII微處理器的地址總線的寬度為36位,所以它可尋址236=64G字節(jié)的存儲空間。7、參考答案:PCI(Peripheral Component Interconnect:外圍設備互聯(lián)),
3、是Intel公司1992年發(fā)布486微處理器時推出的32/64位標準總線,數(shù)據(jù)傳輸速率位132MB/s,適用于Pentium微型計算機。PCI總線是同步且獨立于微處理器的具有即插即用(PNP:Plug and play,所謂即插即用,是指當板卡插入系統(tǒng)時,系統(tǒng)會自動對板卡所需資源進行分配,如基地址、中斷號等,并自動尋找相應的驅(qū)動程序)的特性.PCI總線允許任何微處理器通過橋接口連接到PCI總線上。USB(Universal Serial Bus:通用串行總線),是1994年由Compaq,IBM,Microsoft等多家公司聯(lián)合提出的。USB有兩種規(guī)格:V1.1和V2.0,USB 1.1傳輸速
4、度為12M/秒,而USB 2.0提高至360到480M/秒。USB 2.0是向下兼容USB 1.1,這意味著將一個USB 2.0的設備插到USB 1.1口中,只能按USB 1.1的速度運行。 USB連接方式十分靈活,支持熱插拔,不需要單獨的供電系統(tǒng)??梢酝ㄟ^一條4線串行線纜訪問USB設備,用于連接鍵盤、鼠標、投影儀、數(shù)碼相機等,現(xiàn)在成為每一臺計算機都必須配備的標準接口。8、參考答案:DB-Define byte 定義一個字節(jié)類型的變量,并為該變量分配內(nèi)存DWDefine word 定義一個字類型的變量,并為該變量分配內(nèi)存DD.Define double word 定義一個雙字類型的變量,并為該
5、變量分配內(nèi)存9、參考答案:(1)1101.01b=13.25d(或13.25)(2)111001.0011b=57.1875(3)101011.0101b=43.3125(4)111.0001b=7.0625如何轉(zhuǎn)換?例如:101011.0101b1×25+1×23+1×2+1+1×2-2+1×2-4= 32+8+2+1+0.25+0.0625=43.312510、參考答案:(1)A3.3H=10×16+3+3×16-1=163.1875(2)129.CH=1×162+2×16+9+12×16-
6、1=297.75(3)AC.DCH=10×16+12+13×16-1+12×16-2=172.259375(4)FAB.3H=15×162+10×16+11+3×16-1=4011.187511、參考答案:(1)23=10111B=27Q=17H(2)107=1101011B=153Q=6BH(3)1238=10011010110B=2326Q=4D6H(4)92=1011100B=134Q=5CH12、參考答案:即把下面的數(shù)用8位補碼表示(1)+32=00100000B(2)-12=11110100B,即求-12的補碼(3)+100
7、=01100100B(4)-92=10100100B,即求-92的補碼13、參考答案:壓縮BCD碼就是用4位二進制表示一個09之間的十進制數(shù)非壓縮的BCD碼就是用8位二進制表示一個09之間的十進制數(shù),8位二進制的最高4位可以位任何數(shù),例如0000,09的ASCII碼實際上就是09的非壓縮BCD碼的表示。十進制數(shù)壓縮BCD碼非壓縮BCD碼1020001 0000 001000000001 00000000 00000010440100 010000000100 000001003010011 0000 000100000011 00000000 0000000110000001 0000 000
8、0 000000000001 00000000 00000000 0000000014、參考答案:如果二進制最高位為0,則該數(shù)為正數(shù),反之,如果最高位為1,則該數(shù)為負數(shù),對其做求補運算就得到其相反數(shù)。(1)10000000B=-128(2)00110011B=+51(3)10010010B=-78(4)10001001B=-11915、參考答案:一個單精度浮點數(shù)占4個字節(jié)(雙字),即32位二進制,其中符號位占1位,指數(shù)部分占8位,尾數(shù)部分占23位。十進制數(shù)表示成單精度浮點數(shù)的方法如下:填充符號位,如果是正數(shù)填0,如果是負數(shù)填1將數(shù)表示成二進制形式,并進行規(guī)格化對于單精度浮點數(shù),指數(shù)加上127(
9、7FH);對于雙精度浮點數(shù),指數(shù)要加上1023 (3FFH),并填充指數(shù)位填充尾數(shù)位(1)+1.5 由于是正數(shù),所以符號位為0;寫成二進制并規(guī)格化得到1.1×20,由于2的指數(shù)是0,所以指數(shù)部分以0+127=01111111填充;由知,尾數(shù)為1,所以尾數(shù)部分以10000000000000000000000(1后面跟22個0)填充,綜上,得到+1.5的單精度浮點數(shù)表示為:+1.50 01111111 10000000000000000000000B寫成十六進制數(shù)為:+1.5=3F C0 00 00H(2)-10.625=C12A0000H(3)+100.25=42C88000H(4)-
10、1200.0=C4960000H16、參考答案:(1)0 10000000 11000000000000000000000B=3.5(2)1 01111111 00000000000000000000000B=-1.0(3)0 10000000 10010000000000000000000B=3.125第二章(p55p56)1、答案略,見p22242、答案略,見p24273、答案略,見p334、參考答案(其他可以參照本章相關內(nèi)容): CPU:又稱微處理器,是計算機系統(tǒng)的核心,一般由邏輯運算單元、控制單元和一些寄存器組成。這些寄存器用于CPU在處理數(shù)據(jù)過程中數(shù)據(jù)的暫時保存。它主要完成從存儲器中
11、取指令,指令譯碼;算術邏輯運算;在處理器和存儲器或I/O接口之間傳送數(shù)據(jù);程序的流向控制等。 存儲器:是計算機系統(tǒng)的記憶部件,主要用來存儲程序和數(shù)據(jù)。存儲器一般分為內(nèi)部存儲器和外部存儲器兩大類。內(nèi)部存儲器(內(nèi)存)存放當前正在使用或經(jīng)常使用的程序和數(shù)據(jù),CPU可以直接訪問;外存存放“海量”數(shù)據(jù),相對來說不經(jīng)常使用,CPU使用時要先調(diào)入內(nèi)存。內(nèi)部存儲器又可以分為隨機存取存儲器(RAM)和只讀存儲器(ROM)。計算機系統(tǒng)存儲器的三層結(jié)構:按存儲容量由低到高(或按存取速度由高到低)分為高速緩沖存儲器(CACHE)、主存、輔存三層。 堆棧(Stack):堆棧是在存儲器中開辟一個區(qū)域,用來存放需要暫時保存
12、的數(shù)據(jù);當前棧頂單元一般采用SP指向,棧底設在存儲器的高地址區(qū),堆棧地址由高到低增長;堆棧的工作方式是“后進先出”,用入棧指令PUSH 和出棧指令POP可將數(shù)據(jù)壓入堆棧或從堆棧中彈出數(shù)據(jù),棧頂指針SP的變化由CPU自動管理,入棧操作SP減小,出棧操作SP增大;堆棧的操作以字為單位。 機器語言(Machine Language):計算機唯一能接受和執(zhí)行的語言。機器語言由二進制碼組成,每一串二進制碼叫做一條指令,一條指令規(guī)定了計算機執(zhí)行的一個動作,一臺計算機所能懂得的指令的全體,叫做這個計算機的指令系統(tǒng),不同型號的計算機的指令系統(tǒng)不同。使用機器語言編寫程序是一種相當煩瑣的工作,既難于記憶也難于操作
13、,編寫出來的程序全是由0和1的數(shù)字組成,直觀性差、難以閱讀。不僅難學、難記、難檢查、又缺乏通用性,給計算機的推廣使用帶來很大的障礙。 匯編語言(Assembly Language):是一種符號語言,它和機器語言幾乎一一對應,在書寫時使用字符串組成的助記符(Mnemonic)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,如微軟的宏匯編程序MASM.EXE。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。匯編語言比機器語言易于讀寫、調(diào)試和修改,同時具有機器語言全部
14、優(yōu)點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構,不能通用,因此不能直接在不同處理器體系結(jié)構之間移植。 指令(Instruction):指令是能被計算機識別并執(zhí)行的二進制代碼,它規(guī)定了計算機能完成的某一操作。一條指令通常由兩個部分組成:操作碼+操作數(shù)。操作碼:指明該指令要完成的操作的類型或性質(zhì),如取數(shù)、做加法或輸出數(shù)據(jù)等。操作數(shù):指明操作對象的內(nèi)容或所在的存儲單元地址(地址碼),操作數(shù)在大多數(shù)情況下是地址碼,地址碼可以有03個。9、參考答案:題號段起始地址段結(jié)束地址a)1000H10000H1FFFFHb)1234H12340H2233FHc)2300H
15、23000H32FFFHd)E000HE0000HEFFFFHe)AB00HAB000HBAFFFH注意:段起始地址和段結(jié)束地址均為20位的物理地址;段起始的偏移量為0000H,所以段起始地址為段基地址×16偏移地址;由于每個段的最大容量為64K字節(jié),段結(jié)束的偏移量為FFFFH,所以段結(jié)束地址為段基地址×16偏移地址段基地址×16FFFFH10、參考答案:a) CS:IP=1000H:2000H 下一條指令的存儲器地址為(CS)×16+(IP)=12000Hb) CS:IP=2000H:1000H 下一條指令的存儲器地址為(CS)×16+(IP
16、)=21000Hc) CS:IP=1A00H:B000H 下一條指令的存儲器地址為(CS)×16+(IP)=25000Hd) CS:IP=3456H:AB09H 下一條指令的存儲器地址為(CS)×16+(IP)=3F069 H11、參考答案:a) DS=1000H,DI=2000H 存儲單元地址為:(DS)×16+(DI)=12000Hb) SS=2300H,BP=3200H 存儲單元地址為:(SS)×16+(BP)=26200Hc) DS=A000H,BX=1000H 存儲單元地址為:(DS)×16+(BX)=A1000Hd) SS=2900
17、H,SP=3A00H 存儲單元地址為:(SS)×16+(SP)=2CA00H12、參考答案:堆棧段在存儲器中的物理地址(即堆棧段的起始地址)為:(SS)×16+0000H=35000H入棧10個字節(jié)后,SP=0800H-10=07F6H再出棧6個字節(jié),SP=07F6H+6=07FCH13、參考答案:示意圖如左圖所示,如果要讀取這兩個字,則需要對存儲器進行三次操作。由于字2A8CH存放在偶地址開始的單元,所以只進行一次存儲器操作就可以讀取該字;由于字1EE5H存放在奇地址開始的單元,所以需要進行兩次存儲器操作才可以讀取該字。14、參考答案:段段起始地址段結(jié)束地址DS10E40
18、H20E3FHES10F40H20F3FHSS21F00H31EFFHCS31FF0H41FEFH可見,DS和ES有部分的重疊,重疊區(qū)域大小為:20E3FH-10F40H+1=FF00H字節(jié);ES和SS之間有空隙,空隙的大小為:21F00H-20F3FH+1=0FC2H字節(jié);SS和CS之間有空隙,空隙的大小為:31FF0H-31EFFH+1=00F2H字節(jié)OF SF ZF CF 均為017、參考答案:IF標志位控制INTR引腳20、答案略,見p4921、答案略第三章(p121p124)1、參考答案:題號源操作數(shù)尋址方式目的操作數(shù)尋址方式(1)立即尋址寄存器尋址(2)立即尋址寄存器尋址(3)寄存
19、器間接尋址寄存器尋址(4)寄存器尋址寄存器相對尋址(5)寄存器尋址寄存器相對尋址(6)立即尋址基址變址尋址(7)基址變址尋址寄存器尋址(8)寄存器尋址相對基址變址尋址(9)直接尋址*寄存器尋址(10)寄存器尋址寄存器尋址*對于IN指令,如果是長格式,源操作數(shù)的數(shù)字不是立即數(shù),而是端口地址,所以源操作數(shù)的尋址方式是直接尋址;如果是短格式,即端口地址存放在DX寄存器中,則源操作數(shù)的尋址方式為寄存器間接尋址,如:IN AX,DX對于OUT指令,如果是長格式,目的操作數(shù)的數(shù)字不是立即數(shù),而是端口地址,所以目的操作數(shù)的尋址方式是直接尋址,如OUT 20H,AL;如果是短格式,即端口地址存放在DX寄存器中
20、,則目的操作數(shù)的尋址方式為寄存器間接尋址,如:OUT DX,AX2、參考答案:題號源操作數(shù)尋址方式源操作數(shù)有效地址源操作數(shù)物理地址指令執(zhí)行后AX中的內(nèi)容(1)立即尋址-0200H(2)直接尋址0200H10200H2A10H(3)寄存器尋址-0200H(4)寄存器相對尋址0203H10203H5946H(5)基址變址尋址0202H10202H463CH(6)相對基址變址尋址0204H10204H6B59H注:10200H10205H單元存儲狀況如左圖所示3、參考答案:題號源操作數(shù)尋址方式源操作數(shù)有效地址源操作數(shù)物理地址(1)直接尋址0100H(DS)×16EA=10100H(2)直接
21、尋址0030H(DS)×16EA=10030H(3)寄存器間接尋址0100H(DS)×16EA=10100H(4)寄存器間接尋址0100H(ES)×16EA=20100H(5)寄存器間接尋址00A0H(DS)×16EA=100A0H(6)寄存器相對尋址0110H(DS)×16EA=10110H(7)寄存器間接尋址0200H(SS)×16EA=35200H(8)相對基址變址尋址02D0H(SS)×16EA=352D0H(9)相對基址變址尋址0154H(DS)×16EA=10154H(10)基址變址尋址0224H(SS
22、)×16EA=35224H4、答案略5、參考答案:(1)該數(shù)據(jù)段的存儲狀況如下表所示:ABCDE000102030405060708090A0B0C0D0E0F101112131415162410434F4D50555445523412FF0000000000009A450012注:表格的第一行為變量名稱;第三行的每個小格子代表一個存儲單元;第二行為存儲單元的偏移地址以十六進制表示,從中可以看出各變量在數(shù)據(jù)段中的偏移地址,A的偏移地址為0000H,B的偏移地址為0002H,C的偏移地址為000AH,D的偏移地址為000EH,E的偏移地址為0013H;第三行為存儲單元的具體內(nèi)容,以十六
23、進制表示。(2)寫出各條指令執(zhí)行后的結(jié)果指令執(zhí)行后的結(jié)果MOV AL,AAL=24HMOV DX,CDX=1234HXCHG DL,ADL=24H,A變量的第一個單元的內(nèi)容變?yōu)?4HMOV BX,OFFSET BBX=0002HMOV CX,3BXCX=5550HLEA BX,DBX=000EHLEA SI,ESI=0013HLEA DI,EDI=0013H6、參考答案:題號錯誤原因(1)兩操作數(shù)的類型不一致(2)立即數(shù)不能做目的操作數(shù)(3)立即數(shù)不能直接傳送給段寄存器(4)兩操作數(shù)不能同時為存儲器操作數(shù)(5)IP寄存器的內(nèi)容不能由用戶更改,而由系統(tǒng)自動修改(6)正確(7)兩基址寄存器不能放在
24、一起使用(8)正確(9)兩變址寄存器不能放在一起使用(10)不能取立即數(shù)的偏移地址,OFFSET操作符使用不當(11)存儲單元的偏移地址應為字類型,不能放到字節(jié)寄存器中(12)XCHG指令的操作數(shù)不能為立即數(shù)(13)IN指令從端口讀取的數(shù)據(jù)只能放在累加器AL或AX中(14)OUT指令的源操作數(shù)應為累加器,目的操作數(shù)應為端口地址,且如果端口地址超過0FFH(255),端口地址應放在DX寄存器中7、程序片段如下:LEA BX,TABLEMOV AL,57MOV AH,0MOV DL,10DIV DLPUSH AXXLATMOV CH,ALPOP AXMOV AL,AHXLATMOV CL,ALMO
25、V BX,CX8、解答:SP的變化情況指令執(zhí)行后SP內(nèi)容PUSH AXSPßSP-200FEHPUSH BXSPßSP-200FCHPOP BXSPßSP+200FEHPOP AXSPßSP+20100H9、已知AX=1234H,BX=3456H,CX=5678H,DX=789AH,CF=1則單獨執(zhí)行下列各條指令后,各相關寄存器內(nèi)容是什么?題號指令執(zhí)行后相關寄存器內(nèi)容(1)AL=0ACH(2)BX=8ACFH(3)AX=EB24H(4)BX=3455H(5)CX=0A988H(6)BL=57H(7)乘積為雙字存放在DX:AX中:DX=03B8H AX=0
26、AD78H(8)商存放在AL中,余數(shù)存放在AH中:AL=26H AH=64H10、參考程序片段如下:;定義數(shù)據(jù)段DATA SEGMENTARRAY DB 60,65,72,76,77,66,79NEW DB 7 DUP(0)SUM DB 0AVERAGE DB 0DATA ENDS;程序代碼如下MOV CX,7MOV SUM,0MOV SI,0NEXT:MOV AL,ARRAYSIADD SUM,AL;總分存入SUM中ADD AL,5MOV NEWSI,ALINC SILOOP NEXTMOV AL,SUMMOV AH,0MOV CL,7DIV CLMOV AVERAGE,AL;平均分存入AV
27、ERAGE中11、參考答案:題號結(jié)果CF(1)AH=04H0(2)BL=36H0(3)AX=0DAF7H0(4)CX=0FFF4H0(5)相關寄存器內(nèi)容沒有改變0(6)相關寄存器內(nèi)容沒有改變0(7)DX=0186H0(8)AL=04H0(9)BH=0F0H0(10)AX=4A10H0(11)BX=1E6CH0(12)DX=4186H012、參考答案:(1)程序片段如下:LEA SI,STRINGLEA DI,GET_CHARMOV CX,26CLDREP MOVSB(2)程序片段如下:先定義一個附加段,用來存放The computerEXTRA SEGMENTS2 DB The compute
28、rEXTRA ENDSLEA SI,STRINGLEA DI,S2MOV CX,12CLDREPZ CMPSBJZ NEXT;若比較的兩個字符串相同,則跳到NEXT執(zhí)行MOV AL,0; 若比較的兩個字符串不相同SUB CL,12NEG CLMOV BL,CL;比較的次數(shù)存入BL中RETNEXT:MOV AL,1MOV BL,12RET(3)程序片段如下:LEA DI,STRING;被查找的字符串STRING作為目的串MOV AL,&MOV CX,26CLDREPNZ SCASBJNZ EXIT;如果沒有找到,直接退出DEC DI;找到&字符的位置MOV BYTE PTR ES
29、:DI,20H;用空格字符替換EXIT: RET(4)完整的程序如下*:;這里的DATA既作為數(shù)據(jù)段,又作為附加段,即數(shù)據(jù)段和附加段公用一個段DATA SEGMENTSTRING DB The Personal Computer & TVCOUNT EQU $-STRINGCAPS DB COUNT DUP(0)CHART DB COUNT DUP(0)DATA ENDSCODE SEGMENTASSUME DS:DATA,ES:DATA,CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX;把
30、字符串中大寫字母傳送到CAPS開始的單元中LEA SI,STRINGLEA DI,CAPSMOV CX,COUNTCLDAGAIN1:LODSBCMP AL,41HJB NEXT1CMP AL,5AHJA NEXT1STOSBNEXT1:LOOP AGAIN1;把字符串中其余字母傳送到CHART開始的單元中LEA SI,STRINGLEA DI,CHARTMOV CX,COUNTCLDAGAIN2:LODSBCMP AL,41HJB NEXTCMP AL,5AHJBE NEXT2NEXT:STOSBNEXT2:LOOP AGAIN2;將STRING字符串清零LEA DI,STRINGMOV A
31、L,0MOV CX,COUNTCLDREP STOSBRETMAIN ENDPCODE ENDSEND MAIN13、完整的程序如下:CODE SEGMENTASSUME CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXXOR SI,SI;SI中存放DX中1的個數(shù)XOR DX,DXMOV AX,1234HMOV CX,16AGAIN:ROR AX,1JNC NEXTINC SIPUSH CXDEC CLMOV BX,1SHL BX,CLOR DX,BXPOP CXNEXT:LOOP AGAINRETMAIN ENDPCODE ENDSEND MAIN程序的
32、運行結(jié)果:AX=1234H DX=2C48H SI=0005H,結(jié)果正確14、參考答案:指令跳轉(zhuǎn)類型程序的轉(zhuǎn)向*(1)JMP PROG_N段內(nèi)直接跳轉(zhuǎn)IP=0278H(2)JMP BX段內(nèi)間接跳轉(zhuǎn)IP=(BX)=0300H(3)JMP BX段內(nèi)間接跳轉(zhuǎn)IP=(DS)×16(BX)=(20300H)=4800H(4)JMP FAR PROG_F段間直接跳轉(zhuǎn)IP=0ABCH CS=3400H(5)JMP DWORD PTR BX段間間接跳轉(zhuǎn)IP=(20300H)=4800H CS=(20302H)=00FFH*如果是段內(nèi)轉(zhuǎn)移,跳轉(zhuǎn)指令只改變IP寄存器的內(nèi)容,前三條跳轉(zhuǎn)指令是段內(nèi)跳轉(zhuǎn);如果
33、是段間跳轉(zhuǎn),跳轉(zhuǎn)指令同時改變IP和CS寄存器的內(nèi)容,后兩條跳轉(zhuǎn)指令是段間跳轉(zhuǎn)。15、參考答案:寄存器LOOP NEXTLOOPE NEXTLOOPNE NEXTAX2 3 4 522 3BX4 7 11 1644 7CX3 2 1 033 2DX1 0 0 011 0注意:三個循環(huán)指令LOOP、LOOPE和LOOPNE終止循環(huán)的條件是不一樣的。16、參考答案:中斷向量表的作用:中斷向量表用于存放256種中斷的中斷服務程序的入口地址,每種類型中斷的中斷服務程序的入口地址占用4個字節(jié),存儲CS和IP,總共需要1024個字節(jié),即1K字節(jié)。中斷向量表位于內(nèi)存的最低1K字節(jié),地址范圍為:00000H00
34、3FFH。類型3的中斷的中斷服務程序的入口地址存放在:0000CH0000FH這四個單元。17、參考答案:如下圖所示解釋:由于中斷類型號為2,所以該類型中斷的中斷服務程序入口地址占據(jù)內(nèi)存最低1K字節(jié)的2×4,2×4+1,2×4+2,2×4+3四個單元。前兩個單元存放中斷服務程序IP值,即0016H,后兩個單元存放中斷服務程序的CS值,即0485H。由于CS和IP值均為一個字,所以在存放中斷服務程序入口地址的CS和IP值時,低位字節(jié)存放在低地址區(qū),高位字節(jié)存放在高地址區(qū)。18、參考答案:(1)中斷類型號為16(2)該中斷服務程序的起始地址是:CS:IP=D
35、169H:240BH解釋:由于中斷向量表中地址為0040H開始存放某類型中斷的中斷服務程序的入口地址,所以0040H除以4就可以得到該類型中斷的中斷類型號n,即n=16。中斷服務程序的入口地址的CS值存放在0042H單元里,IP值存放在0040H單元里。19、參考答案:中斷類型號(專用中斷)響應中斷的條件0:被0除當除數(shù)為0或商超過了寄存器所能表示的范圍,就產(chǎn)生了一個類型為0的中斷1:單步中斷,由Debug單步調(diào)試引起當TF=1,每條指令執(zhí)行后,CPU自動產(chǎn)生類型為1的中斷2:NMI不可屏蔽中斷,用來處理緊急事件,如:電源掉電,CPU必須予以響應3:斷點中斷,由Debug設置斷點引起用debu
36、g調(diào)試程序時,可用g命令設置斷點,當CPU執(zhí)行到斷點時便產(chǎn)生類型為3的中斷,同時顯示當前各寄存器和有關存儲器的內(nèi)容及下條要執(zhí)行的指令,供用戶檢查。4:溢出中斷如果當前運算的結(jié)果產(chǎn)生溢出,則OF=1,下面緊跟溢出中斷指令INTO,立刻產(chǎn)生一個類型為4的中斷20、參考答案:MOV CX,N;4個時鐘周期NEXT:NOP;N×3個時鐘周期NOP;N×3個時鐘周期LOOP NEXT;(N-1)×17+1×5個時鐘周期由f=5MHz,t=0.2us,延時5ms需要個時鐘周期所以:4+N×3N×3(N-1)×17+1×5=25
37、000解得:N=1087第四章(p205p206)1、參考答案(寫出各變量在內(nèi)存中的存儲狀況)A1 DW 23H,5678HA2 DB 3 DUP(?),0AH,0DH,$A3 DD 5 DUP(1234H,567890H)A4 DB 4 DUP(3 DUP(1,2,ABC)變量A1占4個字節(jié),在內(nèi)存中的存儲狀況(以十六進制表示,從左到右地址依次增加,以下同):23 00 78 56變量A2占6個字節(jié),在內(nèi)存中的存儲狀況:00 00 00 0A 0D 24變量A3占40個字節(jié),在內(nèi)存中的存儲狀況:34 12 00 00 90 78 56 00 (再重復4遍)變量A4占60個字節(jié),在內(nèi)存中的存儲
38、狀況:01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43(帶下畫線部分重復4遍)2、參考答案(寫出各指令執(zhí)行后的結(jié)果)指令結(jié)果MOV AX,00FFH AND 1122H+3344HAX=0066H,先加后與MOV AL,15 GE 1111BAL=0FFHMOV AX,00FFH LE 2
39、55+6/5AX=0FFFFH,先加后比較AND AL,50 MOD 4AL=02HOR AX,0F00FH AND 1234 OR 00FFHAX=0FFFFH,先與后或,再把計算的結(jié)果同AX進行或運算,最終結(jié)果保存在AX中3、參考答案:L=6,L的值實際就是BUF變量在內(nèi)存中占有的字節(jié)數(shù)。4、參考答案:PLENGTH=22,PLENGTH的值實際就是三個變量PAR、PNAME和COUNT在內(nèi)存中占有的總的字節(jié)數(shù)。5、參考答案:AX=1 BX=20 CX=16、參考答案:AH=00H7、(1)利用中斷調(diào)用產(chǎn)生5秒延時data segments db '5 second is gone
40、',13,10,'$'data endscode segmentassume cs:code,ds:datamain proc farmov ax,datamov ds,axmov ah,2chint 21h;取得當前時間:chà時 clà分 dhà秒 dlà1/100秒mov bl,dhcontinue:mov ah,2chint 21hsub dh,blcmp dh,5jb continue;判斷兩次取得時間間隔是否為5秒鐘,如果不是則繼續(xù)讀取時間lea dx,s;如果達到5秒,則顯示一條信息mov ah,9int 21hmo
41、v ax,4c00hint 21hmain endpcode endsend main(2)利用中斷調(diào)用,在屏幕上顯示19之間的隨機數(shù)思路:利用DOS系統(tǒng)功能調(diào)用得到當前時間,其中的dl寄存器中存放的是1/100秒,可以用來產(chǎn)生隨機數(shù)。code segmentassume cs:codemain proc farmov ah,2chint 21hmov al,dl;取得1/100秒,不同時間運行該程序時得到的這個數(shù)字也不一樣,具有隨機性mov ah,0mov bl,9;除以9div bl;相除后的余數(shù)ah的范圍為08inc ah;加1后得到19之間的數(shù)add ah,30h;轉(zhuǎn)換為ASCII碼m
42、ov dl,ahmov ah,2int 21h;在屏幕上顯示該數(shù)mov ax,4c00hint 21hmain endpcode endsend main8、(1)二進制到壓縮BCD碼的轉(zhuǎn)換。把AX中的二進制數(shù)轉(zhuǎn)換為壓縮的BCD碼,仍然存放AX寄存器中。例如:如果AX中的二進制數(shù)為0010 0110 1001 0100B=2694H,化成十進制數(shù)是9876,其壓縮的BCD碼是1001 1000 0111 0110,用十六進制表示是9876H。即這種轉(zhuǎn)換實際就是把2694H轉(zhuǎn)換為9876H??紤]到AX中能夠存放的最大的四位壓縮BCD數(shù)為9999H,所以在轉(zhuǎn)換之前需要判斷AX中的二進制數(shù)不能超過9
43、999,即270FH。第五章(p237238)1、靜態(tài)RAM和動態(tài)RAM的區(qū)別靜態(tài)RAM(SRAM)動態(tài)RAM(DRAM)集成度低高容量小大刷新無附加刷新電路速度快較慢應用場合高速緩沖存儲器(CACHE)內(nèi)存條2、ROM、PROM、EPROM、EEPROM在功能上各有何特點答案略(見教材p208)3、DRAM的CAS和RAS輸入的用途是什么?答:為了提高DRAM的集成度,減少引腳的數(shù)目,DRAM的地址線分成行地址和列地址兩部分,在對存儲器進行訪問時,先由行地址選通信號RAS把行地址送入行地址鎖存器,再由列地址選通信號CAS把列地址送入列地址鎖存器,并由讀寫信號控制數(shù)據(jù)的讀出或?qū)懭搿?、什么CA
44、CHE?作用是什么?處于微處理機中的什么位置?答:CACHE即高速緩沖存儲器,通常由SRAM組成。其作用是:將經(jīng)常訪問的代碼和數(shù)據(jù)保存到由SRAM組成的高速緩沖存儲器中,把不經(jīng)常訪問的數(shù)據(jù)保存到由DRAM組成的主存中,這樣使存儲器系統(tǒng)的價格降低,同時又降低了接近零等待的性能,大大的提高了系統(tǒng)的性能。CACHE位于CPU和主存儲器之間。7、用1024×1位的RAM芯片組成16K×8位的存儲器,需要多少芯片?在地址線中有多少位參與片內(nèi)尋址?多少位合成片選信號?(設地址總線為16位)答:需要16×8128片RAM芯片,其中每8片為一組,總共有16組;地址線中有10位參與
45、片內(nèi)尋址;由于有16組芯片,余下的6根地址線中至少需要4根合成片選信號,來選中其中的一組芯片。8、現(xiàn)有一存儲器芯片的容量為512×4位,若要用它組成4KB的存儲器,需要多少這樣的芯片?每塊芯片需要多少尋址線?整個存儲系統(tǒng)最少需要多少尋址線?答:需要的芯片的數(shù)目為16片,每兩片為一組,共有8組;每塊芯片需要9根尋址線;由于共有8組芯片,至少需要3根地址線合成片選信號用來選擇8組芯片中的一組;整個存儲器系統(tǒng)至少需要9312根地址線。9、利用1024×8位的RAM芯片組成4K×8位的存儲器系統(tǒng),用A15A12地址線用線性選擇法產(chǎn)生片選信號,存儲器地址的分配有什么問題?寫
46、出各芯片的地址分配。答:需要的芯片的數(shù)目:4片片內(nèi)尋址需要的地址線的數(shù)目:由于每片RAM芯片內(nèi)部有1024個存儲單元,所以需要10根地址線用于選中其中某一個存儲單元,占用地址總線的低10位(A9A0)片間尋址需要的地址線的數(shù)目:由于需要4片存儲器芯片,所以至少需要2根地址線進行譯碼用于選擇4片芯片中的一片,這樣占用地址總線的A11和A10。余下的地址總線用線性選擇法產(chǎn)生片選信號,這樣A15A12的電平的不同組合就產(chǎn)生了不同的地址空間,使得存儲器芯片的地址空間產(chǎn)生重疊。如果A15A12的電平組合為:A15=1,其余的均為0,則4片存儲器芯片的地址范圍分別為: A15 A14 A13 A12 A1
47、1 A10 A9A01#:1 0 0 0 0 0 0 0 =8000H 1 0 0 0 0 0 1 1 =83FFH2#:1 0 0 0 0 1 0 0 =8400H1 0 0 0 0 1 1 1 =87FFH3#:1 0 0 0 1 0 0 0 =8800H 1 0 0 0 1 0 1 1 =8BFFH4#:1 0 0 0 1 1 0 0 =8C00H1 0 0 0 1 1 1 1 =8FFFH10、當從存儲器偶地址單元讀一個字節(jié)數(shù)據(jù)時,寫出存儲器的控制信號和它們的有效電平(8086工作在最小模式)。答案如下表所示:信號名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平80
48、86讀寫對象為存儲器,而不是I/O接口BHE高電平從偶地址單元讀寫一個字節(jié)A0低電平RD低電平讀數(shù)據(jù)11、當要將一個字寫入到存儲器奇地址開始的單元中,列出存儲器的控制信號和他們的有效電平(8086工作在最小模式)。答案如下表所示:分兩次寫入:第一次:信號名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平8086讀寫對象為存儲器,而不是I/O接口BHE低電平把這個字的低位字節(jié)寫入奇地址單元A0高電平WR低電平寫數(shù)據(jù)第二次:信號名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平8086讀寫對象為存儲器,而不是I/O接口BHE高電平把這個字的高位字節(jié)寫入接下來的偶
49、地址單元A0低電平WR低電平寫數(shù)據(jù)12、設計一個64K×8的存儲器系統(tǒng),采用74LS138和EPROM 2764器件,使其尋址空間范圍為:40000H4FFFFH。解題步驟如下:存儲器芯片數(shù)目的確定:由于每片2764芯片為8K×8位,要組成64K×8的存儲器系統(tǒng),需要8片2764芯片,編號為1#8#;片內(nèi)尋址地址線的選擇:由于每片2764芯片為8K×8位,即有8K(2138K)個存儲單元,所以需要13根地址線(A12A0)分別接到芯片的13個地址引腳,來選通片內(nèi)某個存儲單元;片間尋址地址線的分配:A15、A14和A13分別連接到74LS138的C、B、A
50、端,74LS138的8個輸出分別接到8片2764的CS端;輸入輸出選擇的芯片號A15A14A13000Y01#001Y12#010Y23#011Y34#100Y45#101Y56#110Y67#111Y78#余下的地址線的連接:A19A16和M/IO信號通過邏輯電路接到74LS138的三個控制端G1、G2A和G2B,具體的邏輯電路的設計與題目給定的尋址空間范圍有關,如果題目沒有給定尋址空間范圍,邏輯電路由讀者自行設計;根據(jù)尋址空間范圍設計控制端的邏輯電路:把最低地址40000H表示成二進制形式為:0100 0000 0000 0000 0000,可知20位地址總線高4位(A19A16)的電平組
51、合為A19=0,A18=1,A17=0,A16=0,加上M/IO1,由此可以設計出74LS138的三個控制端G1、G2A和G2B的邏輯電路。M/IO信號可以同G1端直接相連;A18反向后與A19通過二輸入負邏輯與非門(即或門)接到G2A端,A17和A16通過二輸入負邏輯與非門(或門)連接到G2B端。其他控制信號的連接:數(shù)據(jù)總線D7D0直接與存儲器芯片的8根數(shù)據(jù)引腳相連接;RD信號直接芯片的允許輸出引腳相連。具體的電路圖略。13、用8K×8的EPROM 2764,8K×8的RAM 6264和74LS138構成一個16K字ROM,16K字RAM的存儲器子系統(tǒng)。8086工作在最小
52、模式,系統(tǒng)帶有地址鎖存器8282,數(shù)據(jù)收發(fā)器8286。畫出存儲器系統(tǒng)與CPU的連接圖,寫出各芯片的地址分配。解題步驟如下:存儲器芯片數(shù)目的確定:需要EPROM芯片4片,每兩片組成一組(兩片存儲器芯片構成一個字存儲器,一片為奇地址存儲體,另一片為偶地址存儲體),共有2組,編號為1#和2#;需要RAM芯片4片,每兩片組成一組(兩片存儲器芯片構成一個字存儲器,一片為奇地址存儲器,另一片為偶地址存儲器),共有2組,編號為3#和4#。片內(nèi)尋址地址線的選擇:由于每片2764芯片和6364芯片均為8K×8位,即有8K(2138K)個存儲單元,所以需要13根地址線(A13A1)分別接到芯片的13個地
53、址引腳,來選通片內(nèi)某個存儲單元。注意:A0不參與片內(nèi)尋址,用來作為奇偶存儲體的選擇信號。A0與BHE信號相配合來讀/寫每一組中的奇偶存儲體。片間尋址地址線的分配:A16、A15和A14分別連接到74LS138的C、B、A端,74LS138的8個輸出中的4個輸出端分別選擇4組(包括2組EPROM芯片和2組RAM芯片)存儲器芯片中的一組。輸入輸出選擇的芯片組號A16A15A14000Y01#001Y12#010Y23#011Y34#74LS138的三個控制端G1、G2A和G2B的連接:地址信號A19、A18、A17和M/IO通過邏輯電路與三個控制端相連??梢杂勺x者自行設計。如果選擇A19=1,A18=0,A17=0,M/IO信號可以同G1端直接相連;A19反向后接到G2A端,A18和A17通過二輸入負邏輯與非門(或門)連接到G2B端。二次譯碼:由于每一組存儲器由兩片存儲器芯片組成,一片為奇地址存儲體,另一片為偶地址存儲體,這兩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版專柜裝修工程合同
- 二零二五年度跨境電商平臺運營與推廣服務合同2篇
- 2025年度玻璃隔斷安裝工程合同糾紛處理與爭議解決合同2篇
- 二零二五版二手房買賣合同范本(含按揭貸款及裝修款支付)3篇
- 二零二五版家政服務人員勞動保障合同范本3篇
- 2024碎石原料交易平臺運營合同
- 中介公司月嫂服務協(xié)議標準版2024版A版
- 4S店租賃新規(guī):2024版汽車租賃協(xié)議一
- 2024教育培訓勞務承包合同
- 天津工業(yè)職業(yè)學院《無機化學(4)》2023-2024學年第一學期期末試卷
- 2024年四川省成都市錦江區(qū)中考數(shù)學一診試卷(附答案解析)
- 小學生中醫(yī)藥文化知識科普傳承中醫(yī)文化弘揚國粹精神課件
- ASME材料-設計許用應力
- 吸痰護理操作
- 室內(nèi)燈光設計總結(jié)報告
- 子宮動脈栓塞術后的護理
- 五年級數(shù)學(小數(shù)乘法)計算題及答案
- 第十七章-阿法芙·I·梅勒斯的轉(zhuǎn)變理論
- 計算機應用技術專業(yè)匯報課件
- 檔案基礎業(yè)務培訓課件
- 中醫(yī)門診病歷
評論
0/150
提交評論