《匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)》鄭初華_課后_第1頁(yè)
《匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)》鄭初華_課后_第2頁(yè)
《匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)》鄭初華_課后_第3頁(yè)
《匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)》鄭初華_課后_第4頁(yè)
《匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)》鄭初華_課后_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 進(jìn)制及碼元1進(jìn)制轉(zhuǎn)換 129= 81H= 10000001B=201Q298= 12AH= 100101010B=452Q1000= 3E8H= 1111101000B= 1750Q5DH= 1011101 B= 135 Q= 93 D3E8H= 1111101000 B= 1750Q= 1000 D357Q=11101111 B= 0EF H= 239 D3數(shù)據(jù)表示范圍:一字節(jié)的無(wú)符號(hào)數(shù)表示范圍為0255,有符號(hào)數(shù)(補(bǔ)碼)表示范圍為-l28+127。一個(gè)字的無(wú)符號(hào)數(shù)表示范圍為065535,有符號(hào)數(shù)(補(bǔ)碼)表示范圍為32768+32767。N位二進(jìn)制數(shù)的無(wú)符號(hào)數(shù)表示范圍為0(2N-1)

2、,有符號(hào)數(shù)(補(bǔ)碼)表示范圍為-2N-1(2N-1-1).435H代表的ASCII字符為5,代表十六進(jìn)制數(shù)時(shí)等價(jià)的十進(jìn)制值為53 ,代表壓縮8421BCD碼等價(jià)的十進(jìn)制值為35 ,代表非壓縮8421BCD碼等價(jià)的十進(jìn)制值為5。5FFH代表無(wú)符號(hào)數(shù)時(shí)等價(jià)的十進(jìn)制值為255 ,代表補(bǔ)碼有符號(hào)數(shù)時(shí)等價(jià)的十進(jìn)制值為 一1 ,代表反碼有符號(hào)數(shù)時(shí)等價(jià)的十進(jìn)制值為 一0 ,代表原碼有符號(hào)數(shù)時(shí)等價(jià)的十進(jìn)制值為一l27。6-20的8位二進(jìn)制補(bǔ)碼為 ECH ,原碼為 94H ,反碼為 EBH 。158的16位二進(jìn)制補(bǔ)碼為009EH,原碼為009EH ,反碼為 009EH 。第2章 微機(jī)硬件基礎(chǔ)1計(jì)算機(jī)系統(tǒng)硬件的五大

3、功能部件及其主要功能?答:硬件系統(tǒng)按功能模塊分為運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備。運(yùn)算器主要完成算術(shù)運(yùn)算、邏輯運(yùn)算及移位運(yùn)算,其中主要包括算術(shù)邏輯運(yùn)算單元Arithmetic Logic Unit,ALU)和暫存數(shù)據(jù)(原始、中間、結(jié)果)的寄存器(Register,R)。 控制器實(shí)現(xiàn)對(duì)計(jì)算機(jī)部件的協(xié)調(diào)調(diào)度完成指令的分析執(zhí)行,其中主要有程序計(jì)數(shù)器Program Counter,PC)或叫指令指針(Instruction Pointer,IP)、指令寄存器(Instruction register,IR)、指令譯碼器(Instruction Decoder,ID)、微操作命令發(fā)生器、時(shí)序發(fā)

4、生器等。 存儲(chǔ)器用來(lái)記憶程序與數(shù)據(jù),它分為內(nèi)存和外存,內(nèi)存主要用于存放正在或正待運(yùn)行的程序和數(shù)據(jù),外存用于存放暫時(shí)不運(yùn)行的程序和數(shù)據(jù)。 輸入設(shè)備是實(shí)現(xiàn)將外界的信息輸入計(jì)算機(jī)內(nèi)部的部件,主要有鍵盤(pán)、鼠標(biāo)等。輸出設(shè)備是實(shí)現(xiàn)將計(jì)算機(jī)內(nèi)部的信息輸出的部件,主要有顯示器、打印機(jī)等。3請(qǐng)簡(jiǎn)述計(jì)算機(jī)系統(tǒng)的構(gòu)成,并說(shuō)明軟硬件之間的關(guān)系。答:計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)構(gòu)成,硬件系統(tǒng)包括運(yùn)算器、存儲(chǔ)器、控制器、輸入/輸出設(shè)備.軟件系統(tǒng)包括系統(tǒng)軟件和應(yīng)用軟件.硬件是我們可以看得見(jiàn)摸得著的物理設(shè)備,軟件是運(yùn)行計(jì)算機(jī)硬件上的程序和數(shù)據(jù)的集合.他們之間的關(guān)系:硬件是基礎(chǔ),軟件是靈魂;硬件和軟件相輔相成缺一不可;硬件和

5、軟件互相促進(jìn)發(fā)展.5微機(jī)的主要性能指標(biāo)有哪些? 答:(1)字長(zhǎng)。字長(zhǎng)是指CPU可以同時(shí)運(yùn)算或傳輸?shù)亩M(jìn)制的數(shù)據(jù)位數(shù)。字長(zhǎng)越長(zhǎng),速度越快,精度越高,表示范圍越大。 (2)速度。在微機(jī)的表示速度用的最多的是CPU的主頻,單位為Ml-lz或GHz,但實(shí)質(zhì)上并不一定是主頻越高速度越快,如AMD提出的PR表示法聲稱(chēng)其l3GHz的速龍XP可以達(dá)到l6GHz的P4的速度。表示速度還有另外兩個(gè)單位:次,秒(每秒運(yùn)算次數(shù))、MIPS(百萬(wàn)條指令每秒)。 (3)容量。內(nèi)存容量從原來(lái)的KB已上升到MB,2002年上半年以256MB為主流配置。硬盤(pán)容量從原來(lái)的MB已上升到GB,目前主要配置40GB l00GB的硬盤(pán):

6、 (4)外設(shè)配置。例如顯示器、光驅(qū)、聲卡、音箱、打印機(jī)等。 (5)軟件配置。操作系統(tǒng)及其他系統(tǒng)軟件和應(yīng)用軟件。780868088 CPU為什么要分為BIU和EU兩大模塊? 答:為了使取指和分析、執(zhí)行指令可并行處理,提高CPU的執(zhí)行效率。8086/88CPU有兩大模塊總線(xiàn)接口單元BIU和執(zhí)行單元EU組成。參見(jiàn)教材匯編語(yǔ)言、微機(jī)原理及接口技術(shù)(第2版)231節(jié)“80868088 CPU的內(nèi)部結(jié)構(gòu)”。8簡(jiǎn)述80868088 CPU的兩大模塊BIU和EU的主要功能及組成。 答:如圖22所示。9簡(jiǎn)述80868088 CPU的14個(gè)寄存器的英文名、中文名及主要作用。 答:AX(Accumulator)(A

7、H、AL)累加器,它是匯編編程中最常用的一個(gè)寄存器,主要用于乘除運(yùn)算、BCD運(yùn)算、換碼、IO操作、串操作、中斷調(diào)用等。 BX(Base)(BH、BL)基址寄存器,主要用于存放地址、基址(默認(rèn)相對(duì)于DS段)等。 CX(Counter)(CH、CL)計(jì)數(shù)器,主要用于循環(huán)計(jì)數(shù)、串操作計(jì)數(shù)、移位計(jì)數(shù)(CL)等。DX(Data)(DH、DL)數(shù)據(jù)寄存器,主要用于l6位乘除、問(wèn)接IO、中斷調(diào)用等。 BP(Base Pointer)基址指針,主要用于存放地址、基址(默認(rèn)相對(duì)于SS段)等。 SP(Stack Pointer)堆棧指針(棧頂指針),主要用于存放棧頂?shù)刂贰?SI(Source Index)源變址寄

