




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微型計算機原理及應(yīng)用課程輔導材料(習題解答)馬義德 張在峰 徐光柱 袁敏 李柏年編蘭州大學信息科學與工程學院目 錄第一章 微型計算機發(fā)展概述.1第二章 8086/8088 16位微處理器.2第三章 存儲器技術(shù).6第四章指令與尋址方式.10第五章匯編語言程序設(shè)計.17第六章輸入輸出處理方法.41第七章微型計算機綜合應(yīng)用與發(fā)展.41第一章 微型計算機的發(fā)展概述習題解答1 從第一代計算機第四代計算機體系結(jié)構(gòu)都是相同的,都是由運算器、控制器、存儲器以及輸入輸出組成的、這種體系結(jié)構(gòu)稱為什么體系結(jié)構(gòu)?答:馮諾依曼體系結(jié)構(gòu)。2 一個完整的計算機系統(tǒng)通常包括系統(tǒng)軟件和應(yīng)用軟件、硬件系統(tǒng)和軟件系統(tǒng)、計算機及其外
2、部設(shè)備、系統(tǒng)硬件和系統(tǒng)軟件這四種組合中的哪一種?答:硬件系統(tǒng)和軟件系統(tǒng)。3 通常我們所說的32位機,指的是這種計算機CPU是什么樣的?答:總線的數(shù)據(jù)寬度為32位。4 若某臺微型計算機的型號是486/25,則其中25 的含義是什么?答:25的含義是運算速度是25MB/s。5 操作系統(tǒng)是計算機發(fā)展到第幾代出現(xiàn)的?答:操作系統(tǒng)是計算機發(fā)展到第三代期間出現(xiàn)的。6 決定微機性能的主要是CPU、總線、I/O接口電路的處理速度、價格、耗電量還是質(zhì)量?答:CPU、總線和I/O接口電路的處理速度。7 現(xiàn)代計算機之所以能自動地連續(xù)進行數(shù)據(jù)處理,主要是它有什么功能?答:它有程序計數(shù)器和指令寄存器。8 微機的主要性能
3、指標有哪些?答:主要有CPU的處理速度,總線的數(shù)據(jù)寬度,內(nèi)存數(shù)據(jù)寬度,帶外設(shè)的能力等。9 有些高級語言程序在計算機中執(zhí)行時,采用的是解釋方式。源程序由哪一種程序邊翻譯邊執(zhí)行?答:解釋程序。10在計算機中為什么要使用局部總線?什么是PCI總線?它和AGP總線有什么區(qū)別?答:局部總線是在ISA總線和CPU總線之間增加了一級總線,這樣可將一些高速外設(shè)從ISA總線上卸下來,而通過局部總線直接掛到CPU總線上,使之與高速的CPU相匹配。PCI總線時鐘為33MHz,總線數(shù)據(jù)寬度為32位,并可擴展為64位,具有高速的數(shù)據(jù)通道,是一種局部總線。AGP總線的時鐘為66MHz,傳輸速率也比PCI快,為264 MB
4、/s。目前,AGP總線時鐘發(fā)展到4X66MHZ。第二章 8086/8088 16位微處理器習題解答1 試說明8086/8088CPU中有哪些寄存器?各有哪些用途?答:寄存器組有(1)數(shù)據(jù)寄存器,含AX、BX、CX、DX四個通用寄存器,用來暫時存放計算過程中所遇到的操作數(shù),結(jié)果和其它信息。(2)指針及變址寄存器,含SP、BP、SI、DI四個十六位寄存器,它們可以像寄存器一樣在運算過程中存放操作數(shù)只能以字為單位使用。還用來在段內(nèi)尋址時提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用來專門存放段地址。(4)控制寄存器,包括IP和PSW兩個16為寄存器。IP是指令指針寄存器,用來存放代碼段中
5、的偏移地址。PSW為程序狀態(tài)字寄存器,由條件碼標志和控制標志構(gòu)成。條件碼標志用來紀錄程序運行結(jié)果的狀態(tài)信息。包括OF、SF、ZF、CF、AF、PF??刂茦酥疚挥腥齻€寄存器DF、IF、TF組成。2 是說明8086/8088CPU中標志位寄存器中各標志位的意義?答:OF溢出標志,在運算過程中,如操作數(shù)超出了機器能表示的范圍則置1,否則置0。SF符號標志,運算結(jié)果為負時置1,否則置0。ZF零標志,運算結(jié)果為0置1,否則置0 。CF進位標志,記錄運算是最高有效位產(chǎn)生的進位。AF輔助進位標志,記錄第三位的進位情況。PF奇偶標志位,用來為機器中傳送信息時可能產(chǎn)生的出錯情況提供檢驗條件,當結(jié)果操作數(shù)中的1的
6、個數(shù)為偶時置1。DF方向標志位,在串處理指令中控制處理信息的方向。當DF=1時,每次操作后變址寄存器減量,這樣就使串處理從高地址向低地址方向處理。IF中斷標志,當IF=1時,允許中斷,否則間斷中斷。TF陷阱標志,用于單步操作方式,當TF為1時,每條指令執(zhí)行完后產(chǎn)生陷阱,由系統(tǒng)控制計算機。當TF為0時,CPU正常工作不產(chǎn)生陷阱。3哪些操作只能隱含使用某個段寄存器,而不能用其它段寄存器代替?哪些操作出隱含使用某個段寄存器外,還可以使用其它段寄存器?答:計算程序的地址隱含使用CS,正在執(zhí)行的程序隱含使用SS,而數(shù)據(jù)的地址隱含使用ES和DS。48086/8088系列違紀在存儲器中尋找存儲單元時,邏輯地
7、址由哪兩個部分組成的?答:由段地址和偏移地址兩部分構(gòu)成。5設(shè)IBM PC微機內(nèi)存中某個單元的物理地址是12345H,試完成下列不同的邏輯地址表示:(1) 1234H:_H(2) _H:0345H答:(1)1234H:05H (2) 1200H:0345H6假設(shè)某程序執(zhí)行過程中,(SS)=0950H,(SP)=64H,試問該用戶程序的堆棧底部物理地址是多少?答:(SS)*10H+(SP)=09564H7設(shè)堆棧段寄存器(SS)=0E4BH,程序中設(shè)堆棧長度為200H個字節(jié)。試計算出堆棧底部字單元物理地址,堆棧指針SP初始值(即堆棧中沒有數(shù)據(jù)時)和SP初始值指向的物理地址。答:物理地址為:3E4B0
8、H, SP的初始值為200H,指向的物理地址為:3E6B1H.。8設(shè)某用戶程序(SS)=0925H,SP=30H,(AX)=1234H,(DX)=5678H,問堆棧的地址范圍是多少?如現(xiàn)有兩條進展指令: PUSH AXPUSH DS試問兩指令執(zhí)行后,(SP)=?答:尋址范圍:09250H09280H,SP減4為2CH。98086CPU與 8088CPU由哪些相同之處?又有哪些區(qū)別?答:他們內(nèi)結(jié)構(gòu)基本相同,不同之處僅在于8088有8條外部數(shù)據(jù)總線,因此為準16位。8088有16條外部數(shù)據(jù)總線,兩個CPU的軟件完全兼容,程序的編制也完全相同。108086CPU從功能上分為幾部分?各部分由什么組成?
9、各部分的功能是什么?答:8086CPU從功能上分外兩大部分,一是執(zhí)行部件(EU),二是總線接口部件(BIU)。執(zhí)行部件是由以下四部分組成:(1)4個通用寄存器AX,BX,CX,DX。(2)4個專用寄存器BP,SP,XI,DI。(3)標志寄存器FR。(4)算術(shù)邏輯部件ALU。功能是負責執(zhí)行所以的指令,向總線接口部件(BIU)提供指令執(zhí)行的結(jié)果數(shù)據(jù)和地址,并對通用寄存器和標志寄存器進行管理。 總線接口部件(BIU)由以下部件組成:(1)四個段寄存器,代碼段寄存器,數(shù)據(jù)段寄存器,附加段寄存器,堆棧段寄存器。(2)指令指針寄存器。(3)地址加法器。(4)指令領(lǐng)隊列。功能:執(zhí)行外部總線周期,負責存儲器與
10、I/O端口傳送數(shù)據(jù)。也就是負責CPU與存儲器和外設(shè)之間的信息交換。128086系統(tǒng)中的物理地址是如何的得到的?假如CS=2000H,IP=2100H,其物理地址是多少?答:8086系統(tǒng)的物理地址是將段地址乘10H,加上偏移地址。 2000H*10H+2100H=22100H (物理地址)13 什么叫總線周期?一個總線周期包括多少時鐘周期,什么情況下要插入TW等待周期?插入多少個TW取決于什么因素?答:CPU把總線接口部件BIU完成一次訪問存儲器或外設(shè)操作所需要的時間稱為一個總線周期,它包括了四個時鐘周期。 當訪問存儲器或外設(shè)時,存儲器或外設(shè)不能及時配合CPU傳輸數(shù)據(jù)時,存儲器或外設(shè)通過“REA
11、DY”信號在T3之前向CPU發(fā)出一個“數(shù)據(jù)未準備好”信號,CPU會在T3之前插入一個或多個等待時間周期。當存儲器或外設(shè)準備好數(shù)據(jù),通過“READY”發(fā)“準備好”信號,CPU接受此信號后,會自動脫離TW狀態(tài)進入T4狀態(tài)。因此,插入多少個TW由“READY”信號決定。14 什么是最大模式?什么是最小模式?用什么方法將8086/8088置于最大模式和最小模式?答:最小模式,即系統(tǒng)中只有一個微處理器,所有的總線控制信號都直接由8086/8088,因此,系統(tǒng)總線控制電路被減到最小。 最大模式,即系統(tǒng)里包括兩個或多個微處理器,主處理器就是8086/8088,其它均為協(xié)助主處理器工作的協(xié)處理器。它主要用于中
12、等規(guī)?;虼笮偷?086/8088系統(tǒng)中。 將8086/8088的第33腳接地時,系統(tǒng)處于最大模式,接5V時,為最小模式15 什么是地址鎖存器?8086/8088系統(tǒng)中為什么要用地址鎖存器?鎖存的是什么信息? 答:地址鎖存器就是一個暫存器,它根據(jù)控制信號的狀態(tài),將總線上地址代碼暫存起來。8086/8088數(shù)據(jù)和地址總線采用分時復用操作方法,即用同一總線既傳輸數(shù)據(jù)又傳輸?shù)刂?。當微處理器與存儲器交換信號時,首先由CPU發(fā)出存儲器地址,同時發(fā)出允許鎖存信號ALE給鎖存器,當鎖存器接到該信號后將地址/數(shù)據(jù)總線上的地址鎖存在總線上,隨后才能傳輸數(shù)據(jù)。16 8086/8088系統(tǒng)中的8286是什么器件?起什
13、么作用? 答:8286為總線驅(qū)動器(收發(fā)器,雙向數(shù)據(jù)緩沖器),當一個系統(tǒng)中所含外設(shè)接口較多時,用來增強數(shù)據(jù)總線的驅(qū)動能力。17 8086/8088系統(tǒng)用的時鐘發(fā)生器產(chǎn)生哪些信號? 答:時鐘發(fā)生器8284A產(chǎn)生恒定的時鐘信號(CLK),復位信號(RESET),準備就緒信號(READY)。18 8086/8088的執(zhí)行部件EU由多少個通用寄存器,多少個專用寄存器,幾個標志寄存器和什么組成? 答:執(zhí)行部件由以下幾部分組成:1、四個通用寄存器 AX BX CX DX;2、四個專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI;3一個標志寄存器FR;4算術(shù)邏輯部件
14、ALU。19 8086/8088的指令隊列長度分別為多少個字節(jié)? 答:8086的指針隊列為6個字節(jié),8088的指針隊列有4個字節(jié)。20 8086與8088的16位寄存器中,有多少個寄存器可拆分為8位寄存器使用。它們分別是什么?它們又被統(tǒng)稱為什么? 答:在8086與8088的16位寄存器中,有四個寄存器可拆分為八位寄存器使用,它們分別是AX,BX,CX,DX。統(tǒng)稱為通用寄存器。21 PU從主存取出一條指令并執(zhí)行該指令的時間稱( ),它通常用若干個( )來表示,而后者又包括若干個( )。 指令周期 機器周期 時鐘周期 答:12322 計算機時鐘脈沖的頻率稱為什么?,其倒數(shù)又稱為什么? 答:計算機的
15、時鐘脈沖頻率稱為時鐘頻率,即主頻。其倒數(shù)為時鐘周期。22 計算機主頻為8MHz,每個機器周期平均含兩個時鐘周期,每條指令平均有2.5個機器周期,則該機器的平均指令執(zhí)行速度為多少MIPS?答:該機器執(zhí)行一條指令所用時間為:1/8*10-6*2*2.5=5/8*10-6t;平均指令執(zhí)行速度為: 1/ (5/8)=1.6MIPS。24 8086/8088的存儲器可以尋址1MB的空間,在對I/O進行讀寫操作時,20位地址中只有哪些位是有效的?這樣,I/O地址的尋址空間為多大?答:在對I/O進行讀寫操作時,20位地址中只有A0A15有效,I/O地址的尋址空間為216B。25 指令隊列的作用是什么?答:指
16、令隊列存放內(nèi)存中取下的將被執(zhí)行的下一條或下幾條指令,使CPU執(zhí)行完一條指令就可立即執(zhí)行下一條,提高CPU的效率。26 8086CPU可訪問的存儲空間為1MB,實際上分為奇數(shù)存儲體和偶數(shù)存儲體兩部分,對奇數(shù)存儲體的選擇信號是什么,對偶數(shù)存儲體的選擇信號是什么,對每個存儲體單元的選擇信號是什么? 答:奇數(shù)存儲體的選擇信號為BHE,偶數(shù)存儲體的選擇信號為A0。對每個存儲體內(nèi)存儲單元的選擇信號是READY。27 8086有兩種工作方式,即最小模式和最大模式,它由什么信號決定?最小模式的特點是什么?最大模式的特點是什么? 答:8086的兩種工作模式由信號決定。當接入5V時,系統(tǒng)處于最小模式,只有一個微處
17、理器,總線控制邏輯部件被減到最小。當接地時,系統(tǒng)處于最大模式,實現(xiàn)多處理器控制系統(tǒng),主要應(yīng)用于大中型系統(tǒng)。28 當=0,=0,=1時,CPU完成的操作是什么? 答:CPU完成一個對I/O設(shè)備端口的讀操作。29 8088與8086在軟件上是否完全兼容? 答:8086/8088內(nèi)部都采用16位字進行操作及存儲器尋址。因此兩者軟件完全兼容。第三章 存儲器技術(shù)習題解答1 半導體存儲器從器件原理的角度可分為哪兩種類型?答:半導體存儲器從器件原理角度分為ROM和RAM兩種。2 磁盤和磁帶屬于哪種類型的存儲器?答:磁盤和磁帶同屬于外存儲器。3 半導體靜態(tài)RAM和半導體動態(tài)RAM分別靠什么原理存儲信息?答:靜
18、態(tài)RAM:用一個觸發(fā)器電路作為1個Bit的基本存儲單元,每個觸發(fā)器能置位存儲1,或復位存儲0。 動態(tài)RAM:每Bit只需一個管子和一個電容,存放的信息是1還是0,決定于電容中是否儲存電荷。4 為保證動態(tài)RAM中的內(nèi)容不消失,需要進行哪一步操作?答:由于電容有漏放電現(xiàn)象,為保證RAM中的內(nèi)容不消失,必須另外設(shè)計一種電路,定時(一般為2ms),使電容上泄放的電荷得到補充,即進行內(nèi)存刷新。5 存儲器片內(nèi)的地址譯碼有哪兩種方式?答:存儲芯片內(nèi)的地址譯碼有全地址譯碼和獨立譯碼兩種。6 存儲器是計算機系統(tǒng)的記憶設(shè)備,它主要用來存儲哪些東西?答:存儲器用來存儲地址、數(shù)據(jù)和程序。7 存儲字長和存取周期分別指什
19、么?答:存儲字長是指存放在一個存儲單元中的二進制代碼個數(shù)。存取周期是指存儲器進行連續(xù)讀寫操作所允許的最短時間間隔。8 和外存相比,內(nèi)存的特點有哪些?答:和外存相比,內(nèi)存的特點是容量小、速度快、成本高。9 某計算機主存容量為2048KB,這里的2048KB表示多少個字節(jié)?答:2048KB表示2048*1024個Byte,即2(11)*2(10)=2(21)個。10 某計算機的主存為3KB,則內(nèi)存地址寄存器需多少位就足夠了?答:主存為3KB,則地址線有12條,所以內(nèi)存地址寄存器需12位。11 若256KB的SRAM具有8條數(shù)據(jù)線,則它具有多少條地址線? 答:具有18條地址線。12 計算機的內(nèi)存可采
20、用ROM、RAM、磁盤中的哪幾種?EPROM指的又是什么?主存和CPU之間增加高速緩存的目的是什么?采用虛擬存儲器的目的是什么?答:可采用ROM和RAM。EPROM指可編程并可擦除的ROM,兼有ROM和RAM的功能。由于主存儲器的存/取時間比CPU慢一個數(shù)量級,從而嚴重影響了微型機的速度,而RAM線路的讀寫時間可與CPU的處理速度處于同一個數(shù)量級,因此在主存儲器和CPU之間增加高速緩沖存儲器Cache,以提高機器的速度。虛擬存儲器的容量比實際物理上主存儲器的容量大,軟件可根據(jù)需要將所需的存儲區(qū)域調(diào)入物理存儲器,也可以提高處理速度。13 某以8088為CPU的微型計算機內(nèi)存RAM區(qū)為00000H
21、3FFFFH,若采用6264、62256、2164或21256各需要多少片芯片?答: 采用6264(8k*8bit)需要32片;采用62256(32k*8bit)需要8片;采用2164 (64k*1bit) 需要32片;采用21256 (256k*1bit)需要8片。14 利用全地址譯碼將6264芯片接在8088的系統(tǒng)總線上,其所占地址范圍為BE000HBFFFFH,試畫連接圖。解答:采用全地址譯碼連接圖如下:圖314 電路圖 15 試利用6264芯片,在8088系統(tǒng)總線上實現(xiàn)00000H03FFFH的內(nèi)存區(qū)域,試畫連接電路圖。解答:采用全地址譯碼。圖314 電路圖16 敘述EPROM的編程過
22、程,說明EEPROM的編程過程。答: PROM的編程有兩種方式,即標準編程和靈巧編程兩種方式。標準編程的過程為:使Vcc為+5v ,Vpp加上+21v 。而后,加上要編程的單元地址,數(shù)據(jù)線加上要寫入的數(shù)據(jù),使CE保持低電平,OE為高電平。當上述信號穩(wěn)定后,在PGM端加上50±5ms的負脈沖。這樣就將一個字節(jié)的數(shù)據(jù)寫到了相應(yīng)的地址單元中。重復上述過程,即可將要寫入的數(shù)據(jù)逐一寫入相應(yīng)的存儲單元中。靈巧編程方式要比標準方式快5倍左右。當加上 Vcc= 5v, Vpp=21v 后,對一個寫入地址,用1ms編程脈沖進行編程,接著進行校驗,如不成功,再加1 ms編程脈沖。最多可進行15次,若15
23、次仍不能將數(shù)據(jù)正確寫入,則認為芯片本身已損壞。若某一單元用X次1 編程脈沖已正確寫入,校驗到這種情況后,立即對該單元加入4倍 X的編程覆蓋脈沖,則認為該單元編程已完成。重復上述過程,將所有要寫入的單元編程。將數(shù)據(jù)寫入EEPROM有兩種方式,即字節(jié)方式和自動頁寫入。在對EEPROM編程時,可以在線操作。17 有2片6116,現(xiàn)欲將它們接到8088系統(tǒng)中去,其地址范圍為40000H到40FFFH,試畫連接電路圖。利用寫入某數(shù)據(jù)并讀出比較,若有錯,則在DL中寫入01H;若每個單元均對,則在DL寫入EEH,試編寫此檢測程序。解答:連接電路圖見下一頁。18 若用全地址譯碼將EPROM 2764(128或
24、256)接在首地址為A0000H的內(nèi)存區(qū),試畫出電路圖。解答:電路圖如下: 圖318電路圖19 第15題中,若8088的時鐘頻率為5MHz,6264芯片的讀寫時間均200 ns,試粗略估計該芯片能否直接使用。答:8088的時鐘頻率為5MHZ,則讀寫時間為200ns,與6264芯片的讀寫時間相同,若該芯片直接使用,容易出錯。17 連接電路圖如下: 圖317電路圖第四章 指令與尋址方式習題解答1試分別說明下列各指令中源操作數(shù)和目的操作數(shù)使用的尋址方式:() AND AX,0FFH() AND BL,OFFH() MOV DS,AX() CMP SI,CX() MOV DS:0FFH,CL() SU
25、B BPSI,AH() ADC AX,0ABHBX() OR DX,-35BXDI() PUSH DS() CMC答: 目的操作數(shù) 源操作數(shù) (1)寄存器直接尋址 立即數(shù)尋址 (2)寄存器直接尋址 直接尋址 (3)寄存器直接尋址 寄存器直接尋址(4)寄存器間接尋址 寄存器直接尋址(5)直接尋址 寄存器直接尋址(6)基址變址尋址 寄存器直接尋址 (7)寄存器直接尋址 寄存器相對尋址 (8)寄存器直接尋址 基址變址相對尋址 (9)無 寄存器直接尋址 (10)隱含尋址2試分別指出下列各指令語句的語法是否有錯,如有錯,指明是什么錯誤。() MOV BXBP,AX() TEST BP,BL() ADD
26、SI,ABH() AND DH,DL() CMP CL,1234H() SHR BXDI,3() NOT CX,AX() LEA DS,35SI() INC CX,1() PUSH 45DI答:(1)應(yīng)將BP,BX其中之一該為SI或DI (2)正確 (3)ABH改為0ABH (4) (5)是字操作,CL改為CX (6)移位數(shù)大于1時,應(yīng)用CL (7)NOT指令只有一個操作數(shù) (8)LEA指令的源操作數(shù)應(yīng)為一內(nèi)存單元地址 (9)此指令不用指出1 (10)45改為45H 3下面兩條指令執(zhí)行后,標志寄存器中CF,AF,ZF,SF和OF分別是什么狀態(tài)?MOV DL,86ADD DL,0AAH答: 01
27、01,0110 + 1010,1010 = 1,0000,0000 CF=1 AF=1 ZF=1 SF=1 OF=14在8086/8088CPU中可用于作地址指針的寄存器有哪些?答:有BX,CX,DX,BP,SI,DI (IP,SP,)5已知(DS)09lDH,(SS)1E4AH,(AX)1234H,(BX)=0024H,(CX)5678H,(BP)0024H,(SI)=0012H,(DI)0032H,(09226H)00F6H,(09228H)1E40H,(1E4F6H)091DH。下列各指令或程序段分別執(zhí)行后的結(jié)果如何?() MOV CL,20HBXSI() MOV BPDI,CX() L
28、EA BX,20HBXSIMOV AX,2BX() LDS SI,BXDIMOV SI,BX() XCHG CX,32HBXXCHG 20HBXSI,AX答(1) (CX)=56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H; (5) (09226H)=1234H,(AX)=5678H.6已知(SS)09l 5H,(DS)0930H,(SI)0A0H,(DI)1C0H,(BX)80H,(BP)470H?,F(xiàn)有一指令“MOV AX,OPRD”,如源操作數(shù)的物理地址為095C0H,試用四種不同尋址方式改寫此指令(要求上述每個已知
29、條件至少要使用一次)。答:(1)MOV AX,BP (2)MOV AX,BP+DI+80H (3)MOV AX,DI+0100H MOV AX,SI+0220H (4)MOV AX,02C0H 7試按下列要求分別編制程序段:() 把標志寄存器中符號位SF置1。() 寄存器AL中高低四位互換。() 由寄存器AX,BX組成一個32位帶符號數(shù)(AX中存放高十六位),試求這個數(shù)的負數(shù)。() 現(xiàn)有三個字節(jié)存儲單元A,B,C。在不使用ADD和ADC指令的情況下,實現(xiàn)(A)+(B)=>C。() 用一條指令把CX中的整數(shù)轉(zhuǎn)變?yōu)槠鏀?shù)(如原來已是奇數(shù),則CX中數(shù)據(jù)不變,如原來是偶數(shù),則(CX)+1形成奇數(shù))
30、。答:(1)MOV AH, 80HSAHF (2 ) MOV BL, 0FH AND BL, AL SAL 4 SHR 4 XOR AL, BL (3 ) MOV DX, 7FH SUB AX, DX MOV DX, 0FFH SUB DX, BX MOV BX, DX (4 ) MOV AH, FFH MOV BL, B SUB AH, BL MOV BH, A SUB BH, AH MOV C, BH (5 ) MOV AX, CX NOT AX TEST 01H JNZ NEXT HLT NEXT: INC CX HLT8試給出下列各指令的機器目標代碼:() MOV BL,12HSI()
31、 MOV 12HSI,BL() SAL DX,1() ADD 0ABHBPDI,1234H答: (1) 10001010,11011111=8ADF; (2) 10001000,01011100=885C; (3) 11010001,11100010=D1E2; (4) 10000001,10000001=8181.9執(zhí)行下列指令后: STR1 DW AB STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT寄存器CL的值是多少?寄存器AX的值是多少?答:寄存器CL的值為12H,寄存器AX的值為4241H。10JMP FAR PT
32、R ABCD(ABCD是符號地址)的轉(zhuǎn)移方式是什么?答:JMP FAT PTR ABCD 的轉(zhuǎn)移方式是段間直接轉(zhuǎn)移.11MOV AX,ES:BXSI的源操作數(shù)的物理地址是多少(用CS、DS、ES、SS、BX、SI表示出即可)?答 :MOV AX,ES:BX SI的源操作數(shù)的物理地址是ES×10H+BX+SI.12運算型指令的尋址和轉(zhuǎn)移型指令的尋址,其不同點在什么地方?答:運算型指令的尋址包括立即數(shù)尋址。寄存器尋址,直接尋址,寄存器間接尋址,寄存器相對尋址和基址加變址尋址方式。這些尋址方式中,CS,IP寄存器的內(nèi)容不會發(fā)生變化。 轉(zhuǎn)移型指令的尋址方式包括段內(nèi)直接尋址,段內(nèi)間接尋址,段間
33、直接尋址,段間間接尋址。在后三種尋址方式中,CS,IP寄存器的內(nèi)容發(fā)生改變。13如果TABLE為數(shù)據(jù)段中0032單元的符號名,其中存放的內(nèi)容為1234H,當執(zhí)行指令”MOV AX,TABLE”和”LEA AX,TABLE”后,(AX)中的內(nèi)容分別為多少?答:執(zhí)行MOV AX , TABLE后(AX)=1234H執(zhí)行LEA AX, TABLE 后 (AX)=0032.14.當指令”SUB AX,BX”執(zhí)行后,CF=1,說明最高有效位發(fā)生了什么現(xiàn)象?對無符號數(shù)來說,操作結(jié)果發(fā)生了什么現(xiàn)象?答:執(zhí)行指令SUB AX,BX后,CF=1,說明最高位發(fā)生了借位對無符號來說,操作結(jié)果發(fā)生了溢出。15.在10
34、00H單元中有一條二字節(jié)指令JMP SHORT LAB,如果其中的偏移量分別為30H、6CH、0B8H,則轉(zhuǎn)向地址LAB的值分別為多少?答:轉(zhuǎn)向地址LAB的值分別為:1000×10H+2H+30H=10032H1000×10H+2H+6CH=1006EH1000×10H+2H+B8H=100BAH16下面兩個語句的區(qū)別在什么地方: X1 EQU 1000H X2=1000H答:“EQU”和“=”都可以作為賦值語句,但二者的區(qū)別是EQU偽操作中的表達式是不許重復定義的,而“=”偽操作則許重復定義。17.調(diào)用指令CALL可進行哪四種調(diào)用?答:調(diào)用指令CALL可進行段內(nèi)
35、直接調(diào)用,段內(nèi)間接調(diào)用。段間直接調(diào)用。段間間接調(diào)用。18.(AL)=9AH,(BL)=0BCH,當分別進行下列指令運算后,請寫出標志位ZF、PF、CF、SF的內(nèi)容:( P8050)(1) ADD AL,BL(2) SUB AL,BL(3) AND AL,BL(4) OR AL,BL(5) XOR AL,BL答:(1)ADD AL,BL 1 0 0 1 1 0 1 0+)1 0 1 1 1 1 0 0 1,0 1 0 1 0 1 1 0 ZF=0,PF=1 CF=1 SF=0(2)SUB AL,BL 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0)1 0 1 1 1 1 0 0
36、+)0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 ZF=0 PF=1 CF=1 SF=1(3)AND AL,BL 1 0 0 1 1 0 1 0AND)1 0 1 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=0 1 0 0 1 1 0 0 0 (4)OR AL,BL 1 0 0 1 1 0 1 0 OR)1 0 1 1 1 1 0 0 ZF=0 PF=1 CF=0 SF=0 1 0 1 1 1 1 1 0(5)XOR AL,BL 1 0 0 1 1 0 1 0XOR)1 0 1 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=0 0 0 1 0 0 1 1
37、 019.若(SP)=2800H,試用兩種方法實現(xiàn)(SP)=27FEH答:方法一:執(zhí)行一次PUSH指令 PUSH CX方法二:執(zhí)行一次PUSHF指令20.試簡述LES REG,SRC所完成的操作?答:LES REG,SRC 是將SRC和SRC+1中的偏移量送到REG 寄存器,而將SRC+2和SRC+3中的段基址送ES段寄存器。21.關(guān)系操作符EQ、NE、LT、GT、LE、GE計算的結(jié)果為邏輯值,試問0FFFFH代表假,0代表真是否正確?答:0FFFFH代表真。0表示結(jié)果為假。22.堆棧存取操作是以字節(jié)為單位的試分析當堆棧存入數(shù)據(jù)和從堆棧取出數(shù)據(jù)時SP的變化?答:當堆棧存入一個字時,(SP)&l
38、t;SP2從堆棧中取出一個字時(SP)<SP+223.試編寫匯編程序段完成以下功能:將1000個字符的字符串從內(nèi)存的BUFFER1搬移到內(nèi)存的BUFFER2中去。解答 LEA SI,BUFFER1 LEA DI,BUFFER2 MOV CX,1000 CLDREP MOVSb24.試編寫匯編程序段完成以下功能:將數(shù)據(jù)段中100個字的數(shù)據(jù)塊BLOCK1搬移到同一個數(shù)據(jù)段的BLOCK2中去。解答: LEA SI,BLOCK1 LEA DI,BLOCK2 MOV CX,100 CLDREP MOVSW25.試編寫匯編程序段完成以下功能:比較DEST和SOURCE中的500個字節(jié),找出第一個不相
39、同的字節(jié),如果找到,則將SOURCE中的這個數(shù)送AL中。解答: CLD LEA DI,DEST LEA SI,SOURCE MOV CX,500 REPE CMPB JCXZ NEXT DEC SI MOV AL,BYTE PTRSINEXT:HLT26.試編寫匯編程序段完成以下功能:求最大值,若自BLOCK開始的內(nèi)存緩沖區(qū)中,有100個帶符號的數(shù),希望找到其中最大的一個值,并將它放到MAX單元中。解答:MOV BX,OFFSET BLOCKMOV AX,BXMOV CX,100ADD BX,2F0:CMP AX,BXJGE F1MOV AX,BXF1:ADD BX,2JCXZ NEXTJMP
40、 F0MOV MAX,AXNEXT:HLT27.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,執(zhí)行指令PUSH AX后,存放數(shù)據(jù)21H的物理地址是多少?解答: 07H 21H <原棧頂20100 存放數(shù)據(jù)21H的物理地址是200FFH第五章 匯編語言程序設(shè)計習題解答1 指出下列指令的錯誤: (1)MOV AH,BX (2)MOV BX,SI (3)MOV AX,SIDI (4)MOV MYDATBXSI,ES:AX (5)MOV BYTE PTRBX,1000 (6)MOV BX,OFFSET MYDATSI (7)MOV CS,AX答:(1)MOV AH,BX
41、AH 為八位,BX為16位 (2)MOV BX,SI 兩個操作數(shù)不能都是存儲單元 (3)MOV AX,SIDI 一個操作數(shù)中不能用兩個變址寄存器 (4)MOV MYDAT BXSI,E8:AX ES ES 后應(yīng)為一個變址寄存器,表示偏移量 (5)MOV BYTE PTRBX,1000 BYTE 說明時BX進行字節(jié)操作。 而1000為字 (6)MOV BX,OFFSET MYDAT SI OFFSET 為取某個地址的偏移量,故后面不應(yīng)用SI,而應(yīng)是一個符號地址。 (7)MOV 是數(shù)據(jù)尋址,不應(yīng)用程序段寄存器CS.2下面哪些指令是非法的?(假設(shè)OPl,OP2是已經(jīng)用DB定義的變量) (1)CMP
42、l5,BX (2)CMP OPl,25 (3)CMP OPl,OP2 (4)CMP AX,OPl答:(1) CMP 15,BX 非法,兩個操作數(shù)不能一個為字,一個為字節(jié) (2)CMP OP1,25 正確 (3)CMP OP1,OP2 正確 (4)CMP AX,OP1非法,兩操作數(shù)不能一個為字,一個為字節(jié)3假設(shè)下列指令中的所有標識符均為類型屬性為字的變量,請指出下列指令中哪些是非法的?它們的錯誤是什么? (1)MOV BP,AL (2)MOV WORD_OPBX+4*3DI,SP (3)MOV WORD_OPl,WORD_OP2 (4)MOV AX,WORD_OPlDX (5)MOV SAVE_
43、WORD,DS (6)MOV SP,SS:DATA_WORDBXSI (7)MOV BXSI,2(8)MOV AX,WORD_ OPl+WORD_OP2(9)MOV AX,WORD_ OPl-WORD_OP2+100(10)MOV WORD_ OPl,WORD_ OPl-WORD_OP2答:(1)MOV BP,AL 非法,BP為16位 AL為八位 (2)MOV WORD_OPBX+4*3DI ,SP 正確(3)MOV WORD_OP1 ,WORD_OP2 非法,兩個操作數(shù)不能都是變量(4)MOV AX , WORD_OP1DX 非法,DX應(yīng)改為BX,BP,SI或DI,則為寄存器相對尋址。(5)
44、MOV SAVE_WORD ,DS 非法,未指明數(shù)據(jù)段地址DS的偏移量(6)MOV SP,SS:DATA_WORDBXSI 非法,SS與BX,SI不匹配,SS的偏移量用SP(7)MOV BXSI ,2 正確(8) MOV AX,WORD_OP1+WORD_OP2 正確(9) MOV AX, WORD_OP1WORD_OP2+100 正確(10)MOV WORD_OP1,WORD_OP1WORD_OP2 非法4假設(shè)VAR1和VAR2為字變量,LAB為標號,試指出下列指令的錯誤之處: (1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LABSI (4)JNZ VARl(
45、5)JMP NEAR LAB答:(1) ADD VAR1,VAR2 ADD指令中,目的操作數(shù)必須是寄存器或存儲單元。 (2)SUB AL,VAR1 AL為8位的,而VAR為字變量16位 (3)JMP LAB SI 格式不對,LAB處應(yīng)為一偏移量,而不是標號。 (4)JNZ VAR1 JNZ 為非零轉(zhuǎn)移,應(yīng)轉(zhuǎn)移到某個程序段,故后面應(yīng)為一個標號。 (5)JMP NEAR LAB 段內(nèi)直接轉(zhuǎn)移,格式應(yīng)為 JMP NEAR PTR LAB5畫圖說明下列語句所分配的存儲空間及初始化的數(shù)據(jù)值。BYTE-VAR DB BYTE,12,-12H,3DUP(0,?,2DUP(1,2),?)WORD-VAR DW
46、 5DUP(0,1,2),?,-5,BY,TE, 256H解答:(1)BYTE-VAR (2)WORD-VAR 42 59 54 45 OC F4H 0 - 1 2 1 2 - 0 - 1 2 1 2 - 0 - 1 2 1 2 - 00 00 01 00 02 00 00 00 01 00 02 00 - - FB FF 59 42 45 54 56 02 B YTE12-12H6試列出各種方法,使匯編程序把5150H存入一個存儲器字中。解答:(1) DW 5150H;(2)DB 50H,51H;(3)DB PQ7請設(shè)置一個數(shù)據(jù)段DATASG,其中定義以下字符變量或數(shù)據(jù)變量。FLD1B為字符串變量:personal computer;FLD2B為十進制數(shù)字節(jié)變量:32;FLD3B為十六進制數(shù)字節(jié)變量:20;FLD4B為二進制數(shù)字節(jié)變量:01011001;FLD5B為數(shù)字的ASCII字符字節(jié)變量:32654;FLD6B為10個零的字節(jié)變量;FLD7B為零件名(ASCII碼)及其數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冰柜采購合同范本
- 促進健康教育活動的實施計劃
- 基于風險評估的保安管理計劃
- 社區(qū)鄰里親情關(guān)懷計劃
- 《貴州豐聯(lián)礦業(yè)有限公司畢節(jié)市陰底鄉(xiāng)瑞興煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》專家組評審意見
- 2025年云南貨運上崗資格證模擬考試
- 亞洲的人文環(huán)境課件-+2024-2025學年人教版七年級地理下冊
- 2025年莆田道路運輸貨運考試題庫
- 2025年鐵嶺貨運運輸駕駛員從業(yè)資格證考試試題
- 第12課+水陸交通的變遷高二歷史統(tǒng)編版(2019)選擇性必修2
- 醫(yī)療器械委托生產(chǎn)控制程序
- 法院電子卷宗制度
- 光伏發(fā)電施工勞務(wù)分包合同模板
- CRRT治療原理、模式選擇
- 成都市2024屆高中畢業(yè)班第二次診斷性監(jiān)測-2024年全國各地高考語文模擬卷作文導寫講練
- 醫(yī)保統(tǒng)計信息管理制度
- 達格列凈治療心衰機制
- 2024年保育員(初級)證考試題庫及答案
- 40篇英語短文搞定3500個單詞 正文
- 2024年度《冠心病》全套課件(完整版)
- 正面吊安全操作規(guī)程培訓
評論
0/150
提交評論