微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案_第1頁
微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案_第2頁
微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案_第3頁
微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案_第4頁
微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案53/53PAGE53微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案微機(jī)原理與接口技術(shù)周荷琴課后習(xí)題答案微機(jī)原理與接口技術(shù)習(xí)題參考答案第一章(p20)1、參考答案:馮?諾伊曼計(jì)算機(jī)的設(shè)計(jì)思想(EDVAC方案:存儲(chǔ)程序通用電子計(jì)算機(jī)方案):①計(jì)算機(jī)分為計(jì)算器、控制器、存儲(chǔ)器、輸入和輸出裝置五個(gè)部分;②計(jì)算機(jī)內(nèi)采用二進(jìn)制;③將程序存儲(chǔ)在計(jì)算機(jī)內(nèi),簡稱“程序存儲(chǔ)”。其中第三點(diǎn)是馮?諾依曼計(jì)算機(jī)設(shè)計(jì)的精華,所以人們又把馮?諾依曼原理叫做程序存儲(chǔ)原理,即程序由指令組成并和數(shù)據(jù)一起存放在存儲(chǔ)器中,機(jī)器則按程序指定的邏輯順序把指令從存儲(chǔ)器中讀出來并逐條執(zhí)行,從而自動(dòng)完成程序描述的處理工作。馮?諾伊曼計(jì)算機(jī)主要以運(yùn)算器和控制器為中心,結(jié)構(gòu)框圖如下圖所示。2、參考答案:微處理器就是中央處理器CPU,是計(jì)算機(jī)的核心,單獨(dú)的CPU不能構(gòu)成計(jì)算機(jī)系統(tǒng);微型計(jì)算機(jī)由微處理器、主存儲(chǔ)器、I/O接口(注意:不是I/O設(shè)備)組成;而微型計(jì)算機(jī)系統(tǒng)除了包括微型計(jì)算機(jī)外,還有系統(tǒng)軟件(即操作系統(tǒng))、應(yīng)用軟件、外存儲(chǔ)器和I/O設(shè)備等。微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)如下圖所示。3、答案略,見p6~74、答案略,見圖2,或教材圖1-35、答案略,見p12~136、參考答案:由于8086微處理器的地址總線的寬度為20位,所以它可尋址220=1M字節(jié)的存儲(chǔ)空間;而PentiumII微處理器的地址總線的寬度為36位,所以它可尋址236=64G字節(jié)的存儲(chǔ)空間。7、參考答案:①PCI(PeripheralComponentInterconnect:外圍設(shè)備互聯(lián)),是Intel公司1992年發(fā)布486微處理器時(shí)推出的32/64位標(biāo)準(zhǔn)總線,數(shù)據(jù)傳輸速率位132MB/s,適用于Pentium微型計(jì)算機(jī)。PCI總線是同步且獨(dú)立于微處理器的具有即插即用(PNP:Plugandplay,所謂即插即用,是指當(dāng)板卡插入系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)對板卡所需資源進(jìn)行分配,如基地址、中斷號(hào)等,并自動(dòng)尋找相應(yīng)的驅(qū)動(dòng)程序)的特性.PCI總線允許任何微處理器通過橋接口連接到PCI總線上。②USB1.1傳輸速度為12M/秒,而USB2.0提高至360到480M/秒。USB2.0是向下兼容USB1.1,這意味著將一個(gè)USB2.0的設(shè)備插到USB1.1口中,只能按USB1.1的速度運(yùn)行。USB連接方式十分靈活,支持熱插拔,不需要單獨(dú)的供電系統(tǒng)??梢酝ㄟ^一條4線串行線纜訪問USB設(shè)備,用于連接鍵盤、鼠標(biāo)、投影儀、數(shù)碼相機(jī)等,現(xiàn)在成為每一臺(tái)計(jì)算機(jī)都必須配備的標(biāo)準(zhǔn)接口。8、參考答案:DBDefinebyte定義一個(gè)字節(jié)類型的變量,并為該變量分配內(nèi)存DW…Defineword定義一個(gè)字類型的變量,并為該變量分配內(nèi)存DD….Definedoubleword定義一個(gè)雙字類型的變量,并為該變量分配內(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.0101b=1×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-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(4)92=1011100B=134Q=5CH12、參考答案:即把下面的數(shù)用8位補(bǔ)碼表示(1)+32=00100000B (2)-12=11110100B,即求-12的補(bǔ)碼(3)+100=01100100B (4)-92=10100100B,即求-92的補(bǔ)碼13、參考答案:壓縮BCD碼就是用4位二進(jìn)制表示一個(gè)0~9之間的十進(jìn)制數(shù)非壓縮的BCD碼就是用8位二進(jìn)制表示一個(gè)0~9之間的十進(jìn)制數(shù),8位二進(jìn)制的最高4位可以位任何數(shù),例如0000,0~9的ASCII碼實(shí)際上就是0~9的非壓縮BCD碼的表示。十進(jìn)制數(shù)壓縮BCD碼非壓縮BCD碼10200010000001000000001000000000000001044010001000000010000000100301001100000001000000110000000000000001100000010000000000000000000100000000000000000000000014、參考答案:如果二進(jìn)制最高位為0,則該數(shù)為正數(shù),反之,如果最高位為1,則該數(shù)為負(fù)數(shù),對其做求補(bǔ)運(yùn)算就得到其相反數(shù)。(1)10000000B=-128(2)00110011B=+51(3)10010010B=-78(4)10001001B=-11915、參考答案:一個(gè)單精度浮點(diǎn)數(shù)占4個(gè)字節(jié)(雙字),即32位二進(jìn)制,其中符號(hào)位占1位,指數(shù)部分占8位,尾數(shù)部分占23位。十進(jìn)制數(shù)表示成單精度浮點(diǎn)數(shù)的方法如下:①填充符號(hào)位,如果是正數(shù)填0,如果是負(fù)數(shù)填1②將數(shù)表示成二進(jìn)制形式,并進(jìn)行規(guī)格化③對于單精度浮點(diǎn)數(shù),指數(shù)加上127(7FH);對于雙精度浮點(diǎn)數(shù),指數(shù)要加上1023(3FFH),并填充指數(shù)位④填充尾數(shù)位(1)+1.5①由于是正數(shù),所以符號(hào)位為0;②寫成二進(jìn)制并規(guī)格化得到1.1×20,③由于2的指數(shù)是0,所以指數(shù)部分以0+127=01111111填充;④由②寫成十六進(jìn)制數(shù)為:+1.5=3FC00000H(2)-10.625=C12A0000H(3)+100.25=42C88000H(4)-1200.0=C4960000H16、參考答案:0000B=3.5(2)10111111100000000000000000000000B=-1.0第二章(p55~p56)1、答案略,見p22~242、答案略,見p24~273、答案略,見p334、參考答案(其他可以參照本章相關(guān)內(nèi)容):CPU:又稱微處理器,是計(jì)算機(jī)系統(tǒng)的核心,一般由邏輯運(yùn)算t"_blank"單元、控制單元和一些寄存器組成。這些寄存器用于CPU在處理數(shù)據(jù)過程中數(shù)據(jù)的暫時(shí)保存。它主要完成從存儲(chǔ)器中取指令,指令譯碼;算術(shù)邏輯運(yùn)算;在處理器和存儲(chǔ)器或I/O接口之間傳送數(shù)據(jù);程序的流向控制等。存儲(chǔ)器:是計(jì)算機(jī)系統(tǒng)的記憶部件,主要用來存儲(chǔ)程序和數(shù)據(jù)。存儲(chǔ)器一般分為內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器兩大類。內(nèi)部存儲(chǔ)器(內(nèi)存)存放當(dāng)前正在使用或經(jīng)常使用的程序和數(shù)據(jù),CPU可以直接訪問;外存存放“海量”數(shù)據(jù),相對來說不經(jīng)常使用,CPU使用時(shí)要先調(diào)入內(nèi)存。內(nèi)部存儲(chǔ)器又可以分為隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。計(jì)算機(jī)系統(tǒng)存儲(chǔ)器的三層結(jié)構(gòu):按存儲(chǔ)容量由低到高(或按存取速度由高到低)分為高速緩沖存儲(chǔ)器(CACHE)、主存、輔存三層。堆棧(Stack):堆棧是在存儲(chǔ)器中開辟一個(gè)區(qū)域,用來存放需要暫時(shí)保存的數(shù)據(jù);當(dāng)前棧頂單元一般采用SP指向,棧底設(shè)在存儲(chǔ)器的高地址區(qū),堆棧地址由高到低增長;堆棧的工作方式是“后進(jìn)先出”,用入棧指令PUSH和出棧指令POP可將數(shù)據(jù)壓入堆棧或從堆棧中彈出數(shù)據(jù),棧頂指針SP的變化由CPU自動(dòng)管理,入棧操作SP減小,出棧操作SP增大;堆棧的操作以字為單位。機(jī)器語言(MachineLanguage):計(jì)算機(jī)唯一能接受和執(zhí)行的語言。機(jī)器語言由二進(jìn)制碼組成,每一串二進(jìn)制碼叫做一條指令,一條指令規(guī)定了計(jì)算機(jī)執(zhí)行的一個(gè)動(dòng)作,一臺(tái)計(jì)算機(jī)所能懂得的指令的全體,叫做這個(gè)計(jì)算機(jī)的指令系統(tǒng),不同型號(hào)的計(jì)算機(jī)的指令系統(tǒng)不同。使用機(jī)器語言編寫程序是一種相當(dāng)煩瑣的工作,既難于記憶也難于操作,編寫出來的程序全是由0和1的數(shù)字組成,直觀性差、難以閱讀。不僅難學(xué)、難記、難檢查、又缺乏通用性,給計(jì)算機(jī)的推廣使用帶來很大的障礙。匯編語言(AssemblyLanguage):是一種符號(hào)語言,它和機(jī)器語言幾乎一一對應(yīng),在書寫時(shí)使用字符串組成的助記符(Mnemonic)代替操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替地址碼。使用匯編語言編寫的程序,機(jī)器不能直接識(shí)別,要由一種程序?qū)R編語言翻譯成機(jī)器語言,這種起翻譯作用的程序叫匯編程序,如微軟的宏匯編程序MASM.EXE。匯編程序把匯編語言翻譯成機(jī)器語言的過程稱為匯編。匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時(shí)具有機(jī)器語言全部優(yōu)點(diǎn)。但在編寫復(fù)雜程序時(shí),相對高級(jí)語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。指令(Instruction):指令是能被計(jì)算機(jī)識(shí)別并執(zhí)行的二進(jìn)制代碼,它規(guī)定了計(jì)算機(jī)能完成的某一操作。一條指令通常由兩個(gè)部分組成:操作碼+操作數(shù)。ew/178197.htm"操作碼:指明該指令要完成的操作的類型或性質(zhì),如取數(shù)、做加法或輸出數(shù)據(jù)等。操作數(shù):指明操作對象的內(nèi)容或所在的存儲(chǔ)單元地址(地址碼),操作數(shù)在大多數(shù)情況下是地址碼,地址碼可以有0~3個(gè)。9、參考答案:題號(hào)段起始地址段結(jié)束地址a)1000H10000H1FFFFHb)1234H12340H2233FHc)2300H23000H32FFFHd)E000HE0000HEFFFFHe)AB00HAB000HBAFFFH注意:①段起始地址和段結(jié)束地址均為20位的物理地址;②段起始的偏移量為0000H,所以段起始地址為段基地址×16+偏移地址;③由于每個(gè)段的最大容量為64K字節(jié),段結(jié)束的偏移量為FFFFH,所以段結(jié)束地址為段基地址×16+偏移地址=段基地址×16+FFFFH10、參考答案:CS:IP=1000H:2000H下一條指令的存儲(chǔ)器地址為(CS)×16+(IP)=12000HCS:IP=2000H:1000H下一條指令的存儲(chǔ)器地址為(CS)×16+(IP)=21000HCS:IP=1A00H:B000H下一條指令的存儲(chǔ)器地址為(CS)×16+(IP)=25000HCS:IP=3456H:AB09H下一條指令的存儲(chǔ)器地址為(CS)×16+(IP)=3F069H11、參考答案:DS=1000H,DI=2000H存儲(chǔ)單元地址為:(DS)×16+(DI)=12000HSS=2300H,BP=3200H存儲(chǔ)單元地址為:(SS)×16+(BP)=26200HDS=A000H,BX=1000H存儲(chǔ)單元地址為:(DS)×16+(BX)=A1000HSS=2900H,SP=3A00H存儲(chǔ)單元地址為:(SS)×16+(SP)=2CA00H12、參考答案:①堆棧段在存儲(chǔ)器中的物理地址(即堆棧段的起始地址)為:(SS)×16+0000H=35000H②入棧10個(gè)字節(jié)后,SP=0800H-10=07F6H③再出棧6個(gè)字節(jié),SP=07F6H+6=07FCH13、參考答案:示意圖如左圖所示,如果要讀取這兩個(gè)字,則需要對存儲(chǔ)器進(jìn)行三次操作。①由于字2A8CH存放在偶地址開始的單元,所以只進(jìn)行一次存儲(chǔ)器操作就可以讀取該字;②由于字1EE5H存放在奇地址開始的單元,所以需要進(jìn)行兩次存儲(chǔ)器操作才可以讀取該字。14、參考答案:段段起始地址段結(jié)束地址DS10E40H20E3FHES10F40H20F3FHSS21F00H31EFFHCS31FF0H41FEFH可見,①DS和ES有部分的重疊,重疊區(qū)域大小為:20E3FH-10F40H+1=FF00H字節(jié);②ES和SS之間有空隙,空隙的大小為:21F00H-20F3FH+1=0FC2H字節(jié);③SS和CS之間有空隙,空隙的大小為:31FF0H-31EFFH+1=00F2H字節(jié)④OFSFZFCF均為017、參考答案:IF標(biāo)志位控制INTR引腳20、答案略,見p4921、答案略第三章(p121~p124)1、參考答案:題號(hào)源操作數(shù)尋址方式目的操作數(shù)尋址方式(1)立即尋址寄存器尋址(2)立即尋址寄存器尋址(3)寄存器間接尋址寄存器尋址(4)寄存器尋址寄存器相對尋址(5)寄存器尋址寄存器相對尋址(6)立即尋址基址變址尋址(7)基址變址尋址寄存器尋址(8)寄存器尋址相對基址變址尋址(9)直接尋址*寄存器尋址(10)寄存器尋址寄存器尋址*對于IN指令,如果是長格式,源操作數(shù)的數(shù)字不是立即數(shù),而是端口地址,所以源操作數(shù)的尋址方式是直接尋址;如果是短格式,即端口地址存放在DX寄存器中,則源操作數(shù)的尋址方式為寄存器間接尋址,如:INAX,DX對于OUT指令,如果是長格式,目的操作數(shù)的數(shù)字不是立即數(shù),而是端口地址,所以目的操作數(shù)的尋址方式是直接尋址,如OUT20H,AL;如果是短格式,即端口地址存放在DX寄存器中,則目的操作數(shù)的尋址方式為寄存器間接尋址,如:OUTDX,AX2、參考答案:題號(hào)源操作數(shù)尋址方式源操作數(shù)有效地址源操作數(shù)物理地址指令執(zhí)行后AX中的內(nèi)容(1)立即尋址0200H(2)直接尋址0200H10200H2A10H(3)寄存器尋址0200H(4)寄存器相對尋址0203H10203H5946H(5)基址變址尋址0202H10202H463CH(6)相對基址變址尋址0204H10204H6B59H注:10200H~10205H單元存儲(chǔ)狀況如左圖所示3、參考答案:題號(hào)源操作數(shù)尋址方式源操作數(shù)有效地址源操作數(shù)物理地址(1)直接尋址0100H(DS)×16+EA=10100H(2)直接尋址0030H(DS)×16+EA=10030H(3)寄存器間接尋址0100H(DS)×16+EA=10100H(4)寄存器間接尋址0100H(ES)×16+EA=20100H(5)寄存器間接尋址00A0H(DS)×16+EA=100A0H(6)寄存器相對尋址0110H(DS)×16+EA=10110H(7)寄存器間接尋址0200H(SS)×16+EA=35200H(8)相對基址變址尋址02D0H(SS)×16+EA=352D0H(9)相對基址變址尋址0154H(DS)×16+EA=10154H(10)基址變址尋址0224H(SS)×16+EA=35224H4、答案略5、參考答案:(1)該數(shù)據(jù)段的存儲(chǔ)狀況如下表所示:ABCDE000102030405060708090A0B0C0D0E0F101112131415162410434F4D50555445523412FF0000000000009A450012注:①表格的第一行為變量名稱;②第三行的每個(gè)小格子代表一個(gè)存儲(chǔ)單元;③第二行為存儲(chǔ)單元的偏移地址以十六進(jìn)制表示,從中可以看出各變量在數(shù)據(jù)段中的偏移地址,A的偏移地址為0000H,B的偏移地址為0002H,C的偏移地址為000AH,D的偏移地址為000EH,E的偏移地址為0013H;④第三行為存儲(chǔ)單元的具體內(nèi)容,以十六進(jìn)制表示。(2)寫出各條指令執(zhí)行后的結(jié)果指令執(zhí)行后的結(jié)果MOVAL,AAL=24HMOVDX,CDX=1234HXCHGDL,ADL=24H,A變量的第一個(gè)單元的內(nèi)容變?yōu)?4HMOVBX,OFFSETBBX=0002HMOVCX,3[BX]CX=5550HLEABX,DBX=000EHLEASI,ESI=0013HLEADI,EDI=0013H6、參考答案:題號(hào)錯(cuò)誤原因(1)兩操作數(shù)的類型不一致(2)立即數(shù)不能做目的操作數(shù)(3)立即數(shù)不能直接傳送給段寄存器(4)兩操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)(5)IP寄存器的內(nèi)容不能由用戶更改,而由系統(tǒng)自動(dòng)修改(6)正確(7)兩基址寄存器不能放在一起使用(8)正確(9)兩變址寄存器不能放在一起使用(10)不能取立即數(shù)的偏移地址,OFFSET操作符使用不當(dāng)(11)存儲(chǔ)單元的偏移地址應(yīng)為字類型,不能放到字節(jié)寄存器中(12)XCHG指令的操作數(shù)不能為立即數(shù)(13)IN指令從端口讀取的數(shù)據(jù)只能放在累加器AL或AX中(14)OUT指令的源操作數(shù)應(yīng)為累加器,目的操作數(shù)應(yīng)為端口地址,且如果端口地址超過0FFH(255),端口地址應(yīng)放在DX寄存器中7、程序片段如下:LEABX,TABLEMOVAL,57MOVAH,0MOVDL,10DIVDLPUSHAXXLATMOVCH,ALPOPAXMOVAL,AHXLATMOVCL,ALMOVBX,CX8、解答:SP的變化情況指令執(zhí)行后SP內(nèi)容PUSHAXSPSP-200FEHPUSHBXSPSP-200FCHPOPBXSPSP+200FEHPOPAXSPSP+20100H9、已知AX=1234H,BX=3456H,CX=5678H,DX=789AH,CF=1則單獨(dú)執(zhí)行下列各條指令后,各相關(guān)寄存器內(nèi)容是什么?題號(hào)指令執(zhí)行后相關(guān)寄存器內(nèi)容(1)AL=0ACH(2)BX=8ACFH(3)AX=EB24H(4)BX=3455H(5)CX=0A988H(6)BL=57H(7)乘積為雙字存放在DX:AX中:DX=03B8HAX=0AD78H(8)商存放在AL中,余數(shù)存放在AH中:AL=26HAH=64H10、參考程序片段如下:;定義數(shù)據(jù)段DATASEGMENTARRAYDB60,65,72,76,77,66,79NEWDB7DUP(0)SUMDB0AVERAGEDB0DATAENDS;程序代碼如下……MOVCX,7MOVSUM,0MOVSI,0NEXT:MOVAL,ARRAY[SI]ADDSUM,AL ;總分存入SUM中ADDAL,5MOVNEW[SI],ALINCSILOOPNEXTMOVAL,SUMMOVAH,0MOVCL,7DIVCLMOVAVERAGE,AL ;平均分存入AVERAGE中11、參考答案:題號(hào)結(jié)果CF(1)AH=04H0(2)BL=36H0(3)AX=0DAF7H0(4)CX=0FFF4H0(5)相關(guān)寄存器內(nèi)容沒有改變0(6)相關(guān)寄存器內(nèi)容沒有改變0(7)DX=0186H0(8)AL=04H0(9)BH=0F0H0(10)AX=4A10H0(11)BX=1E6CH0(12)DX=4186H012、參考答案:(1)程序片段如下:LEASI,STRINGLEADI,GET_CHARMOVCX,26CLDREPMOVSB(2)程序片段如下:先定義一個(gè)附加段,用來存放’Thecomputer’EXTRASEGMENTS2DB‘Thecomputer’EXTRAENDS…LEASI,STRINGLEADI,S2MOVCX,12CLDREPZCMPSBJZNEXT ;若比較的兩個(gè)字符串相同,則跳到NEXT執(zhí)行MOVAL,0 ;若比較的兩個(gè)字符串不相同SUBCL,12NEGCLMOVBL,CL ;比較的次數(shù)存入BL中RETNEXT:MOVAL,1MOVBL,12RET(3)程序片段如下:LEADI,STRING ;被查找的字符串STRING作為目的串MOVAL,’&’MOVCX,26CLDREPNZSCASBJNZEXIT ;如果沒有找到,直接退出DECDI ;找到’&’字符的位置MOVBYTEPTRES:[DI],20H ;用空格字符替換EXIT:RET(4)完整的程序如下*:;這里的DATA既作為數(shù)據(jù)段,又作為附加段,即數(shù)據(jù)段和附加段公用一個(gè)段DATASEGMENTSTRINGDB‘ThePersonalComputer&TV’COUNTEQU$-STRINGCAPSDBCOUNTDUP(0)CHARTDBCOUNTDUP(0)DATAENDSCODESEGMENT ASSUMEDS:DATA,ES:DATA,CS:CODEMAINPROCFAR PUSHDS XORAX,AX PUSHAX MOVAX,DATA MOVDS,AX MOVES,AX ;把字符串中大寫字母傳送到CAPS開始的單元中 LEASI,STRINGLEADI,CAPSMOVCX,COUNTCLDAGAIN1:LODSBCMPAL,41HJBNEXT1CMPAL,5AHJANEXT1STOSBNEXT1:LOOPAGAIN1 ;把字符串中其余字母傳送到CHART開始的單元中 LEASI,STRINGLEADI,CHARTMOVCX,COUNTCLDAGAIN2:LODSBCMPAL,41HJBNEXTCMPAL,5AHJBENEXT2NEXT: STOSBNEXT2:LOOPAGAIN2 ;將STRING字符串清零LEADI,STRINGMOVAL,0MOVCX,COUNTCLDREPSTOSBRETMAINENDPCODEENDSENDMAIN13、完整的程序如下:CODESEGMENT ASSUMECS:CODEMAINPROCFARPUSHDSXORAX,AXPUSHAXXORSI,SI ;SI中存放DX中1的個(gè)數(shù)XORDX,DXMOVAX,1234HMOVCX,16AGAIN:RORAX,1JNCNEXTINCSIPUSHCXDECCLMOVBX,1SHLBX,CLORDX,BXPOPCXNEXT: LOOPAGAINRETMAINENDPCODEENDSENDMAIN程序的運(yùn)行結(jié)果:AX=1234HDX=2C48HSI=0005H,結(jié)果正確14、參考答案:指令跳轉(zhuǎn)類型程序的轉(zhuǎn)向*(1)JMPPROG_N段內(nèi)直接跳轉(zhuǎn)IP=0278H(2)JMPBX段內(nèi)間接跳轉(zhuǎn)IP=(BX)=0300H(3)JMP[BX]段內(nèi)間接跳轉(zhuǎn)IP=((DS)×16+(BX))=(20300H)=4800H(4)JMPFARPROG_F段間直接跳轉(zhuǎn)IP=0ABCHCS=3400H(5)JMPDWORDPTR[BX]段間間接跳轉(zhuǎn)IP=(20300H)=4800HCS=(20302H)=00FFH*如果是段內(nèi)轉(zhuǎn)移,跳轉(zhuǎn)指令只改變IP寄存器的內(nèi)容,前三條跳轉(zhuǎn)指令是段內(nèi)跳轉(zhuǎn);如果是段間跳轉(zhuǎn),跳轉(zhuǎn)指令同時(shí)改變IP和CS寄存器的內(nèi)容,后兩條跳轉(zhuǎn)指令是段間跳轉(zhuǎn)。15、參考答案:寄存器LOOPNEXTLOOPENEXTLOOPNENEXTAX2345223BX471116447CX3210332DX1000110注意:三個(gè)循環(huán)指令LOOP、LOOPE和LOOPNE終止循環(huán)的條件是不一樣的。16、參考答案:中斷向量表的作用:中斷向量表用于存放256種中斷的中斷服務(wù)程序的入口地址,每種類型中斷的中斷服務(wù)程序的入口地址占用4個(gè)字節(jié),存儲(chǔ)CS和IP,總共需要1024個(gè)字節(jié),即1K字節(jié)。中斷向量表位于內(nèi)存的最低1K字節(jié),地址范圍為:00000H~003FFH。類型3的中斷的中斷服務(wù)程序的入口地址存放在:0000CH~0000FH這四個(gè)單元。17、參考答案:如下圖所示解釋:①由于中斷類型號(hào)為2,所以該類型中斷的中斷服務(wù)程序入口地址占據(jù)內(nèi)存最低1K字節(jié)的2×4,2×4+1,2×4+2,2×4+3四個(gè)單元。②前兩個(gè)單元存放中斷服務(wù)程序IP值,即0016H,后兩個(gè)單元存放中斷服務(wù)程序的CS值,即0485H。③由于CS和IP值均為一個(gè)字,所以在存放中斷服務(wù)程序入口地址的CS和IP值時(shí),低位字節(jié)存放在低地址區(qū),高位字節(jié)存放在高地址區(qū)。18、參考答案:(1)中斷類型號(hào)為16(2)該中斷服務(wù)程序的起始地址是:CS:IP=D169H:240BH解釋:①由于中斷向量表中地址為0040H開始存放某類型中斷的中斷服務(wù)程序的入口地址,所以0040H除以4就可以得到該類型中斷的中斷類型號(hào)n,即n=16。②中斷服務(wù)程序的入口地址的CS值存放在0042H單元里,IP值存放在0040H單元里。19、參考答案:中斷類型號(hào)(專用中斷)響應(yīng)中斷的條件0:被0除當(dāng)除數(shù)為0或商超過了寄存器所能表示的范圍,就產(chǎn)生了一個(gè)類型為0的中斷1:單步中斷,由Debug單步調(diào)試引起當(dāng)TF=1,每條指令執(zhí)行后,CPU自動(dòng)產(chǎn)生類型為1的中斷2:NMI不可屏蔽中斷,用來處理緊急事件,如:電源掉電,CPU必須予以響應(yīng)3:斷點(diǎn)中斷,由Debug設(shè)置斷點(diǎn)引起用debug調(diào)試程序時(shí),可用g命令設(shè)置斷點(diǎn),當(dāng)CPU執(zhí)行到斷點(diǎn)時(shí)便產(chǎn)生類型為3的中斷,同時(shí)顯示當(dāng)前各寄存器和有關(guān)存儲(chǔ)器的內(nèi)容及下條要執(zhí)行的指令,供用戶檢查。4:溢出中斷如果當(dāng)前運(yùn)算的結(jié)果產(chǎn)生溢出,則OF=1,下面緊跟溢出中斷指令I(lǐng)NTO,立刻產(chǎn)生一個(gè)類型為4的中斷20、參考答案:MOVCX,N ;4個(gè)時(shí)鐘周期NEXT: NOP ;N×3個(gè)時(shí)鐘周期 NOP ;N×3個(gè)時(shí)鐘周期 LOOPNEXT ;(N-1)×17+1×5個(gè)時(shí)鐘周期由f=5MHz,t=0.2us,延時(shí)5ms需要個(gè)時(shí)鐘周期所以:4+N×3+N×3+(N-1)×17+1×5=25000解得:N=1087第四章(p205~p206)1、參考答案(寫出各變量在內(nèi)存中的存儲(chǔ)狀況)A1DW23H,5678HA2DB3DUP(?),0AH,0DH,’$’A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2,’ABC’))①變量A1占4個(gè)字節(jié),在內(nèi)存中的存儲(chǔ)狀況(以十六進(jìn)制表示,從左到右地址依次增加,以下同):23007856②變量A2占6個(gè)字節(jié),在內(nèi)存中的存儲(chǔ)狀況:0000000A0D24③變量A3占40個(gè)字節(jié),在內(nèi)存中的存儲(chǔ)狀況:3412000090785600(再重復(fù)4遍)④變量A4占60個(gè)字節(jié),在內(nèi)存中的存儲(chǔ)狀況:010241424301024142430102414243010241424301024142430102414243010241424301024142430102414243010241424301024142430102414243(帶下畫線部分重復(fù)4遍)2、參考答案(寫出各指令執(zhí)行后的結(jié)果)指令結(jié)果MOVAX,00FFHAND1122H+3344HAX=0066H,先加后與MOVAL,15GE1111BAL=0FFHMOVAX,00FFHLE255+6/5AX=0FFFFH,先加后比較ANDAL,50MOD4AL=02HORAX,0F00FHAND1234OR00FFHAX=0FFFFH,先與后或,再把計(jì)算的結(jié)果同AX進(jìn)行或運(yùn)算,最終結(jié)果保存在AX中3、參考答案:L=6,L的值實(shí)際就是BUF變量在內(nèi)存中占有的字節(jié)數(shù)。4、參考答案:PLENGTH=22,PLENGTH的值實(shí)際就是三個(gè)變量PAR、PNAME和COUNT在內(nèi)存中占有的總的字節(jié)數(shù)。5、參考答案:AX=1BX=20CX=16、參考答案:AH=00H7、(1)利用中斷調(diào)用產(chǎn)生5秒延時(shí)datasegmentsdb'5secondisgone',13,10,'$'dataendscodesegmentassumecs:code,ds:datamainprocfar movax,data movds,ax movah,2ch int21h ;取得當(dāng)前時(shí)間:ch時(shí)cl分dh秒dl1/100秒 movbl,dhcontinue: movah,2ch int21h subdh,bl cmpdh,5 jbcontinue ;判斷兩次取得時(shí)間間隔是否為5秒鐘,如果不是則繼續(xù)讀取時(shí)間 leadx,s ;如果達(dá)到5秒,則顯示一條信息 movah,9 int21h movax,4c00h int21hmainendpcodeendsendmain(2)利用中斷調(diào)用,在屏幕上顯示1~9之間的隨機(jī)數(shù)思路:利用DOS系統(tǒng)功能調(diào)用得到當(dāng)前時(shí)間,其中的dl寄存器中存放的是1/100秒,可以用來產(chǎn)生隨機(jī)數(shù)。codesegmentassumecs:codemainprocfar movah,2ch int21h moval,dl ;取得1/100秒,不同時(shí)間運(yùn)行該程序時(shí)得到的這個(gè)數(shù)字也不一樣,具有隨機(jī)性 movah,0 movbl,9 ;除以9 divbl ;相除后的余數(shù)ah的范圍為0~8 incah ;加1后得到1~9之間的數(shù) addah,30h ;轉(zhuǎn)換為ASCII碼 movdl,ah movah,2 int21h ;在屏幕上顯示該數(shù) movax,4c00h int21hmainendpcodeendsendmain8、(1)二進(jìn)制到壓縮BCD碼的轉(zhuǎn)換。把AX中的二進(jìn)制數(shù)轉(zhuǎn)換為壓縮的BCD碼,仍然存放AX寄存器中。例如:如果AX中的二進(jìn)制數(shù)為0010011010010100B=2694H,化成十進(jìn)制數(shù)是9876,其壓縮的BCD碼是1001100001110110,用十六進(jìn)制表示是9876H。即這種轉(zhuǎn)換實(shí)際就是把2694H轉(zhuǎn)換為9876H??紤]到AX中能夠存放的最大的四位壓縮BCD數(shù)為9999H,所以在轉(zhuǎn)換之前需要判斷AX中的二進(jìn)制數(shù)不能超過9999,即270FH。第五章(p237~238)1、靜態(tài)RAM和動(dòng)態(tài)RAM的區(qū)別靜態(tài)RAM(SRAM)動(dòng)態(tài)RAM(DRAM)集成度低高容量小大刷新無附加刷新電路速度快較慢應(yīng)用場合高速緩沖存儲(chǔ)器(CACHE)內(nèi)存條2、ROM、PROM、EPROM、EEPROM在功能上各有何特點(diǎn)答案略(見教材p208)3、DRAM的CAS和RAS輸入的用途是什么?答:為了提高DRAM的集成度,減少引腳的數(shù)目,DRAM的地址線分成行地址和列地址兩部分,在對存儲(chǔ)器進(jìn)行訪問時(shí),先由行地址選通信號(hào)RAS把行地址送入行地址鎖存器,再由列地址選通信號(hào)CAS把列地址送入列地址鎖存器,并由讀寫信號(hào)控制數(shù)據(jù)的讀出或?qū)懭搿?、什么CACHE?作用是什么?處于微處理機(jī)中的什么位置?答:CACHE即高速緩沖存儲(chǔ)器,通常由SRAM組成。其作用是:將經(jīng)常訪問的代碼和數(shù)據(jù)保存到由SRAM組成的高速緩沖存儲(chǔ)器中,把不經(jīng)常訪問的數(shù)據(jù)保存到由DRAM組成的主存中,這樣使存儲(chǔ)器系統(tǒng)的價(jià)格降低,同時(shí)又降低了接近零等待的性能,大大的提高了系統(tǒng)的性能。CACHE位于CPU和主存儲(chǔ)器之間。7、用1024×1位的RAM芯片組成16K×8位的存儲(chǔ)器,需要多少芯片?在地址線中有多少位參與片內(nèi)尋址?多少位合成片選信號(hào)?(設(shè)地址總線為16位)答:需要16×8=128片RAM芯片,其中每8片為一組,總共有16組;地址線中有10位參與片內(nèi)尋址;由于有16組芯片,余下的6根地址線中至少需要4根合成片選信號(hào),來選中其中的一組芯片。8、現(xiàn)有一存儲(chǔ)器芯片的容量為512×4位,若要用它組成4KB的存儲(chǔ)器,需要多少這樣的芯片?每塊芯片需要多少尋址線?整個(gè)存儲(chǔ)系統(tǒng)最少需要多少尋址線?答:需要的芯片的數(shù)目為16片,每兩片為一組,共有8組;每塊芯片需要9根尋址線;由于共有8組芯片,至少需要3根地址線合成片選信號(hào)用來選擇8組芯片中的一組;整個(gè)存儲(chǔ)器系統(tǒng)至少需要9+3=12根地址線。9、利用1024×8位的RAM芯片組成4K×8位的存儲(chǔ)器系統(tǒng),用A15~A12地址線用線性選擇法產(chǎn)生片選信號(hào),存儲(chǔ)器地址的分配有什么問題?寫出各芯片的地址分配。答:①需要的芯片的數(shù)目:4片②片內(nèi)尋址需要的地址線的數(shù)目:由于每片RAM芯片內(nèi)部有1024個(gè)存儲(chǔ)單元,所以需要10根地址線用于選中其中某一個(gè)存儲(chǔ)單元,占用地址總線的低10位(A9~A0)③片間尋址需要的地址線的數(shù)目:由于需要4片存儲(chǔ)器芯片,所以至少需要2根地址線進(jìn)行譯碼用于選擇4片芯片中的一片,這樣占用地址總線的A11和A10。余下的地址總線用線性選擇法產(chǎn)生片選信號(hào),這樣A15~A12的電平的不同組合就產(chǎn)生了不同的地址空間,使得存儲(chǔ)器芯片的地址空間產(chǎn)生重疊。如果A15~A12的電平組合為:A15=1,其余的均為0,則4片存儲(chǔ)器芯片的地址范圍分別為:A15A14A13A121#:1000000…0=8000H1000001…1=83FFH2#:1000010…0=8400H1000011…1=87FFH3#:1000100…0=8800H1000101…1=8BFFH4#:1000110…0=8C00H1000111…1=8FFFH10、當(dāng)從存儲(chǔ)器偶地址單元讀一個(gè)字節(jié)數(shù)據(jù)時(shí),寫出存儲(chǔ)器的控制信號(hào)和它們的有效電平(8086工作在最小模式)。答案如下表所示:信號(hào)名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平8086讀寫對象為存儲(chǔ)器,而不是I/O接口BHE高電平從偶地址單元讀寫一個(gè)字節(jié)A0低電平RD低電平讀數(shù)據(jù)11、當(dāng)要將一個(gè)字寫入到存儲(chǔ)器奇地址開始的單元中,列出存儲(chǔ)器的控制信號(hào)和他們的有效電平(8086工作在最小模式)。答案如下表所示:分兩次寫入:第一次:信號(hào)名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平8086讀寫對象為存儲(chǔ)器,而不是I/O接口BHE低電平把這個(gè)字的低位字節(jié)寫入奇地址單元A0高電平WR低電平寫數(shù)據(jù)第二次:信號(hào)名稱有效電平作用MN/MX高電平8086工作在最小模式M/IO高電平8086讀寫對象為存儲(chǔ)器,而不是I/O接口BHE高電平把這個(gè)字的高位字節(jié)寫入接下來的偶地址單元A0低電平WR低電平寫數(shù)據(jù)12、設(shè)計(jì)一個(gè)64K×8的存儲(chǔ)器系統(tǒng),采用74LS138和EPROM2764器件,使其尋址空間范圍為:40000H~4FFFFH。解題步驟如下:①存儲(chǔ)器芯片數(shù)目的確定:由于每片2764芯片為8K×8位,要組成64K×8的存儲(chǔ)器系統(tǒng),需要8片2764芯片,編號(hào)為1#~8#;②片內(nèi)尋址地址線的選擇:由于每片2764芯片為8K×8位,即有8K(213=8K)個(gè)存儲(chǔ)單元,所以需要13根地址線(A12~A0)分別接到芯片的13個(gè)地址引腳,來選通片內(nèi)某個(gè)存儲(chǔ)單元;③片間尋址地址線的分配:A15、A14和A13分別連接到74LS138的C、B、A端,74LS138的8個(gè)輸出分別接到8片2764的CS端;輸入輸出選擇的芯片號(hào)A15A14A13000Y01#001Y12#010Y23#011Y34#100Y45#101Y56#110Y67#111Y78#④余下的地址線的連接:A19~A16和M/IO信號(hào)通過邏輯電路接到74LS138的三個(gè)控制端G1、G2A和G2B,具體的邏輯電路的設(shè)計(jì)與題目給定的尋址空間范圍有關(guān),如果題目沒有給定尋址空間范圍,邏輯電路由讀者自行設(shè)計(jì);⑤根據(jù)尋址空間范圍設(shè)計(jì)控制端的邏輯電路:把最低地址40000H表示成二進(jìn)制形式為:01000000000000000000,可知20位地址總線高4位(A19~A16)的電平組合為A19=0,A18=1,A17=0,A16=0,加上M/IO=1,由此可以設(shè)計(jì)出74LS138的三個(gè)控制端G1、G2A和G2B的邏輯電路。M/IO信號(hào)可以同G1端直接相連;A18反向后與A19通過二輸入負(fù)邏輯與非門(即或門)接到G2A端,A17和A16通過二輸入負(fù)邏輯與非門(或門)連接到G2B端。⑥其他控制信號(hào)的連接:數(shù)據(jù)總線D7~D0直接與存儲(chǔ)器芯片的8根數(shù)據(jù)引腳相連接;RD信號(hào)直接芯片的允許輸出引腳相連。具體的電路圖略。13、用8K×8的EPROM2764,8K×8的RAM6264和74LS138構(gòu)成一個(gè)16K字ROM,16K字RAM的存儲(chǔ)器子系統(tǒng)。8086工作在最小模式,系統(tǒng)帶有地址鎖存器8282,數(shù)據(jù)收發(fā)器8286。畫出存儲(chǔ)器系統(tǒng)與CPU的連接圖,寫出各芯片的地址分配。解題步驟如下:①存儲(chǔ)器芯片數(shù)目的確定:需要EPROM芯片4片,每兩片組成一組(兩片存儲(chǔ)器芯片構(gòu)成一個(gè)字存儲(chǔ)器,一片為奇地址存儲(chǔ)體,另一片為偶地址存儲(chǔ)體),共有2組,編號(hào)為1#和2#;需要RAM芯片4片,每兩片組成一組(兩片存儲(chǔ)器芯片構(gòu)成一個(gè)字存儲(chǔ)器,一片為奇地址存儲(chǔ)器,另一片為偶地址存儲(chǔ)器),共有2組,編號(hào)為3#和4#。②片內(nèi)尋址地址線的選擇:由于每片2764芯片和6364芯片均為8K×8位,即有8K(213=8K)個(gè)存儲(chǔ)單元,所以需要13根地址線(A13~A1)分別接到芯片的13個(gè)地址引腳,來選通片內(nèi)某個(gè)存儲(chǔ)單元。注意:A0不參與片內(nèi)尋址,用來作為奇偶存儲(chǔ)體的選擇信號(hào)。A0與BHE信號(hào)相配合來讀/寫每一組中的奇偶存儲(chǔ)體。③片間尋址地址線的分配:A16、A15和A14分別連接到74LS138的C、B、A端,74LS138的8個(gè)輸出中的4個(gè)輸出端分別選擇4組(包括2組EPROM芯片和2組RAM芯片)存儲(chǔ)器芯片中的一組。輸入輸出選擇的芯片組號(hào)A16A15A14000Y01#001Y12#010Y23#011Y34#④74LS138的三個(gè)控制端G1、G2A和G2B的連接:地址信號(hào)A19、A18、A17和M/IO通過邏輯電路與三個(gè)控制端相連??梢杂勺x者自行設(shè)計(jì)。如果選擇A19=1,A18=0,A17=0,M/IO信號(hào)可以同G1端直接相連;A19反向后接到G2A端,A18和A17通過二輸入負(fù)邏輯與非門(或門)連接到G2B端。⑤二次譯碼:由于每一組存儲(chǔ)器由兩片存儲(chǔ)器芯片組成,一片為奇地址存儲(chǔ)體,另一片為偶地址存儲(chǔ)體,這兩個(gè)存儲(chǔ)體的選擇需要A0和BHE信號(hào)。因此,74LS138的每個(gè)輸出(Y0~Y3)還需要同這兩個(gè)信號(hào)進(jìn)行二次譯碼產(chǎn)生兩個(gè)信號(hào)分別連到該組存儲(chǔ)器的兩個(gè)存儲(chǔ)器芯片的CS端。例如:對于第1組存儲(chǔ)器,Y0與A0通過二輸入或門連到1#的偶地址存儲(chǔ)器芯片的CS端;Y0與BHE通過二輸入或門連到1#的奇地址存儲(chǔ)器芯片的CS端。其他三組的二次譯碼電路以此類推。⑥各組芯片的地址范圍:1#:80000H~83FFFH2#:84000H~87FFFH3#:88000H~8BFFFH4#:8C000H~8FFFFH每組的兩個(gè)存儲(chǔ)器芯片分別占用其中的奇地址和偶地址。14、上題中若從74LS138的Y2開始選擇ROM和RAM芯片,寫出各塊芯片的地址分配。解答:若從74LS138的Y2開始選擇ROM和RAM芯片,那么片間尋址A16、A15和A14組合如下表所示輸入輸出選擇的芯片組號(hào)A16A15A14010Y21#011Y32#100Y43#101Y54#則各組芯片的地址范圍為:1#:88000H~8BFFFH2#:8C000H~8FFFFH3#:90000H~93FFFH4#:94000H~97FFFH第六章(p262)7、某微機(jī)系統(tǒng)中,有8塊I/O接口芯片,每個(gè)芯片占有8個(gè)端口地址,若起始地址為9000H,8塊芯片的地址連續(xù)分布,用74LS138作譯碼器,畫出譯碼電路,并說明每塊芯片的端口地址范圍。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論