8、存器,用于存放地址、變址、串操作源變址。 DI(Destination Index)目的變址寄存器,用于存放地址、變址、串操作目的變址。 CS(Code Segment)代碼段寄存器(代碼段),用于存放正在或正待執(zhí)行的程序段的起始地址的高l6位二進(jìn)制數(shù)據(jù),即程序段的段地址。 , DS(Data Segment)數(shù)據(jù)段寄存器(數(shù)據(jù)段),用于存放正在或正待處理的一般數(shù)據(jù)段的起始地址的高l6位二進(jìn)制數(shù)據(jù),即一般數(shù)據(jù)段的段地址。 ES(Extra Segment)附加數(shù)據(jù)段寄存器(附加段),用于存放正在或正待處理的附加數(shù)據(jù)段的起始地址的高l6位二進(jìn)制數(shù)據(jù),即附加數(shù)據(jù)段的段地址。 SS(Stack Se

9、gment)堆棧數(shù)據(jù)段寄存器(堆棧段),用于存放正在或正待處理的堆棧數(shù)據(jù)段的起始地址的高l6位二進(jìn)制數(shù)據(jù),即堆棧數(shù)據(jù)段的段地址。 IP(Instruction pointer)指令指針,它的內(nèi)容始終是下一條待執(zhí)行指令的起始偏移地址,與CS一起形成下一條待執(zhí)行指令的起始物理地址。CS:IP的作用是控制程序的執(zhí)行流程。IP一般會(huì)自動(dòng)加l(邏輯加1、實(shí)際隨指令長(zhǎng)度變化)移向下一條指令實(shí)現(xiàn)順序執(zhí)行;若通過(guò)指令修改CS或IP的值,則可實(shí)現(xiàn)程序的轉(zhuǎn)移執(zhí)行。 PSW(Program Status word)程序狀態(tài)字,它其中有三個(gè)控制標(biāo)志(IF、DF、TF)和6個(gè)狀態(tài)標(biāo)志(SF、PF、ZF、OF、CF、AF

10、)??刂茦?biāo)志是用于控制CPU某方面操作的標(biāo)志,狀態(tài)標(biāo)志是部分指令執(zhí)行結(jié)果的標(biāo)志。11請(qǐng)說(shuō)明80868088 CPU的標(biāo)志位的英文名、中文名及通用填充方法。 答:IF(Interrupt Enable Flag)中斷允許標(biāo)志,用于控制CPU能否響應(yīng)可屏蔽中斷請(qǐng)求,IF=1能夠響應(yīng),IF=0不能響應(yīng)。 DF(Direction Flag)方向標(biāo)志,用于指示串操作時(shí)源串的源變址和目的串的目的變址變化方向,DF-1向減的方向變化,DF=0向加的方向變化。 TF(TrapFlag)陷阱標(biāo)志(單步中斷標(biāo)志),TF=1程序執(zhí)行當(dāng)前指令后暫停,TF=0程序執(zhí)行當(dāng)前指令后不會(huì)暫停。 SF(Sign Flag)符

11、號(hào)標(biāo)志,指令執(zhí)行結(jié)果的最高二進(jìn)制位是0還是l,為0,則SF=0,代表正數(shù);為l,則SF=1,代表負(fù)數(shù)。我們一般是用十六進(jìn)制數(shù)表示,則可以根據(jù)十六進(jìn)制的最高位是落在O7還是落在8F之間,若落在07之間則SF=0否則SF=1。 PF(Parity ChECk Flag)奇偶校驗(yàn)標(biāo)志,指令執(zhí)行結(jié)果的低8位中1的個(gè)數(shù)是奇數(shù)個(gè)還是偶數(shù)個(gè),若為奇數(shù)個(gè)則PF=0,若為偶數(shù)個(gè)則PF=1。 ZF(Zero Flag)零標(biāo)志,指令執(zhí)行結(jié)果是不是為0,若為0則ZF=1,否則ZF=0。 OF(Overflow Flag)有符號(hào)數(shù)的溢出標(biāo)志,指令執(zhí)行結(jié)果是否超出有符號(hào)數(shù)的表示范圍,若超過(guò)則0F=1,否則OF=0。我們可

12、以通過(guò)判斷是否出現(xiàn)以下四種情況之一:正加正得負(fù),正減負(fù)得負(fù),負(fù)加負(fù)得正,負(fù)減正得正。若出現(xiàn)則0F=1否則OF=0 CF(Carry Flag)進(jìn)位借位標(biāo)志無(wú)符號(hào)數(shù)的溢出標(biāo)志),指令執(zhí)行結(jié)果的最高位是否有向更高位進(jìn)位或借位,若有則CF=1,同時(shí)也代表無(wú)符號(hào)數(shù)溢出;若無(wú)則CF=0,也代表無(wú)符號(hào)數(shù)未溢出。 AF(Auxiliary Carry Flag)輔助進(jìn)位借位標(biāo)志,低4位二進(jìn)制是不是有向高位進(jìn)位或借位,若有則AF=1,否則AF=0,其主要用于BCD修正運(yùn)算。12內(nèi)存為什么要分段組織? 答:(1)80868088 CPU中的寄存器只有16位,如果采用它們直接尋址,則尋址能力勢(shì)必限制在64 KB范

13、圍內(nèi),而采用分段組織可以較好地實(shí)現(xiàn)擴(kuò)展CPU的尋址能力。每段的大小可達(dá)64 KB,不同段的組合則可尋址更大的范圍。 (2)使程序與數(shù)據(jù)相對(duì)獨(dú)立,不同存取方式的數(shù)據(jù)也相對(duì)獨(dú)立。 程序:存放于代碼段CS中 堆棧方式:存放于堆棧段SS中 數(shù)據(jù):隨機(jī)方式:存放于數(shù)據(jù)段DS及附加段ES中 (3)便于程序和數(shù)據(jù)的動(dòng)態(tài)裝配,從一個(gè)地方挪到另外一個(gè)地方只要更改一下段寄存器的值即可,段內(nèi)偏移可以不用改變。但內(nèi)存地址采用分段組織增加地址計(jì)算的復(fù)雜度,降低了CPU的執(zhí)行效率。14設(shè)DS=26FCH,BX=108H,SI=9A8H,試求出使DS:BX與ES:Sl指向同一物理地址的ES值。 答:即DS:BX=ES:SI

14、 DS:BX=DS l6+BX=26FCH16+108H=270C8H ES:SI=ES16+SI=ES16+9A8HES=(270C8H一9A8H)l6=2672H15接口、端口、端口地址之間的對(duì)應(yīng)關(guān)系如何? 答:一個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)有很多接口,一個(gè)接口內(nèi)一般有多個(gè)端口,一個(gè)端口可以有多個(gè)端口地址與其對(duì)應(yīng)(這叫重疊地址),一個(gè)端口地址可以對(duì)應(yīng)多個(gè)端口(但需要繼續(xù)區(qū)分才能訪問(wèn),如讀寫(xiě)順序、讀寫(xiě)信號(hào)、數(shù)據(jù)位、索引區(qū)分)。所以通過(guò)端口傳輸信息首先需要區(qū)分端口,區(qū)分端口可通過(guò)端口地址不同來(lái)區(qū)分。20某程序在當(dāng)前數(shù)據(jù)段中存放有兩個(gè)數(shù)據(jù)l234H和5678H,若已知DS=2010H、偏移量分別為3400H和

15、4501H,請(qǐng)寫(xiě)出這兩個(gè)數(shù)據(jù)在存儲(chǔ)器中的物理地址。 答:物理地址l=DS16+EA=2010H16+3400H=23500H 23500H單元存34H,23501H單元存12H 物理地址2=DS16+EA=2010H16+4501H=24601H 24601H單元存78H,24602H單元存56H第3章尋址方式及指令系統(tǒng)1指令是CPU可以理解并執(zhí)行的操作命令,指令由操作碼和操作數(shù)兩部分組成,指令有兩個(gè)級(jí)別,即機(jī)器級(jí)和匯編級(jí)。3指令主要有哪些分類(lèi)方式及其主要類(lèi)別是什么?答:指令分類(lèi)有不同的方式。按操作數(shù)的個(gè)數(shù)將指令分為零地址指令(無(wú)操作數(shù))、一地址指令(只有一個(gè)操作數(shù))、二地址指令(有兩個(gè)操作數(shù)

16、)、多地址指令(多于兩個(gè)操作數(shù));按指令級(jí)別分為機(jī)器指令和匯編指令:按是否轉(zhuǎn)移分為轉(zhuǎn)移指令和順序指令;按功能分為七大類(lèi):傳送類(lèi)、算術(shù)運(yùn)算類(lèi)、位操作類(lèi)、IO類(lèi)、串操作類(lèi)、CPU控制類(lèi)、轉(zhuǎn)移類(lèi);按指令長(zhǎng)度(即指令占用的字節(jié)數(shù))分為l字節(jié)指令、2字節(jié)指令等,80868088指令長(zhǎng)度是不同的,叫變字長(zhǎng),不同的指令有不同的指令長(zhǎng)度,從16字節(jié)均有;按指令執(zhí)行期間取操作數(shù)是否需要與總線(xiàn)打交道分為內(nèi)部指令(不需)和外部指令(需要),類(lèi)似功能的指令內(nèi)部指令比外部指令執(zhí)行速度快,所以在編程時(shí)盡量采用內(nèi)部指令即多用寄存器優(yōu)化程序。4操作數(shù)的尋址方式有哪些?并舉例說(shuō)明其主要特點(diǎn)。 答:操作數(shù)尋址方式主要有立即尋址方

17、式、寄存器尋地址、存儲(chǔ)器尋址方式、端口尋址方式4類(lèi).(1)立即尋址方式:操作對(duì)象是這個(gè)操作數(shù)本身,MOVAL、5(2)寄存器尋地址:操作對(duì)象是寄存器中的內(nèi)容MOVAX、BX(3)存儲(chǔ)器尋址方式:操作對(duì)象是內(nèi)存地址所對(duì)應(yīng)的存儲(chǔ)單元中的內(nèi)容,MOV AX I2000HJ(4)端口尋址方式:操作數(shù)是指明端口的地址、端口地址所對(duì)應(yīng)的端口中的內(nèi)容是操作對(duì)象 IN AX, 46 A,4直接尋址.6設(shè)CS=1000H,DS=2000H, ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500H,則下一條待執(zhí)行指令的物理地址為多少?當(dāng)前棧頂?shù)奈锢淼刂窞?/p>

18、多少?BX代表的存儲(chǔ)單元的物理地址為多少?BP代表的存儲(chǔ)單元的物理地址為多少?ES:BX+SI代表的存儲(chǔ)單元的物理地址為多少? 答:下一條待執(zhí)行指令的物理地址=CS16+IP=1000H16+IOOH=10100H。 當(dāng)前棧頂?shù)奈锢淼刂?SS16+SP=4000H16+200H=40200H。 BX代表的存儲(chǔ)單元物理地址=DS16+BX=2000H X l6+300H=20300H。 BP代表的存儲(chǔ)單元物理地址=SS X l6+BP=4000H16+400H-40400H。ES:BX+SI代表的存儲(chǔ)單元物理地址=ES16+BX+SI=3000H16+300H+500H=30800H7試根據(jù)以下

19、要求,分別寫(xiě)出相應(yīng)的匯編語(yǔ)言指令。 (1)以寄存器BX和Dl作為基址變址尋址方式把存儲(chǔ)器中的一個(gè)字送到DX寄存器。 答:MOV DX,BX+DI (2)以寄存器BX和偏移量VALUE作為寄存器相對(duì)尋址方式把存儲(chǔ)器中的一個(gè)字和AX相加,把結(jié)果送回到那個(gè)字單元。 答:ADD VALUEBX,AX (3)將1字節(jié)的立即數(shù)086H與以Sl作為寄存器間接尋址方式的字節(jié)單元相比較。 答:CMP BYTE PTRSI,086H (4)將BH的高4位與低4位互換。 答:MOV CL,4 ROR BH,CL ;或者ROL BH,CL (5)測(cè)試BX的第3、7、9、12、13位是否同時(shí)為0。 答:TEST BX,

20、3288H; (6)將存放了09數(shù)值的DL寄存器中的內(nèi)容轉(zhuǎn)化為相應(yīng)的09的字符。 答:ADD DL,30H ;或者OR DL,30H (7)將存放了AF字符的AL寄存器中的內(nèi)容轉(zhuǎn)化為相應(yīng)的數(shù)值。 答:SUB AL,37H10指出下列指令錯(cuò)誤的原因。 答:(1)MOV CL,300 ;300超過(guò)字節(jié)數(shù)據(jù)表示范圍 (2)MOV CS,AX ;CS不能作為目的操作數(shù) (3)MOV BX,DL ;數(shù)據(jù)類(lèi)型不匹配 (4)MOV ES,1000H :立即數(shù)不能送給段寄存器 (5)INC BX ;數(shù)據(jù)類(lèi)型不明確 (6)ADD AX,DS :段寄存器不能參加運(yùn)算 (7)TEST BX,CX ;存儲(chǔ)器間接尋址只

21、能使用BX、Sl、Dl、BP四個(gè)之一 (8)SUB BX,BP+SI ;加減兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)操作數(shù) (9)JC SI ;條件轉(zhuǎn)移只有短轉(zhuǎn)移尋址方式 (10)SHL BX ;少給一個(gè)表明移位次數(shù)的操作數(shù),l或CL12分別說(shuō)明下列各組指令中的兩條指令的區(qū)別。 答:(1)MOV AX,TABLE LEA AX,TABLE假設(shè)TABLE為字變量名,則: 左為將TABLE單元的內(nèi)容送AX,右為將TABLE單元的偏移地址送AX假設(shè)TABLE為字節(jié)變量名,則: 左為錯(cuò)誤指令,右為將TABLE單元的偏移地址送AX假設(shè)TABLE為常量名,則:左為將TABLE的內(nèi)容送AX,右為錯(cuò)誤指令(2)AND BL,

22、0FH OR BL,0FH 左為將BL的高4位清0,右為將BL的低4位置1(3)JMP SHORT Ll JMP NEA RPTR Ll 左為短轉(zhuǎn)移,2字節(jié)的指令,轉(zhuǎn)移范圍為一l28+127 右為近轉(zhuǎn)移,l字節(jié)的指令,轉(zhuǎn)移范圍為-32 768+32 767(4)MOV AX,BX MOV AX,BX左為將BX的值送AX右為將BX的值作為相對(duì)DS段的內(nèi)存單元偏移地址,取出字單元值送AX(5)SUB DX,CX CMP DX,CX 左為減法,并將DX-CX的值存入DX中 右為比較,做減法,但不會(huì)將DX-CX的值存入DX中(6)MOV BPSI,CL MOV DS:BPIESI,CL 左邊第操作數(shù)默

23、認(rèn)為相對(duì)于SS段偏移的存儲(chǔ)器操作數(shù) 右邊第一操作數(shù)采用段超越,指定為相對(duì)于DS段偏移的存儲(chǔ)器操作數(shù)13寫(xiě)出判斷AL為正為負(fù)的程序段(請(qǐng)至少用三種方法)。答:方法一:CMP AL,80H ;而后用JAE代表負(fù)數(shù)轉(zhuǎn)移,JB代表正數(shù)轉(zhuǎn)移 方法二:CMP AL,00H ;而后用JGE代表正數(shù)轉(zhuǎn)移,JL代表負(fù)數(shù)轉(zhuǎn)移 方法三:TEST AL,80H ;而后用JNZ代表負(fù)數(shù)轉(zhuǎn)移,JZ代表正數(shù)轉(zhuǎn)移 方法四:OR AL,AL ;而后用JNS代表負(fù)數(shù)轉(zhuǎn)移,JS代表正數(shù)轉(zhuǎn)移 方法五:AND AL,AL ;而后用JNS代表負(fù)數(shù)轉(zhuǎn)移,JS代表正數(shù)轉(zhuǎn)移 方法六:SUB AL,00H ;而后用JGE代表正數(shù)轉(zhuǎn)移,JL代表負(fù)

24、數(shù)轉(zhuǎn)移 方法七:TEST AL,80H :而后用JNS代表正數(shù)轉(zhuǎn)移,JS代表負(fù)數(shù)轉(zhuǎn)移14思考題:試比較以下幾條指令的功能。答:MOV BX,Sl ;將SI的值送給BXMOV BX,SIl ;將SI的值作為偏移地址找到對(duì)應(yīng)的內(nèi)存單元中的值送給BX MOV BX,OFFSETSI ;將Sl的值作為偏移地址找到對(duì)應(yīng)內(nèi)存單元的偏移地址送給BX, 即SI的值送給BX LEA BX,Sl ;將Sl的值作為偏移地址找到對(duì)應(yīng)內(nèi)存單元的偏移地址送給BX, 即Sl的值送給BX LDS BX,SI ;將Sl值作為偏移地址找到對(duì)應(yīng)內(nèi)存單元中的第一個(gè)字值送給BX, 第二個(gè)字值送DS LES BX,Sl :將SI值作為偏

25、移地址找到對(duì)應(yīng)內(nèi)存單元中的第一個(gè)字值送給BX, 第二個(gè)字值送ES15設(shè)B、D為字節(jié)變量,A、C為字變量,且A除B可能會(huì)溢出,試編寫(xiě)無(wú)符號(hào)數(shù)或有符號(hào)數(shù)AB商送C,余數(shù)送D。答:可能會(huì)溢出則要考慮擴(kuò)展數(shù)據(jù)表示能力。 ;無(wú)符號(hào)數(shù)除法 ;有符號(hào)數(shù)除法MOV AL,B MOV AL,BXOR AH,AH CBWMOV BX,AX MOV BX,AXMOV AX,A MOV AX,AXOR DX,DX ;無(wú)符號(hào)擴(kuò)展 CWD ;有符號(hào)擴(kuò)展DIV BX IDIV BXMOV C,AX MOV C,AXMOV D,DL MOV D,DL16編寫(xiě)程序段實(shí)現(xiàn)DX、AX中32位二進(jìn)制數(shù)乘l0 (設(shè)不溢出)。答:;X*

26、10=X*8+X*2,用移位指令實(shí)現(xiàn)SHL AX,1RCL DX,1 :DX,AX=(DX,AX)*2MOV BX,DXMOV BP,AX ;BX,BP轉(zhuǎn)存2倍值SHL AX,lRCL DX,l ;再乘2SHL AX,lRCL DX,1 :再乘2ADD AX,BPADC DX,BX ;8倍+2倍=10倍19程序理解執(zhí)行。(1) MOV AH,一l :AH=FFH MOV AL,180 :AL=B4H MOV BL,15 :BL=0FH ID BL ;AX/BL即:-7615,商-5,余數(shù)-l 程序段執(zhí)行后,AX=0FFFBH。 說(shuō)明:關(guān)鍵是要知道誰(shuí)除以誰(shuí),特別注意是有符號(hào)除還是無(wú)符號(hào)除。(2)

27、 MOV AL,0CH :AL=0CH OR AL,AL ;AL=0CH,CF=0 SBB AL,0F0H :AL=lCH NEG AL :AL=E4H,CF=1 ADC AL,0D4H :AL=B9H TEST AL,35H :AL=B9H,CF=0 程序段執(zhí)行后,CF= 0 ,AL=B9H。 說(shuō)明:第(1)、(2)小題只要理解每條指令功能及對(duì)標(biāo)志位的影響,逐步進(jìn)行即可完成。(3) MOV AL,08H MOV AH,一l :AX=FF08H MOV BX,0F8H :BX=00F8H CMP AX,BX 程序段執(zhí)行后SFOF=1 ,CF= 0 。(4) MOV AX,中 ;AX的二進(jìn)制高位

28、為1,即落在負(fù)數(shù)范圍 MOV BX,AB ;BX的二進(jìn)制高位為0,即落在正數(shù)范圍 CMP AX,BX 程序段執(zhí)行后SFOF=1 ,CF= 0 。 說(shuō)明:第(3)(4)小題實(shí)質(zhì)是考查有符號(hào)數(shù)和無(wú)符號(hào)數(shù)大小的比較。(5) MOV AX,7587 :AX=3538H AND AX,0FOFH :AX=0508H AAD :AX=58=003AH 程序段執(zhí)行后AX= 003A H,即58。 程序段的功能是:將兩位非壓縮BCD碼轉(zhuǎn)化為其對(duì)應(yīng)的十六進(jìn)制數(shù)。 說(shuō)明:可用AAD指令實(shí)現(xiàn)將十位和個(gè)位數(shù)值拼裝還原為099的十六進(jìn)制數(shù)。反之將099的數(shù)值分離成十位和個(gè)位可用AAM指令實(shí)現(xiàn),教材匯編語(yǔ)言、微機(jī)原理及接

29、口技術(shù)(第2版)例510和例513中均有應(yīng)用。20程序語(yǔ)句填空。(1)下列是完成120之間的奇數(shù)累加和存于AL中的程序段: XOR ALAL MOV CX,10 ;循環(huán)次數(shù) MOV BL,1AGAIN:ADD ALBL ADD BL,2 ;步長(zhǎng),參數(shù)改變 LOOP AGAIN(2)下列是在串長(zhǎng)為N的串STR中查找是否有M字符的程序段: MOV Dl,SEG STR MOV ESDI LEA DlSTR CLD MOV CXN MOV AL7M7 REPNE SCASB ;串查找核心指令 JZ FOUND ;轉(zhuǎn)到找到分支(3) 下列是完成1位十六進(jìn)制數(shù)X顯示的程序段: MOV DLX AND D

30、L0FH ADD DL,30H :或OR DL,30H CMP AL9 JBE NEXT ADD DL,7NEXT:MOV AH,02H INT 21H(4) 將DH中的二進(jìn)制數(shù)看成壓縮BCD碼并送出顯示的程序段如下: MOV DL,DH MOV CL,4 ;獲取十位 SHR DL,CL ADD DL,30H MOV AH,2 ;2號(hào)功能調(diào)用顯示十位 INT 21H MOV DL,DH AND DL,0FH ;獲取個(gè)位 OR DL,30H INT 21H22假定AX和BX中的內(nèi)容為帶符號(hào)數(shù),CX和DX的內(nèi)容為無(wú)符號(hào)數(shù),請(qǐng)用比較指令和轉(zhuǎn)移指令實(shí)現(xiàn)以下條件轉(zhuǎn)移:(1)若DX的內(nèi)容超過(guò)CX的內(nèi)容,則

31、轉(zhuǎn)到Ll。答:CMP DX,CX JA Ll(2)若BX的內(nèi)容大于AX的內(nèi)容,則轉(zhuǎn)到L2。答:CMP BX,AX JG L2(3)若DX的內(nèi)容未超過(guò)CX的內(nèi)容,則轉(zhuǎn)到L3。答:CMP DX,CX JNA L3(4)判斷BX與AX相比較是否產(chǎn)生溢出,若溢出則轉(zhuǎn)到L4。答:CMP BX,AX JO L4(5)若BX的內(nèi)容小于等于AX的內(nèi)容,則轉(zhuǎn)到L5。答:CMP BX,AX JLE L5(6)若DX的內(nèi)容小于等于CX的內(nèi)容,則轉(zhuǎn)到L6。答:CMP DX,CX JBE L623假設(shè)BX=0A69H,VALUE變量中存放的內(nèi)容為1927H,寫(xiě)出下列各條指令執(zhí)行后的BX的寄存器中和CF、ZF、SF與OF

32、的值:(1) XOR BX,VALUE(2) AND BX,VALUE(3) OR BX,VALUE(4) SUB BX,VALUE(5) CMP BX,VALUE(6) TEST BX,VALUE答: BX CF ZF SF OF(1) 134EH 0 0 0 0(2) 0821H 0 0 0 0(3) 186FH 0 0 0 0(4) Fl42H 1 0 1 0(5) 0A69H 1 0 1 0(6) 0A69H 0 0 0 0第4章 MASM匯編語(yǔ)言1名詞解釋指令 偽指令 宏指令 匯編語(yǔ)句 匯編語(yǔ)言 匯編源程序 匯編程序 匯編 連接程序 連接答:指令:是CPU可以理解并執(zhí)行的操作命令。偽

33、指令:是用于為匯編程序編譯時(shí)理解程序框架、分配空間(數(shù)據(jù)定義)等的匯編語(yǔ)句。宏指令:實(shí)質(zhì)上就是有多條指令打包而成的一組指令的集合。匯編指令:一行只能寫(xiě)一條匯編語(yǔ)句,一條匯編只能寫(xiě)在一行內(nèi)。匯編語(yǔ)言:語(yǔ)句中的表達(dá)式是在匯編過(guò)程中完成計(jì)算的,即翻譯之后的機(jī)器語(yǔ)言程序中是不包含表達(dá)式的。匯編源程序:主要有四步,錄入源程序、匯編、連接、運(yùn)行、調(diào)試運(yùn)行。(不準(zhǔn)確)匯編程序:編寫(xiě)匯編程序?qū)嵸|(zhì)上就是在記住程序框架的基礎(chǔ)上填寫(xiě)兩空,即數(shù)據(jù)定義部分和功能程序部分。匯編:格式:MASM 盤(pán)符路徑程序基本名.ASM 建議程序基本名不要省略.連接程序:?連接:LINK 盤(pán)符路徑程序基本名.OBJ建議程序基本名不要省略

34、.4請(qǐng)計(jì)算下列表達(dá)式的值。答(1) 3+63*4 mod 3 ;注意運(yùn)算優(yōu)先級(jí),值為5(2) (M GT N) AND N OR M LE N AND M ;M,N中的較小值(3) 5 GT 3 (作為8位和16位二進(jìn)制數(shù)各為多少) ;0FFH和0FFFFH(4) 20 AND 77(作為8位和16位二進(jìn)制數(shù)各為多少) ;04H和0004H(5) 5 AND-1 :5(6) 5 0R-1 ;-l(7) NOT 5 (作為8位和16位二進(jìn)制數(shù)各為多少) ;0FAH和0FFFAH,均為-6(8) 設(shè)有定義如下: A DB 2,4,6,8 B DW 2,4,6,8 C DW 5 DUP(2,4,6,

35、8) 則TYPE A、TYPE B和TYPE C分別為多少? ;1,2,2 LENGTH A、LENGTH B和LENGTH C分別為多少? ;1,1,5 SIZE A、SIZE B和SIZE C分別為多少? ;1,2,107設(shè)有如下定義:A DD l2345678H,1,B,?將改成內(nèi)存中存放次序相同的DB及DW的等價(jià)定義語(yǔ)句。答:A DB 78H,56H,34H,12H,1,3 DUP(0),B,3 DUP(0),4 DUP(?)A DW 5678H,1234H,1,0,B,0, 2 DUP(?)說(shuō)明:最好畫(huà)出內(nèi)存分配示意圖再做這類(lèi)題目。8設(shè)有如下定義:A DB 1101B,34,56Q,

36、78H,4 DUP (?),ABCD請(qǐng)將改成內(nèi)存中存放次序相同的DW及DD的等價(jià)定義語(yǔ)句。答:A DW 220DH,782EH,2 DUP(?),4241H,4443HB DD,782E220DH,?,44434241H10設(shè)置一個(gè)數(shù)據(jù)段DATA,其中連續(xù)存放6個(gè)變量,用段定義語(yǔ)句和數(shù)據(jù)定義語(yǔ)句寫(xiě)出數(shù)據(jù)段:(1)A1為字符串變量:Example。(2)A2為數(shù)值字節(jié)變量:l00,127,-l,80H,35Q,1101110B。(3)A3為4個(gè)0的字變量。(4)A4為A3的元素個(gè)數(shù)。(5)A5為A3占用的字節(jié)數(shù)。(6)A6為Al,A2,A3,A4,A5占用的總字節(jié)數(shù)。答:DATA SEGMENT

37、 A1 DB Example A2 DB l00,127,一l,80H,35Q,ll0111013 A3 DW 4 DUP(0) A4 DW LENGTH A3 A5 DW A4一A3 ;或SIZE A3 A6 DW $一AlDATA ENDS第5章 匯編程序設(shè)計(jì)3編程實(shí)現(xiàn)兩個(gè)字節(jié)變量相乘送字變量的程序。答:DATA SEGMENT A DB l2H B DB 34H C DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,A MUL B MOV C,AX :C=AB MOV AH

38、,4CH ;返回DOS INT 21HCODE ENDS END START4編程實(shí)現(xiàn)從鍵盤(pán)接收兩個(gè)l位十進(jìn)制數(shù)并計(jì)算和顯示它們的積。(如輸入7和9則顯示為:7*9=63)答:CODE SEGMENT ASSUME CS:CODEAGAINl:MOV AH,1 ;錄入第一位 INT 2lH CMP AL,0 JB AGAINl CMP AL,9 JA AGAINl MOV DH,AL SUB DH,30H MOV DL,* ;顯示”*” MOV AH,2 INT 21HAGAIN2:M0V AH,1 ;錄入第二位 INT 21H CMP AL,0 JB AGAIN2 CMP AL,9 JA A

39、GAIN2 SUB AL,30H MUL DH ;相乘 AAM ;分離十位和個(gè)位 MOV DH,AL ;暫存?zhèn)€位 MOV DL,AH :顯示十位 ADD DL,30H MOV AH,2 INT 21H MOV DL,DH ;顯示個(gè)位 ADD DL,30H INT 21H MOV AH,4CH INT 21HCODE ENDS END AGAINl6編程實(shí)現(xiàn)三個(gè)變量值的排序(分別用無(wú)符號(hào)數(shù)和有符號(hào)數(shù)處理)。答:實(shí)現(xiàn)A、B、C三個(gè)變量從小到大排序的程序如下。DATA SEGMENTA DB l2HB DB 34HC DB 23HDATA ENDSCODE SEGMENT ASSUME CS:COD

40、E,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,A CMP AL,B JBE NEXTl ;無(wú)符號(hào),有符號(hào)用JLE XCHG AL,B MOV A,ALNEXTl:CMP AL,C JBE NEXT2 :無(wú)符號(hào),有符號(hào)用JLE XCHG AL,C MOV A,ALNEXT2:MOV AL,B CMP AL,C JBE NEXT3 ;無(wú)符號(hào),有符號(hào)用JIE XCHG AL,C MOV B,ALNEXT3:MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START7編程實(shí)現(xiàn)任意個(gè)有符號(hào)字節(jié)數(shù)據(jù)之和(和要求用字變量存放)。答:DA

41、TA SEGMENT A DB ;任意個(gè)字節(jié)數(shù)據(jù) N EQU $-A ;元素個(gè)數(shù) SUM DW ?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTAR:MOV AX,DATA MOV DS,AX LEA SI,A XOR DX,DX MOV CX,NAGAIN:MOV AL,SI】 CBW ADC DX,AX LOOP AGAIN MOV SUM,DX MOV AH,4CH :返回DOS INT 21HCODE ENDS END START9編寫(xiě)一子程序?qū)崿F(xiàn)從某字?jǐn)?shù)組中選出最大值。答: 求數(shù)組元素最大值過(guò)程名MAX,數(shù)組首址為Sl,元素個(gè)數(shù)為CX,

42、最大值由AX帶出。MAX PROC NEAR PUSH SI PUSH CX MOV AX,S1AGAIN:CMP AX,SI JGE NEXT ;有符號(hào)數(shù),若為無(wú)符號(hào)數(shù)則JAE MOV AX,SINEXT:INC SI INC SI LOOP AGAIN POP CX POP SI RETMAX ENDP10編寫(xiě)一子程序?qū)崿F(xiàn)從某字?jǐn)?shù)組中求出平均值(設(shè)其和不會(huì)超出范圍)。答:;求數(shù)組元素之和函數(shù)SUM,數(shù)組首址為Sl,數(shù)組元素個(gè)數(shù)為CX,和由AX帶出。SUM PROC NEAR PUSH SI PUSH CX XOR AX,AXAGAIN:ADD AX,S1 INC Sl INC SI LOO

43、P AGAIN POP CX POP Sl RET SUM ENDP11從鍵盤(pán)接收一串字符,并另起一行逆序顯示該字符串。答:DATA SEGMENT BUF DB 81,0,81 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,l0 ;接收一串字符 INT 2lH MOV DL,0DH ;顯示回車(chē)換行 MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV CL,BUF+1 ;取接收的字符數(shù) XOR CH,CH

44、 LEA BX,BUF+1 ADD BX,CX ;BX指向串尾AGAIN:MOV DL,BX ;逆向顯示 MOV AH,2 TNT 21H DEC BX LOOP AGAIN MOV AH,4CH INT 2lHCODE ENDS END START第6章 Intel 80868088微處理器1解釋題(1)執(zhí)行部件EU (2)總線(xiàn)接El部件BIU (3)最大工作模式 (4)最小工作模式 (5)指令周期 (6)總線(xiàn)周期 (7)時(shí)鐘周期 (8)等待周期 (9)地址數(shù)據(jù)分時(shí)復(fù)用 (10)時(shí)序答:(1)執(zhí)行部件EU由指令譯碼器(ID)、EU控制邏輯、算術(shù)邏輯運(yùn)算單元(ALU)、通用寄存器(UR)和標(biāo)志

45、寄存器(FR)組成,主要完成分析指令、執(zhí)行指令、EA形成、數(shù)據(jù)暫存和EU控制等功能。(2)總線(xiàn)接口 BIU由指令指針(IP)、指令隊(duì)列、段寄存器(SR)、地址加法器和總線(xiàn)控制邏輯組成,主要完成取指、取數(shù)、存數(shù)、物理地址形成和總線(xiàn)控制等功能。(3)最大工作模式是指MNMX引腳為低電平,它是相對(duì)于最小模式而言的,系統(tǒng)中除了80868088作為處理器外,還包含數(shù)值運(yùn)算協(xié)處理器8087、輸入輸出協(xié)處理器8089,以及總線(xiàn)控制器8288和總線(xiàn)仲裁控制器8289等支持芯片,從而可以完成更復(fù)雜的運(yùn)算或控制任務(wù)。(4)最小工作模式是指MNMX引腳為高電平,系統(tǒng)中只有80868088微處理器,系統(tǒng)中的所有控制信

46、號(hào)都直接由80868088產(chǎn)生。(5)指令周期是指從取出指令到指令執(zhí)行完畢所需要的時(shí)間。(6)??偩€(xiàn)周期是指CPU通過(guò)系統(tǒng)總線(xiàn)和CPU外部器件完成一次信息傳輸(讀信息或?qū)懶畔?過(guò)程所需的時(shí)間。(7)時(shí)鐘周期指的是CPU工作的脈沖的寬度,即CPU頻率的倒數(shù),是CPU的最小計(jì)時(shí)單位。(8)等待周期指的是當(dāng)慢速的外設(shè)在3個(gè)時(shí)鐘周期內(nèi)無(wú)法完成數(shù)據(jù)的讀寫(xiě)操作時(shí),就會(huì)在T3和T4間插入等待周期TW。(9)地址和數(shù)據(jù)共用同一引腳,但它們工作時(shí)間是分離的,即按時(shí)間分時(shí)工作。(10)微機(jī)運(yùn)行過(guò)程中,完成指定任務(wù)所需的各步操作之間的時(shí)間順序及其相關(guān)引腳的定時(shí)關(guān)系即稱(chēng)為工作時(shí)序。48086有哪兩種工作模式?其主要區(qū)

47、別是什么?答:8086有最大和最小兩種工作模式,最小工作模式是指MNMX引腳為高電平,系統(tǒng)中只有80868088微處理器,系統(tǒng)中的所有控制信號(hào)都直接由CPU產(chǎn)生。最大工作模式是指MNMX引腳為低電平,它是相對(duì)于最小模式而言的,系統(tǒng)中除了80868088作為處理器外,還包含數(shù)值運(yùn)算協(xié)處理器8087、輸入輸出協(xié)處理器8089,以及總線(xiàn)控制器8288和總線(xiàn)仲裁控制器8289等支持芯片,從而可以完成更復(fù)雜的運(yùn)算或控制任務(wù)。680868088的基本總線(xiàn)周期由幾個(gè)時(shí)鐘周期組成?IBM PCXT機(jī)中CPU的時(shí)鐘周期是多少?一個(gè)輸入或輸出總線(xiàn)周期是多少個(gè)時(shí)鐘周期?答:80868088的基本總線(xiàn)周期由4個(gè)時(shí)鐘周

48、期組成。mM PCXT機(jī)中CPU的時(shí)鐘周期是210 nS,一個(gè)輸入或輸出總線(xiàn)周期至少是4個(gè)時(shí)鐘周期。說(shuō)明:總線(xiàn)周期CPU的BIU取指令和傳送數(shù)據(jù)需要的時(shí)間。一個(gè)基本的總線(xiàn)周期由4個(gè)時(shí)鐘周期(T狀態(tài))組成,即T1、T2、T3、T4狀態(tài)。(1)在T1狀態(tài),CPU向地址數(shù)據(jù)復(fù)用線(xiàn)(ADl5ADO)和地址狀態(tài)復(fù)用線(xiàn)(AldS6A1dS3)上發(fā)送地址信息,產(chǎn)生本次操作的地址。(2)在T2狀態(tài),CPU從總線(xiàn)上撤銷(xiāo)地址信息,并向地址狀態(tài)復(fù)用線(xiàn)(A19S6AldS3)上發(fā)送本次操作的狀態(tài)信息(S6S3);在讀操作下,地址數(shù)據(jù)復(fù)用線(xiàn)(ADl5ADO)浮空(高阻),為接收數(shù)據(jù)做準(zhǔn)備;在寫(xiě)操作下,地址/數(shù)據(jù)復(fù)用線(xiàn)出

49、現(xiàn)本次操作的數(shù)據(jù)。(3)在T3狀態(tài),地址,狀態(tài)復(fù)用線(xiàn)仍為狀態(tài)信息,地址數(shù)據(jù)復(fù)用線(xiàn)出現(xiàn)本次操作的數(shù)據(jù)(讀或?qū)憯?shù)據(jù))。(4)在有些情況下,外設(shè)或存儲(chǔ)器數(shù)據(jù)傳輸?shù)乃俣雀簧螩PU,則向CPU發(fā)出“未準(zhǔn)備好信號(hào)(READY=0),CPU在T3狀態(tài)后自動(dòng)插入1個(gè)至多個(gè)等待周期TW,直至READY=1為止,進(jìn)入T4狀態(tài)。(5)在T4狀態(tài),總線(xiàn)周期結(jié)束。(6)若CPU不執(zhí)行總線(xiàn)操作(不訪問(wèn)存儲(chǔ)器或IO),系統(tǒng)總線(xiàn)則執(zhí)行空閑周期Ti;在執(zhí)行空閑周期時(shí),總線(xiàn)高4位保留前一個(gè)總線(xiàn)周期的狀態(tài)信息;若前一個(gè)總線(xiàn)周期為寫(xiě)操作,則地址數(shù)據(jù)復(fù)用線(xiàn)仍保留寫(xiě)數(shù)據(jù),若為讀操作,則地址數(shù)據(jù)復(fù)用線(xiàn)浮空。7在T1狀態(tài)下,8086808

50、8數(shù)據(jù)地址線(xiàn)上傳送的是什么信息?用哪個(gè)信號(hào)可將此信息鎖存起來(lái)?數(shù)據(jù)信息是在什么時(shí)候送出的?在IBMPCXT機(jī)中是怎樣使系統(tǒng)地址總線(xiàn)和系統(tǒng)數(shù)據(jù)總線(xiàn)同時(shí)分別傳送地址信息和數(shù)據(jù)信息的?答:在T1狀態(tài)下,80868088數(shù)據(jù)地址線(xiàn)上傳送的是地址信息Al5A0,地址鎖存信號(hào)ALE引腳為高電平時(shí),地址被鎖存。數(shù)據(jù)信息是在DEN信號(hào)有效的時(shí)候送出,即主要在T2至乃期間。地址數(shù)據(jù)分時(shí)共享主要是用到地址鎖存器(ALE有效)鎖存地址送上數(shù)據(jù)總線(xiàn),DEN有效數(shù)據(jù)緩沖器開(kāi)通實(shí)現(xiàn)數(shù)據(jù)總線(xiàn)與CPU相通。8RESET信號(hào)來(lái)到后,80868088系統(tǒng)的CS和IP分別為什么內(nèi)容?答:RESET信號(hào)來(lái)到后,8086,8088系統(tǒng)

51、的CS和IP分別為0FFFFH和0000H。10簡(jiǎn)述讀內(nèi)存的基本過(guò)程。答:讀內(nèi)存的過(guò)程其實(shí)就是取指令(或取數(shù))的過(guò)程,具體如下: (1)CPU先將待取指令(數(shù)據(jù))的地址送上地址總線(xiàn)并譯碼指定到對(duì)應(yīng)的內(nèi)存單元。 (2)CPU再發(fā)出讀信號(hào)。 (3)內(nèi)存單元內(nèi)容的送出指令到數(shù)據(jù)總線(xiàn)。 (4)指令(數(shù)據(jù))通過(guò)數(shù)據(jù)總線(xiàn)送到CPU。 (5)因?yàn)槭侨≈噶?,CPU內(nèi)部存入指令隊(duì)列(取指特有)。13請(qǐng)畫(huà)出8088讀內(nèi)存時(shí)序圖。答:如圖61所示。15請(qǐng)畫(huà)出8086中斷響應(yīng)時(shí)序圖。答:8086中斷響應(yīng)時(shí)序圖如圖63所示。第7章 內(nèi)存組成、原理與接口1存取周期是指(C)。 A存儲(chǔ)器的讀出時(shí)間 B存儲(chǔ)器的寫(xiě)入時(shí)間 C存

52、儲(chǔ)器進(jìn)行連續(xù)讀和寫(xiě)操作所允許的最短時(shí)間間隔 D存儲(chǔ)器進(jìn)行連續(xù)寫(xiě)操作所允許的最短時(shí)間間隔2某計(jì)算機(jī)的字長(zhǎng)是16位,它的存儲(chǔ)器容量是64KB,若按字編址,那么它的最大尋址范圍是(B)。 A64K字 B32K字 C64KB D32KB3某一RAM芯片的容量為5128位,除電源和接地線(xiàn)外,該芯片的其他引腳數(shù)最少應(yīng)為(D)。 A25 B23 C21 D19 地址線(xiàn)9根,數(shù)據(jù)線(xiàn)8根,控制線(xiàn)2根。4EPROM是指(D)。 A隨機(jī)讀寫(xiě)存儲(chǔ)器 B只讀存儲(chǔ)器 C可編程的只讀存儲(chǔ)器 D可擦除可編程的只讀存儲(chǔ)器5下列RAM芯片各需要多少個(gè)地址引腳和數(shù)據(jù)引腳? (1)4K8位 (2)512K4位 (3)1Ml位 (4)

53、2K8位答:SRAM:(1)12和8 (2)19和4 (3)20和1 (4)11和8DRAM:(1)6和16 (2)5和8 (3)10和2 (4)6和16 。6下列ROM芯片各需要多少個(gè)地址引腳和數(shù)據(jù)引腳? (1)164位 (2)32 8位 (3)2564位 (4)512 8位答:(1)4和4 (2)5和8 (3)8和4 (4)9和88計(jì)算機(jī)的內(nèi)存和外存有什么區(qū)別?答:內(nèi)存用于存放當(dāng)前正在運(yùn)行的程序和正在使用的數(shù)據(jù),CPU可以直接對(duì)它進(jìn)行訪問(wèn)。相對(duì)于外存而言,內(nèi)存主要特點(diǎn)是存取速度快、存儲(chǔ)容量較小、成本較高,通常使用半導(dǎo)體存儲(chǔ)器組成。外存用于存放當(dāng)前暫不使用的或需要永久性保存的程序、數(shù)據(jù)和文件

54、,在需要重用時(shí)才成批地調(diào)入,調(diào)出內(nèi)存。外存的主要特點(diǎn)是存儲(chǔ)容量大、成本較低、存取速度較慢,必須使用專(zhuān)門(mén)的設(shè)備(如磁盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、磁帶機(jī))才能訪問(wèn),一般使用磁性介質(zhì)如磁盤(pán)、磁帶)或光介質(zhì)(如光盤(pán))實(shí)現(xiàn)。11用下列芯片構(gòu)成存儲(chǔ)系統(tǒng),各需要多少個(gè)RAM芯片?需要多少位地址作為片外地址譯碼?設(shè)系統(tǒng)為20位地址線(xiàn),采用全譯碼方式。 (1)5124位RAM構(gòu)成l6KB的存儲(chǔ)系統(tǒng)。 (2)10241位RAM構(gòu)成l28KB的存儲(chǔ)系統(tǒng)。 (3)2K4位RAM構(gòu)成64KB的存儲(chǔ)系統(tǒng)。 (4)64K1位RAM構(gòu)成256KB的存儲(chǔ)系統(tǒng)。答:(1)需要64片RAM和11位地址作為片外地址譯碼。 (2)需要l02

55、4片RAM和10位地址作為片外地址譯碼。 (3)需要64片RAM和9位地址作為片外地址譯碼。 (4)需要32片RAM和4位地址作為片外地址譯碼。12已知某微機(jī)控制系統(tǒng)中的RAM容量為4K8位,首地址為4800H,求其最后一個(gè)單元的地址。答:最后一個(gè)單元地址=起始地址+容量一1 4800H+1000H一1=57FFH 、13某微機(jī)系統(tǒng)中內(nèi)存的首地址為3000H,末地址為63FFH,求其內(nèi)存容量。答:容量=最后一個(gè)單元地址一起始地址+1 63FFH3000H+1=3400H=13KB14某微機(jī)系統(tǒng)中ROM為6KB,最后一個(gè)單元的地址為9BFFH,RAM為3KB。已知其地址為連續(xù)的,且ROM在前,R

56、AM在后,求該內(nèi)存系統(tǒng)的首地址和末地址。答:9BFFH-1800H+1=8400H,所以ROM的首地址為8400H、末地址為9BFFH。RAM的首地址為9C00H,末地址為9C00H+C00H一1=A7FFH。16內(nèi)存系統(tǒng)的芯片選擇通常有哪幾種形式,各有何特點(diǎn)?答:有全譯碼法、部分譯碼法和線(xiàn)選法三種。在內(nèi)存譯碼電路中,系統(tǒng)的全部地址總線(xiàn)都參與地址譯碼,對(duì)應(yīng)存儲(chǔ)器芯片中的每一個(gè)存儲(chǔ)字都有唯一的確定地址,稱(chēng)之為“全譯碼”法。如果仍使用集成譯碼器,但片外地址中有一部分不參加對(duì)內(nèi)存的片選譯碼,稱(chēng)為“部分譯碼”法。如果只使用一些基本的邏輯門(mén)電路與門(mén)、或門(mén)和非門(mén)的組合,對(duì)若干位片外地址譯碼實(shí)現(xiàn)對(duì)內(nèi)存的片選

57、,稱(chēng)為“線(xiàn)選法”。19使用2732、6116和74LSl38構(gòu)成一個(gè)存儲(chǔ)容量為12KB ROM(地址00005H02FFFH)、8KB RAM地址(03000H 04FFFH)的內(nèi)存系統(tǒng)。設(shè)系統(tǒng)地址總線(xiàn)20位,數(shù)據(jù)總線(xiàn)8位,全譯碼。請(qǐng)畫(huà)出原理圖。答:習(xí)題l9的內(nèi)存連接原理圖如圖71所示。第8章 輸入輸出(IO)系統(tǒng)1簡(jiǎn)述IO接口的基本功能。 答:IO接口是主機(jī)和外設(shè)的通信橋梁,主要有數(shù)據(jù)的寄存和緩沖功能、對(duì)外設(shè)的控制和監(jiān)測(cè)功能、設(shè)備選擇功能、信號(hào)轉(zhuǎn)換功能、中斷管理或DMA管理功能、可編程功能。2數(shù)據(jù)信息有哪幾類(lèi)?CPU和輸入輸出設(shè)備之間傳送的信息有哪幾類(lèi)?相應(yīng)的端口稱(chēng)為什么端口? 答:數(shù)字信息

58、有數(shù)字量、模擬量和開(kāi)關(guān)量三種。CPU和外設(shè)主要傳送數(shù)據(jù)信息、狀態(tài)信息和控制信息,相應(yīng)的為數(shù)據(jù)端口、狀態(tài)端口和控制端口。5CPU和外設(shè)之間的數(shù)據(jù)傳送方式有哪幾種?各種傳送方式通常用在什么場(chǎng)合? 答:CPU和外設(shè)之間的數(shù)據(jù)傳送方式有以下幾種:無(wú)條件傳送方式、查詢(xún)傳送方式、中斷傳送方式、DMA(直接存儲(chǔ)器存取)方式、lOP(輸入輸出處理機(jī))方式。 無(wú)條件IO:適合于外設(shè)總是處于準(zhǔn)備好或準(zhǔn)備好時(shí)間相對(duì)固定的設(shè)備。 查詢(xún)IO:在傳送前先查詢(xún)一下外設(shè)的狀態(tài),當(dāng)外設(shè)準(zhǔn)備好了才傳送;若未準(zhǔn)備好,則CPU等待。適合較復(fù)雜且準(zhǔn)備好時(shí)間相對(duì)較短的設(shè)備。 中斷IO:采用中斷方式則可以免去CPU的查詢(xún)等待時(shí)間,當(dāng)外設(shè)沒(méi)

59、有準(zhǔn)備好時(shí),CPU可以去做自己其他的工作;當(dāng)外設(shè)準(zhǔn)備好時(shí),主動(dòng)向CPU提出請(qǐng)求。故在中斷方式中,CPU和外設(shè)以及外設(shè)與外設(shè)之間是并行工作。適合較復(fù)雜且準(zhǔn)備好時(shí)間相對(duì)較長(zhǎng)的設(shè)備。 DMA方式IO:直接用硬件控制數(shù)據(jù)在外設(shè)和存儲(chǔ)器之間的傳送,適合快速且成塊的數(shù)據(jù)傳輸。 IOP方式:IOP可以和CPU并行工作,提供高速的DMA處理能力,實(shí)現(xiàn)數(shù)據(jù)的高速傳送,但成本較高,適合要求IO速度很高的場(chǎng)合,如3D圖形顯示等。 ,7在中斷傳送方式中是怎樣實(shí)現(xiàn)CPU與外設(shè)并行工作的? 答:采用中斷傳送方式時(shí),CPU從啟動(dòng)外設(shè)到外設(shè)就緒這段時(shí)間,一直仍在執(zhí)行主程序或者繼續(xù)啟動(dòng)其他外設(shè),而不是像查詢(xún)方式中處于等待狀態(tài),

60、僅僅是在外設(shè)準(zhǔn)備好數(shù)據(jù)傳送的情況下才中止CPU執(zhí)行的主程序,在一定程序上實(shí)現(xiàn)了主機(jī)和外設(shè)之間以及外設(shè)和外設(shè)之間的并行工作。8查詢(xún)方式、中斷方式和DMA方式各自適用于什么范圍? 答:見(jiàn)本章第5題答案。9何為全譯碼方式?何為部分譯碼方式?其優(yōu)、缺點(diǎn)各是什么? 答:全譯碼方式:CPU的全部地址總線(xiàn)都參與地址譯碼,因此一個(gè)端口對(duì)應(yīng)唯一的一個(gè)地址,使用的地址線(xiàn)比較多,電路比較復(fù)雜。部分譯碼方式:CPU輸出的地址信號(hào)只有部分參與地址譯碼,另一部分(一般為高位或低位地址)未參與,因此一個(gè)譯碼輸出對(duì)應(yīng)若干個(gè)端El地址,這就是地址重疊現(xiàn)象。這種方法使用地址線(xiàn)少,電路簡(jiǎn)單。10分析圖81所示的譯碼電路,當(dāng)?shù)刂沸盘?hào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論