微型計(jì)算機(jī)原理與應(yīng)用習(xí)題集及答案_第1頁(yè)
微型計(jì)算機(jī)原理與應(yīng)用習(xí)題集及答案_第2頁(yè)
微型計(jì)算機(jī)原理與應(yīng)用習(xí)題集及答案_第3頁(yè)
微型計(jì)算機(jī)原理與應(yīng)用習(xí)題集及答案_第4頁(yè)
微型計(jì)算機(jī)原理與應(yīng)用習(xí)題集及答案_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微型計(jì)算機(jī)原理與應(yīng)用

習(xí)題集目錄

第1章概述...............................................................2

第2章計(jì)算機(jī)中的數(shù)制與編碼..............................................2

第3章微處理器及其結(jié)構(gòu)..................................................4

第4章8086/8088CPU指令系統(tǒng).............................................8

第5章匯編語(yǔ)言程序設(shè)計(jì).................................................15

第6章存儲(chǔ)器系統(tǒng).......................................................24

第7章中斷技術(shù).........................................................27

第8章輸入/輸出接口技術(shù)................................................32

第9章串行通信技術(shù)及其接口芯片.........................................37

模擬試題(一).........................................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

模擬試題(二).........................................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

模擬試題(三).........................................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

河南理工大學(xué)2006--2007學(xué)年第1學(xué)期..................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

近年來(lái)某高校碩士研究生入學(xué)試題.........................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

近年某高校研究生入學(xué)考試試題...........................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

近年某高校攻讀碩士學(xué)位研究生試題.......................錯(cuò)誤!未定義書簽。

參考答案................................................錯(cuò)誤!未定義書簽。

第1章概述

一、填空題

1.電子計(jì)算機(jī)主要由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五

部分組成。

2.運(yùn)算器和控制器控成在一塊芯片上,被稱作CPU。

3.總線按其功能可分?jǐn)?shù)據(jù)總線、地址總線和捽制總線三種不同類型的總線。

4.計(jì)算機(jī)系統(tǒng)與外部設(shè)備之間相互連接的總線稱為系統(tǒng)總線(或通信總線):用于

連接微型機(jī)系統(tǒng)內(nèi)各插件板的總線稱為系統(tǒng)內(nèi)總線(板級(jí)總線);CPU內(nèi)部連接各寄存器

及運(yùn)算部件之間的總線稱為內(nèi)部總線。

5.迄今為止電子計(jì)算機(jī)所共同遵循的工作原理是程序存儲(chǔ)和程序控制的工作原理。

這種原理又稱為馮?諾依曼型原理。

二、簡(jiǎn)答題

1.簡(jiǎn)述微處理器、微計(jì)算機(jī)及微計(jì)算機(jī)系統(tǒng)三個(gè)術(shù)語(yǔ)的內(nèi)涵。

答:微處理器是微計(jì)算機(jī)系統(tǒng)的核心硬件部件,它本身具有運(yùn)算能力和控制功能,對(duì)系

統(tǒng)的性能起決定性的影響。微處理器一般也稱為CPU;微計(jì)算機(jī)是由微處理器、存儲(chǔ)器、I/O

接口電路及系統(tǒng)總線組成的裸機(jī)系統(tǒng)。微計(jì)算機(jī)系統(tǒng)是在微計(jì)算機(jī)的基礎(chǔ)上配上相應(yīng)的外部

設(shè)備和各種軟件,形成一個(gè)完整的、獨(dú)立的信息處理系統(tǒng)。三者之間是有很大不同的,微處

理器是微型計(jì)算機(jī)的組成部分,而微型計(jì)算機(jī)又是微型計(jì)算機(jī)系統(tǒng)的組成部分。

2.什么叫總線?為什么各種微型計(jì)算機(jī)系統(tǒng)中普遍采用總線結(jié)構(gòu)?

答:總線是模塊與模塊之間傳送信息的一組公用信號(hào)線。

總線標(biāo)準(zhǔn)的建立使得各種符合標(biāo)準(zhǔn)的模塊可以很方便地掛在總線上,使系統(tǒng)擴(kuò)展和升級(jí)

變得高效、簡(jiǎn)單、易行。因此微型計(jì)算機(jī)系統(tǒng)中普遍采用總線結(jié)構(gòu)。

3.微型計(jì)算機(jī)系統(tǒng)總線從功能上分為哪三類?它們各自的功能是什么?

答:微型計(jì)算機(jī)系統(tǒng)總線從功能上分為地址總線、數(shù)據(jù)總線和控制總線三類。地址總線

用于指出數(shù)據(jù)的來(lái)源或去向,單向;數(shù)據(jù)總線提供了模塊間數(shù)據(jù)傳輸?shù)穆窂剑p向:控制總

線用來(lái)傳送各種控制信號(hào)或狀態(tài)信息以便更好協(xié)調(diào)各功能部件的工作。

第2章計(jì)算機(jī)中的數(shù)制與編碼

一、填空題

1.寫出下列原碼機(jī)器數(shù)的真值;若分別作為反碼和補(bǔ)碼時(shí),其表示的真值又分別是多

少?

(1)(01101110):進(jìn)制燃碼=(+1101110):退制真俗=(+110)卜進(jìn)制真值

(01101110):進(jìn)制反碼—(+1101110):進(jìn)制耳他=(+110)卜進(jìn)制真值

(01101110):進(jìn)制補(bǔ)碼=(+1101110)?進(jìn)制白色=(+110)卜進(jìn)制真色

⑵(10110101)網(wǎng),尸(-0110101)r.amwta—(—53)十進(jìn)制真值

(10110101):建制反。產(chǎn)(-1001010)二拉制Kta=(-74)na制我的

(10110101)(-1001011):i4制其他=(-75)l

2.寫出下列二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼(設(shè)字長(zhǎng)為8位。

(1)(+1010110).aMflffi=(010l0110)tew=(01010110)的=(01010110)*邯

⑵(-1010110),?)?=(11010110)瑜=(10101001)如,=(10101010)/閨

3.Lx]補(bǔ)=78H,貝IJ[-X]補(bǔ)=(88)Ho

4.下面各二進(jìn)制數(shù)分別代表原碼、反碼和補(bǔ)碼時(shí),其等效的十進(jìn)制數(shù)值為多少?

(1)(mimi):進(jìn)制原瑪=(—127)卜進(jìn)制真假

(mimi):進(jìn)制反瑪=(10)十進(jìn)制其假

dmmi):進(jìn)制補(bǔ)碼=(-1)十進(jìn)洞真值

⑵(10000000)二進(jìn)制原碼=(+0)十進(jìn)制同伯

(10000000)二進(jìn)制反碼=(—127)十進(jìn)制我他

(10000000)??選制補(bǔ)碼=(—128)t?進(jìn)制其值

5.已知Xl=+0010100,Yl=+0100001,X2=-0010100,Y2=-0100001,試計(jì)算下列

各式(設(shè)字長(zhǎng)為8位)。

(1)[X,+Y,]tt=[X小卜+[Y,]tt=00010100+00100001=0()110101

(2)因一丫2體=[X)]tt+[-Y2](1.=00010100+00100001=00110101

(3)[X2-Y2]M=[X2]tt+[-Y,](|.=11101100+00100001=00001101

H

(4)[X2+Y2](r=[X2]tt+[Y2]=11101100+11011111=11001011

6.將下列十六進(jìn)制數(shù)分別轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十進(jìn)制和BCD數(shù)。

(1)(5D.BA)|6=(0101,1101.1011,1010)2=(135,564)8=(93.7265625)10

=(1001,0011.0111,0010,0110,0101,0110,0010,0101)BCD

(2)(1001.0101,1)2=(9.34375)10=(11.26)8=(9.58))6

=(1001.0011,0100,0011,0111,0101)BICD

7.寫出下列字符的ASCII碼。

⑴9=(39H)ASCH碼⑵C'=(43H)ASCIIw

(3)$=(24H)ASCII瑪⑷'空格,=(20H)ASCIIw

,回車,=

⑸'b'=(62H)ASCII(6)(ODH)ASCII研

⑺'換行'=(OAH)ASCII碼(8)‘報(bào)警符’(07H)ASCII四

二、選擇題

1.下列無(wú)符號(hào)數(shù)中最小的數(shù)是(A)。

A.(01A5)HB.(1,1011,0101)BC.(2590)DD.(3764)o

2.下列有符號(hào)數(shù)中最大的數(shù)是(D)。

A.1002HB.1001001100101100BC.25700D.9614D

3.在機(jī)器數(shù)(A)中,零的表示形式是唯一的。

A.補(bǔ)碼B.原碼C.補(bǔ)碼和反碼D.原碼和反碼

4.8位二進(jìn)制數(shù)補(bǔ)碼的數(shù)值表示范圍為(A)。

A.-128?+127B.-127-+127

C.—129-+128D.-128-+128

5.若下列字符碼(ASCII)中有奇偶校驗(yàn)位,但沒(méi)有數(shù)據(jù)錯(cuò)誤,采用偶校驗(yàn)的字符碼

是(D)。

A.11001011B.11010110C.11000001D.11001001

6.B9H可以看成(ABD)。

A.無(wú)符號(hào)數(shù)185B.帶符號(hào)數(shù)一71的補(bǔ)碼

C.上進(jìn)制數(shù)99的組合BCD碼D.帶符號(hào)數(shù)一57的原碼

第3章微處理器及其結(jié)構(gòu)

一、填空題

1.8086/8088CPU執(zhí)行指令中所需操作數(shù)地址由EU計(jì)算出16位偏移量部分送

BRL,由BIU最后形成一個(gè)成位的內(nèi)存單元物理地址。

2.8086/8088CPU在總線周期的Ti時(shí)刻,用AWS6?AWS3輸出20位地址信息的最高

工位,而在其他時(shí)鐘周期,則輸出狀態(tài)信息。

3.8086/8088CPU復(fù)位后,從0FFFF0H單.元開(kāi)始讀取指令字節(jié),一般這個(gè)單元在ROM

區(qū)中,在其中設(shè)置一條跳轉(zhuǎn)指令,使CPU對(duì)系統(tǒng)進(jìn)行初始化。

4.8086系統(tǒng)的存儲(chǔ)體系結(jié)構(gòu)中,1MB存儲(chǔ)體分個(gè)庫(kù),每個(gè)庫(kù)的容量都是512K字節(jié),

其中和數(shù)據(jù)總線D”?D8相連的庫(kù)全部由奇地址單元組成,稱為高位字節(jié)庫(kù),并用畫已作

為此庫(kù)的選通信號(hào)。

5.8086/8088系統(tǒng)中,可以564K個(gè)段起始地址,任意相鄰的兩個(gè)段起始地址相距」£

個(gè)存儲(chǔ)單元。

6.用段基值及偏移量來(lái)指明內(nèi)存單元地址的方式稱為邏輯地址。

7.通常8086/8088CPU中當(dāng)EU執(zhí)行一條占用很多時(shí)鐘周期的指令時(shí),或者在多處理器

系統(tǒng)中在交換總線控制時(shí)會(huì)出現(xiàn)空閑狀態(tài)。

8.8086CPU使用16根地址線訪問(wèn)I/O端口,最多可訪問(wèn)64K個(gè)字節(jié)端口,使用20根

地址線訪問(wèn)存儲(chǔ)單元,最多可訪問(wèn)1M個(gè)字節(jié)單元。

9.CPU取一條指令并執(zhí)行該指令的時(shí)間稱為指令周期,它通常包含若干個(gè)總線周

期,而后者又包含有若干個(gè)時(shí)鐘周期。

二、單項(xiàng)選擇題

1.某微機(jī)最大可尋址的內(nèi)存空間為16MB,其CPU的地址總線至少應(yīng)有(E)條。

A.26B.28C.20D.22E.24

2.8086/8088CPU的RESET引腳至少應(yīng)維持(A)個(gè)時(shí)鐘周期的正脈沖寬度才能有效復(fù)

位。

A.4B.5C.2D.3

3.當(dāng)RESET信號(hào)進(jìn)入高電平狀態(tài)時(shí),將使8086/8088CPU的(D)寄存器初始化為

OFFFFHo

A.SSB.DSC.ESD.CS

4.8086/8088CPU與慢速存儲(chǔ)器或I/O接口之間進(jìn)行數(shù)據(jù)傳輸,為了使傳送速度匹配,

有時(shí)需要在(C)狀態(tài)之間插入若干等待周期TW。

A.T1和T2B.T2和T3C.T3和T4D.隨機(jī)

5.8086/8088CPU中標(biāo)志寄存器的主要作用是(D)。

A.檢查當(dāng)前指令的錯(cuò)誤B.糾正當(dāng)前指令執(zhí)行的結(jié)果與錯(cuò)誤

C.決定是否停機(jī)D.產(chǎn)生影響或控制某些后續(xù)指令所需的標(biāo)志

6.8086最小模式下的存儲(chǔ)器讀周期中地址鎖存發(fā)生在總線周期的(A)時(shí)刻。

A.T1B.T2C.T3D.T4

7.指令指針I(yè)P的作用是(A)。

A.保存將要執(zhí)行的下一條指令的地址B.保存CPU要訪問(wèn)的內(nèi)存單元地址

C.保存運(yùn)算器運(yùn)算結(jié)果內(nèi)容D.保存正在執(zhí)行的一條指令

8.8086CPU有兩種工作模式,最小模式的特點(diǎn)是(A)。

A.CPU提供全部控制信號(hào)B.由編程進(jìn)行模式設(shè)定

C.不需要8282收發(fā)器D.需要總線控制器8288

三、簡(jiǎn)答題

1.8086/8088CPU分為哪兩個(gè)部分?如何協(xié)調(diào)工作?

答:EU是執(zhí)行部件,主要的功能是執(zhí)行指令和形成有效地址。BIU是總線接口部件,

與片外存儲(chǔ)器及I/O接口電路傳輸數(shù)據(jù),主要功能是形成實(shí)際地址、預(yù)取指令和存取操作數(shù)。

EU經(jīng)過(guò)BIU進(jìn)行片外操作數(shù)的訪問(wèn),BIU為EU提供將要執(zhí)行的指令。EU與BIU可分別

獨(dú)立工作,當(dāng)EU不需BIU提供服務(wù)時(shí),BIU可進(jìn)行填充指令隊(duì)列的操作。

2.8086/8088CPU的地址總線有多少位?其尋址范圍是多少?

答:8086/8088CPU的地址總線共20位,最大可尋址1MB空間。

3.8086/8088CPU使用的存儲(chǔ)器為什么要分段?怎么分段?

答:8086/8088為16位CPU,其內(nèi)部的ALU、相關(guān)的地址寄存器(如SP、1P以及BX、BP、

SLDI)等都是16位的,因而對(duì)存儲(chǔ)器地址的處理也只能是16位操作,即8086/8088的直接

尋址能力在64KB范圍內(nèi)。而實(shí)際上8086/8088有20條地址線,它的最大尋址空間為1MB。這

就產(chǎn)生了一個(gè)矛盾,即如何用16位的地址寄存器去表示一個(gè)20位的存儲(chǔ)器物理地址?

實(shí)際使用的解決辦法是:將1MB大小的存儲(chǔ)空間分為若干“段”,每段不超過(guò)64KB。這

樣,一個(gè)20位的物理地址就可以用“16位段基址:16位偏移量”的形式(稱為邏輯地址)來(lái)表

示了,其中段地址存放在8086/8088的段寄存器中。

4.8086/8088CPU中有幾個(gè)通用寄存器?有幾個(gè)變址寄存器?有幾個(gè)指針寄存器?通

常哪幾個(gè)寄存器亦可作為地址寄存器使用?

答:8086/8088CPU中共有:

8個(gè)16位的通用寄存器AX、BX、CX、DX、BP、SP、SLDI:

2個(gè)變址寄存器SI、DI;

2個(gè)指針寄存器BP、SP;

其中BX、BP、SI、DI亦可作地址寄存器。

5.Intel8086與8088有何區(qū)別?

答:8086與8088的區(qū)別主要表現(xiàn)在以下幾個(gè)方面:

第一、8086的指令隊(duì)列可以容納6個(gè)字節(jié),每個(gè)總線周期在存儲(chǔ)器中取出2個(gè)字節(jié)指令代

碼填入隊(duì)列。而8088只能容納4個(gè)字節(jié),且每個(gè)總線周期只能取出1個(gè)字節(jié)指令代碼。

第二、8086外部數(shù)據(jù)總線寬度為16位,8088外部數(shù)據(jù)總線寬度只有8位。注意:8086和

8088外部數(shù)據(jù)總線的寬度不同將導(dǎo)致擴(kuò)展主存儲(chǔ)器及輸入/輸出接口時(shí)系統(tǒng)地址線和數(shù)據(jù)線

連接方式的不同。

第三、其他不同的引腳定義:(1)ADi5~ADo,在8086中為地址/數(shù)據(jù)復(fù)用,而在8088

中ADi5~AD8改為Ai5~A8只作地址線用;⑵34、28號(hào)引腳定義不同。

6.8086/8088CPU工作在最小模式時(shí):當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),要利用哪些信號(hào)?當(dāng)CPU

訪問(wèn)外設(shè)接口時(shí),要利用哪些信號(hào)?

答:8086/8088CPU工作在最小模式時(shí),若訪問(wèn)存儲(chǔ)器,需用到以下信號(hào):M/而、ALE、

DT/R.DEN、READY、~BHE.WR、麗、ADo?ADi5、A19/S6?A16/S3。若訪問(wèn)外設(shè),需

用到以下信號(hào):Mild,ALE、DT/R>DEN>READY.WR,RD.ADo-AD15?

7.試指出下列運(yùn)算后的各個(gè)狀態(tài)標(biāo)志,并說(shuō)明進(jìn)位標(biāo)志和溢出標(biāo)志的區(qū)別:

(1)1278H+3469H

答:CF=OAF=1ZF=OSF=OOF=0PF=1

(2)54E3H-27AOH

答:CF=OAF=OZF=OSF=OOF=0PF=O

(3)3881H+3597H

答:CF=OAF=OZF=OSF=OOF=0PF=1

(4)01E3H-01E3H

答:CF=OAF=OZF=1SF=OOF=0PF=1

其中,進(jìn)位標(biāo)志CF用于判別無(wú)符號(hào)數(shù)運(yùn)算是否超出數(shù)的表示范圍,而溢出標(biāo)志OF用

于判別帶符號(hào)數(shù)運(yùn)算是否超出數(shù)的表示范圍。

奇偶標(biāo)志PF只能判斷結(jié)果低8位中“1”的個(gè)數(shù)為奇數(shù)還是偶數(shù)。

8.什么是邏輯地址?什么是物理地址?它們之間有什么聯(lián)系?各用在何處?

答:邏輯地址由兩個(gè)16位的部分即段基址和偏移量組成,一般在程序中出現(xiàn)的地址都

表示為邏輯地址形式;物理地址是一個(gè)20位的地址,它是唯一能代表存儲(chǔ)空間每個(gè)字節(jié)單

元的地址,一般只出現(xiàn)在地址總線上。

由于8086/8088CPU中的寄存器只有16位長(zhǎng),所以程序不能直接存放20位的物理地

址,而必須借助邏輯地址,即用兩個(gè)16位的寄存器來(lái)表示物理地址。他們之間的關(guān)系是:

物理地址=段基址*16+偏移量;另外,一個(gè)物理地址可對(duì)應(yīng)多個(gè)邏輯地址。

9.設(shè)現(xiàn)行數(shù)據(jù)段位于?存儲(chǔ)器0B0000H?OBFFFFH單元,DS段寄存器內(nèi)容為多少?

答:DS段寄存器內(nèi)容為0B000H。

10.在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?

答:邏輯地址是在程序中對(duì)存儲(chǔ)器地址的一種表示方法,由段基址和段內(nèi)偏移地址兩部

分組成,都是16位的二進(jìn)制代碼,如1234H:0088Ho偏移地址是指段內(nèi)某個(gè)存儲(chǔ)單元相

對(duì)該段首地址的差值。物理地址是8086芯片引線送出的20位地址碼,物理地址=段基址*16+

偏移地址,用來(lái)指出一個(gè)特定的存儲(chǔ)單元。

11.給定一個(gè)存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C0E0H,求出該內(nèi)存

單元的物理地址。

答:物理地址:0C2EC0H。

12.8086/8088為什么采用地址/數(shù)據(jù)引線復(fù)用技術(shù)?

答:考慮到芯片成本和體積,8086/8088采用40條引線的封裝結(jié)構(gòu)。40條引線引出

8086/8088的所有信號(hào)是不夠用的,采用地址/數(shù)據(jù)線復(fù)用引線方法可以解決這一矛盾,從邏

輯角度,地址與數(shù)據(jù)信號(hào)不會(huì)同時(shí)出現(xiàn),二者可以分時(shí)復(fù)用同一組引線。

13.怎樣確定8086的最大或最小工作模式?

答:引線MN/MX的邏輯狀態(tài)決定8086的工作模式,MN/MX引線接高電平,8086被設(shè)

定為最小模式,MN/加引線接低電平,8086被設(shè)定為最大模式。

14.8086基本總線周期是如何組成的?

答:基本總線周期由4個(gè)時(shí)鐘(CLK)周期組成,按時(shí)間順序定義為Tl、T2、T3、T4。

15.在基于8086的微計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器是如何組織的?存儲(chǔ)器是如何與處理器總

線連接的?麗信號(hào)起什么作用?

答:8086為16位微處理器,可訪問(wèn)1M字節(jié)的存儲(chǔ)器空間;1M字節(jié)的存儲(chǔ)器分為兩

個(gè)512K字節(jié)的存儲(chǔ)體,分別命名為偶存儲(chǔ)體和奇存儲(chǔ)體;偶體的數(shù)據(jù)線連接D7~D0,“體

選”信號(hào)接地址線A0;奇體的數(shù)據(jù)線連接D15~D8,“體選”信號(hào)接靛信號(hào);A0信號(hào)有效

時(shí)允許訪問(wèn)偶體中的低字節(jié)存儲(chǔ)單元,麗信號(hào)有效時(shí)允許訪問(wèn)奇體中的高字節(jié)存儲(chǔ)單元,

實(shí)現(xiàn)8086的低字節(jié)訪問(wèn)、高字節(jié)訪問(wèn)及字訪問(wèn)。

16.有一個(gè)由20個(gè)字組成的數(shù)據(jù)區(qū),其起始地址為61OAH:1CE7H。試寫出該數(shù)據(jù)區(qū)首

末單元的實(shí)際地址PA。

首單元地址:610A0H+1CE7H=62D87H

末單元地址:62D87H+27H=62DAEH

17.有兩個(gè)16位的字31DAH、5E7FH,它們?cè)?086系統(tǒng)存儲(chǔ)器中的地址為00130H和

OO135H,試畫出它們的存儲(chǔ)器示意圖。

地址內(nèi)容

00130H0DAH

00131H31H

00132H

00133H

00134H

00135H7F

00136H5E

18.試說(shuō)明8086CPU的控制引腳ALE的作用。

答:8086的低位地址線與數(shù)據(jù)線復(fù)用,為保證地址線維持足夠的時(shí)間,需使用ALE信

號(hào)將低位地址線通過(guò)鎖存器保存,以形成系統(tǒng)地址總線。

第4章8086/8088CPU指令系統(tǒng)

一、判斷題

1.MOVAX,[BP]的源操作數(shù)物理地址為16x(DS)+(BP)。(x)

2.OUTDX,AL指令的輸出是16位操作數(shù)。(x)

3.不能用立即數(shù)給段寄存器賦值。(4)

4.所有傳送指令都不影響PSW寄存器的標(biāo)志位。(x)

5.堆棧指令的操作數(shù)均為字。(4)

6.段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP,CS的值。(x)

二、單項(xiàng)選擇題

I.寄存器間接尋址方式中,操作數(shù)在(C)中。

A.通用寄存器B.I/O端口C.存儲(chǔ)單元D.段寄存器

2.(A)尋址方式的跨段前綴不可省略。

A.DS:[BP]B.DS:[SI]C.DS:[Di]D.SS:[BP]

3.假設(shè)(SS)=2000H,(SP)=0012H,(AX)=1234H,執(zhí)行PUSHAX后,(SP)=

(C)o

A.0014HB.0011HC.0010HD.000FH

4.用BP作基址變址尋址時(shí),操作數(shù)所在的段是當(dāng)前(C)。

A.數(shù)據(jù)段B.代碼段C.堆棧段D.附加段

5.已知(IP)=1000H,CF=0,則執(zhí)行指令JNCShortlabel后,下列各數(shù)中哪一

個(gè)是可能的IP值?(B)

(A)OFFFFH(B)OFFER(C)10FEH(D)1100H

6.執(zhí)行下列指令后,(AX)=(A)o

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULex

HLT

A.8D00HB.9260HC.8CA0HD.0I23H

7.設(shè)(AL)=-68,(BL)=86,執(zhí)行SUBAL,BL指令后,正確的結(jié)果是(C)o

A.CF=1B.SF=1C.OF=1D.ZF=1

8.已知(SI)=0004H,(DS)=8000H,(80004H)=02H,(80005H)=C3H。指令LEA

AX,[Si]執(zhí)行后(AX)=(C)。

A.0002HB.0005HC.0004HD.C302H

9.條件轉(zhuǎn)移指令JNE的條件是(C)o

A.CF=0B.CF=1C.ZF=0D.ZF=1

10.在8086中(BX)=0282H,且題中指令已在指令隊(duì)列中,則執(zhí)行

INCBYTEPTR(BX)指令需要的總線周期為(C)?

A.0B.1C.2D.3

三、多項(xiàng)選擇題

1.下列指令中源操作數(shù)使用寄存器尋址方式的有(BF)。

A.MOVBX,BUF[Si]B.ADD[SI+50],BXC.SUBAX,2

D.CMPAX,DISP[DI]E.MULVAR[BX]F.PUSHCX

2.將累加器AX的內(nèi)容清零的正確指令是(BCD)o

A.CMPAX,AXB.SUBAX,AX

C.ANDAX,0D.XORAX,AX

3.正確將字變量WORDVARR偏移地址送寄存器AX的指令是(CD)。

A.MOVAX,WORDVARRB.LESAX,WORDVARR

C.LEAAX,WORDVARRD.MOVAX,OFFSETWORDVARR

4.調(diào)用CALL指令可有(ABDE)。

A.段內(nèi)直接B.段內(nèi)間接C.短距離(SHORT)

D.段間直接E.段間間接

5.8086指令的操作數(shù)可能有(ABCD)。

A.OB.1C.2D.3

四、填空題

1.與指令MOVBX,OFFSETBUF功能相同的指令是LEABX,BUF。

2.假設(shè)(BX)=0449H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)

=7230H則執(zhí)行XCHGBX,[BP+Sl]指令后,(BX)=7230H,

3.執(zhí)行下列指令序列后,完成的功能是將(DX,AX)的值除以16。

MOVCX,4

NEXT:SHRDX,1

RCRAX,1

LOOPNEXT

4.已知(AL)=01011101B,執(zhí)行指令NEGAL后,再執(zhí)行CBW后,

(AX)-0FFA3H

5.在數(shù)據(jù)傳送類指令中,只有SAHF和POPF兩條指令會(huì)影響標(biāo)志位的值,其中指

令POPF是唯一可以改變TF標(biāo)志的指令。

6.設(shè)有100個(gè)字節(jié)數(shù)據(jù)(補(bǔ)碼),存放在數(shù)據(jù)段中EA=2000H的存儲(chǔ)單元中。以下程

序應(yīng)該從該數(shù)據(jù)區(qū)中找出最小的一個(gè)數(shù)據(jù),并存入EA=210()H單元中,請(qǐng)將下面程序補(bǔ)充

完整。

MIN:MOVBX,2000H

MOVAL,[BX]

MOVCX,99

LOOP1:INCBX

CMPAL,[BX]

JLELOOP2

MOVAL,[BX]

LOOP2:DECex

JNZLOOP1

MOV「2100H1,AL

7.MOVAX,ES:[BX][SI]中,源操作數(shù)的物理地址計(jì)算式是:

(ES)X16+(BX)+(SI)。

五、綜合題

1.請(qǐng)指出以下各指令的源、目的操作數(shù)所使用的尋址方式。

(1)MOVSI,21OOH

(2)SBBDISP[BX],7

(3)AND|DI],AX

(4)ORAX,[609EH]

(5)MOV[BX+DI+30H],CX

(6)PUSHES:[BP]

(7)CALLDISP[Dll

答:(1)源操作數(shù):立即數(shù)尋址;目的操作數(shù):寄存器尋址

(2)源操作數(shù):立即數(shù)尋址;目的操作數(shù):(帶位移量的)基址尋址

(3)源操作數(shù):寄存器尋址;目的操作數(shù):變址尋址

(4)源操作數(shù):直接尋址;目的操作數(shù):寄存器尋址

(5)源操作數(shù):寄存器尋址;目的操作數(shù):(帶位移量的)基址變址尋址

(6)源操作數(shù):帶段超越的基址尋址;目的操作數(shù):隱含尋址

(7)只有一個(gè)操作數(shù),為(帶位移量的)變址尋址

2.請(qǐng)指出下列各條指令的錯(cuò)誤,并改正。

(1)MOV[100],23H

(2)ADDAX,[BX+BP+6]

(3)PUSHDL

(4)INAX,[3FH]

(5)OUT3FFH,AL

(6)LESSS,[SI]

(7)POP[AX]

(8)IMUL4CH

(9)SHLBX,

(10)INT300

(11)XCHGDX,OFFFH

(12)MOVAH,BX

(13)MOV|BX],ES:AX

(14)MOVAX,OFFSET[SI]

(15)MOVCS,AX

(16)MOVDS,ES

(17)MOVDS,1000H

答:(1)不允許直接向段寄存器送立即數(shù),可改為:

MOVAX,1000H

MOVDS,AX

(2)該指令在語(yǔ)法上是對(duì)的,即可以把?個(gè)立即數(shù)送入一個(gè)存儲(chǔ)單元;但是如果考慮

實(shí)際編譯,則第一操作數(shù)前應(yīng)加上BYTEPTR或WORDPTR說(shuō)明,否則匯編程序會(huì)因

不能確定操作數(shù)長(zhǎng)度而指示出錯(cuò)。可改為:MOVBYTEPTR[100|,23H

(3)不能同時(shí)使用兩個(gè)基址寄存器BX、BP進(jìn)行間接尋址,可改為:

ADDAX,[BX+DI+6]

(4)堆棧操作應(yīng)以字為單位進(jìn)行,而DL是一個(gè)字節(jié)。

可改為:PUSHDX

(5)在輸入/輸出指令中,8位端口地址應(yīng)直接寫在操作數(shù)處。可改為:

INAX,3FH

(6)端口地址3FFH已超出8位二進(jìn)制表示范圍,16位端口地址應(yīng)存于DX??筛?/p>

為:

MOVDX,3FFHOUTDX,AL

(7)LES指令的目操作數(shù)應(yīng)該是通用寄存器,不能是段寄存器??筛臑椋?/p>

LESAX,[SI]

(8)AX不能用于間接尋址,間接尋址只能用BX、BP、SI、DI四個(gè)寄存器之一。

可改為:POP[BX]

(9)立即數(shù)不能做乘法指令的操作數(shù),可改為:

MOVBL,4CH

IMULBL

(10)當(dāng)邏輯移位的次數(shù)大于1時(shí),應(yīng)該用CL指示次數(shù)??筛臑椋?/p>

MOVCL,5

SHLBX,CL

(ID操作數(shù)300>255,已超出有效的中斷類型碼范圍。

(12)XCHG指令不允許立即數(shù)做它的操作數(shù)??筛臑椋?/p>

MOVCX,0FFFH

XCHGDX,CX

(13)源、目的字長(zhǎng)不一致

(14)在8086尋址方式中,AX不能作為基址寄存器使用,而且源、目的不能同時(shí)

為存貯器尋址方式

(15)OFFSET只用于簡(jiǎn)單變量,應(yīng)去掉

(16)CS不能作為目的寄存器

(17)段寄存器之間不能直接傳送數(shù)據(jù)

3.設(shè)若標(biāo)志寄存器原值為0A11H,(SP)=0060H,(AL)=4。下列幾條指令執(zhí)行后,

標(biāo)志寄存器、AX、SP的值分別是多少?

PUSHF

LAHF

XCHGAH,AL

PUSHAX

SAHF

POPF

答:指令執(zhí)行后標(biāo)志寄存器的值為0411H,AX=0411H,SP=005EHo

4.假如在程序的括號(hào)中分別填入指令:

(l)LOOPL20

(2)LOOPNEL20

(3)LOOPEL20

試說(shuō)明在三種情況下,當(dāng)程序執(zhí)行完后,AX、BX、CX、DX四個(gè)寄存器的內(nèi)容分別

是什么?

BEGIN:MOVAX,01

MOVBX,02

MOVDX,03

MOVCX,04

L20:INCAX

ADDBX,AX

SHRDX,1

()

答案:(1)(AX)=5(BX)=16(CX)=0(DX)=0

(2)(AX)=3(BX)=7(CX)=2(DX)=0

(3)(AX)=2(BX)=4(CX)=3(DX)=1

5.變量N1和N2均為2字節(jié)的非壓縮BCD數(shù)碼,請(qǐng)寫出計(jì)算N1與N2之差的指

令序列。

答案:MOVAX,0

MOVAL,N1

SUBAL,N2

AAS

MOVDL,AL

MOVAL,Nl+1

SBBAL,N2+1

AAS

MOVDH,AL

6.在已學(xué)的指令中,可實(shí)現(xiàn)累加器清0的單條指令有?哪些?比較它們的功能。

答:(1)MOVAX,0;僅將累加器清0,不會(huì)影響任何標(biāo)志位

(2)SUBAX,AX;累加器清0的同時(shí)影響所有狀態(tài)標(biāo)志,具體地有:ZF、

PF置1,CF、AF、SF、OF均清0

(3)ANDAX,0;將累加器清0,ZF、PF置1,CF、OF、SF清0

(4)XORAX,AX;將累加器清0,ZF、PF置1,CF、OF、SF清0

7.己知(DS)=2000H,有關(guān)的內(nèi)存單元值為:(21000H)=00H,(21001H)=12H,

(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,

(23401H)=30H,(23600H)=60H,(23601H)=30H,符號(hào)COUNT的偏移地址為1200H.

執(zhí)行下列指令后,寄存器AX、BX、SI的值分別是多少?

MOVBX,OFFSETCOUNT

MOVSL[BX]

MOVAX,COUNT[SI][BX]

答:執(zhí)行結(jié)果為(BX)=1200H,(SI)=1000H,(AX)=3040H。

8.設(shè)若內(nèi)存單元DATA在數(shù)據(jù)段中偏移量為24C0H處,24C0H~24c3H單元中依

次存放著55H、66H、77H、88H,下列兒條指令執(zhí)行后,寄存器AX、BX、CL、Sk

DS的值分別是多少?

MOVAX,DATA

LEASI,DATA

MOVCL,[SI]

LDSBX,DATA

答:執(zhí)行結(jié)果為(AX)=6655H,(BX)=6655H,(CL)=55H,(SI)=24C0H,(DS)

=8877H。

9.若(AX)=26D3H,(CX)=7908H,CF=1,執(zhí)行下列指令后,寄存器AX、CX

的值分別是多少?CF=?OF=?

SALCH,1

RCRAX,CL

ROLAL,1

答:執(zhí)行結(jié)果為(AX)=0A64CH,(CX)=0F208H,CF=OF=0。

10.已知有程序段如下:

MOVAL,35H

MOVDL,AL

ANDDL,OFH

ANDAL,0F0H

MOVCL,4

SHRAL,CL

MOVBL,10

MULBL

ADDAL,DL

執(zhí)行之后,AL的值等于多少?該程序段完成了什么功能?

答:程序段執(zhí)行后(AL)=23Ho該程序段實(shí)現(xiàn)了將AL中的1個(gè)組合BCD碼轉(zhuǎn)換

為十六進(jìn)制數(shù)并存回AL中的功能。

11.下面的程序執(zhí)行后,DX、AX的值分別是多少?

;以X為首址的字單元中的數(shù)據(jù)依次為1234H、5678H

;以Y為首址的字單元中的數(shù)據(jù)依次為8765H、4321H

LEASI,X

LEADLY

MOVDX,[SI4-2]

MOVAX,X

ADDAX,X

ADCDX,[SI+2]

CMPDX,[DI+2]

JLL2

CMPAX,Y

JLLi

JMPEXIT

L1:MOVAX,1

JMPEXIT

L2:MOVAX,2

EXIT:.......

答:執(zhí)行結(jié)果為(AX)=2,(DX)=0ACF0Ho

12.設(shè)VAR字單元的值為x,FI字單元的值為y,試編程按以下要求給y賦值:

“2x>30

y=-03(>x>l

I-2X<1

答:一種可能的程序段實(shí)現(xiàn)如下:

MOVAX,VAR;AX<-x

CMPAX,30

JGPLUS2;x>30,則轉(zhuǎn)PLUS2

CMPAX,1

JLMIN2;x<l,則轉(zhuǎn)MIN2

MOVF1,0;3fex>l,y=0

JMPGO

PLUS2:MOVF1,2;y=2

JMPGO

MIN2:MOVFl,-2;y=-2或OOFEH

GO:.......;后續(xù)處理

簡(jiǎn)析:本例中并未說(shuō)明VAR字節(jié)單元是帶符號(hào)數(shù)還是無(wú)符號(hào)數(shù),讀者在使用判斷

轉(zhuǎn)移指令時(shí)可任意選用。若當(dāng)作帶符號(hào)數(shù),應(yīng)使用JG、JL、JGE、JLE等指令,如參考

程序;若當(dāng)作無(wú)符號(hào)數(shù),則應(yīng)使用JA、JB、JAE、JBE等指令。

第5章匯編語(yǔ)言程序設(shè)計(jì)

一、填空題

1.段定義偽指令語(yǔ)句用SEGMENT語(yǔ)句表示開(kāi)始,以ENDS語(yǔ)句表示結(jié)束。

2.ARRAYDW10DUPC5DUP(4DUP(20H,40H,60H))語(yǔ)句執(zhí)行后共占1200

字節(jié)存儲(chǔ)單元。

3.匯編語(yǔ)句中,一個(gè)過(guò)程有NEAR和FAR兩種屬性。NEAR屬性表示主程序和子程

序在同一個(gè)代碼段中,F(xiàn)AR屬性表示主程序和子程序不在同一個(gè)代碼段中。

4.DOS系統(tǒng)功能號(hào)應(yīng)放在AH寄存器中。

5.子程序又稱過(guò)程,它可以由PROC語(yǔ)句定義,由ENDP語(yǔ)句結(jié)束,屬性可以是

NEAR或FAR。

6.假設(shè)VAR為數(shù)據(jù)段中已定義的變量,則指令MOVBX,OFFSETVAR中源操作數(shù)

的尋址方式是立即數(shù)尋址。

二、選擇題

1.EXE文件產(chǎn)生在(D)之后。

A.匯編B.編輯C.用軟件轉(zhuǎn)換D.連接

2.變量定義的偽指令助記符有(ABCEF

A.DBB.DWC.DDD.DFE.DQF.DT

3.主程序與子程序之間傳遞參數(shù)可通過(guò)(ABC)進(jìn)行。

A.堆棧B.存儲(chǔ)器單元C.通用寄存器D.指令隊(duì)列E.其他

4.計(jì)算機(jī)系統(tǒng)軟件中的匯編程序是一種(C)。

A.匯編語(yǔ)言程序B.編輯程序

C.翻譯程序D,將高級(jí)語(yǔ)言轉(zhuǎn)換成匯編程序的程序

5.若主程序段中數(shù)據(jù)段名為DATA,對(duì)數(shù)據(jù)段的初始化操作應(yīng)為(B)。

A.MOVAX,DATAB.MOVAX,DATA

MOVES,AXMOVDS,AX

C.PUSHDSD.MOVDS,DATA

6.8086宏匯編源程序中,若BUFF是字變量名,則執(zhí)行指令MOVBX,BUFF后,

BX中的值為BUFF單元的(A)?

A.字?jǐn)?shù)據(jù)值B.變量類型值C.段基址D.段內(nèi)偏移量

三、綜合題

1.下列標(biāo)號(hào)為什么是非法的?

(l)GET.DATA

(2)1_NUM

⑶TEST-DATA

(4)RET

(5)NEWITEM

答案:(1)因?yàn)橹辉试S是標(biāo)號(hào)的第一個(gè)字符

(2)第一個(gè)字符不能為數(shù)字

(3)不允許出現(xiàn)一

(4)不能是保留字,如助記符

(5)不能有空格

2.已知數(shù)據(jù)和符號(hào)定義

AlDB?

A2DB8

KIEQU100

判斷下列指令的正誤,并說(shuō)明錯(cuò)誤指令的原因。

(1)MOVKI,AX

(2)MOVA2,AH

(3)CMPAl,A2

(4)MOVBX,KI

MOV[BX],DX

(5)KIEQU200

答:(1)錯(cuò)誤。K1是符號(hào),在此處相當(dāng)于立即數(shù)100,故不能做目的操作數(shù)。

(2)正確。

(3)借誤。Al、A2都是字節(jié)變量,相當(dāng)于兩個(gè)存儲(chǔ)器單元,故不能同時(shí)出現(xiàn)在

一條指令中直接進(jìn)行比較。

(4)正確。

(5)錯(cuò)誤。用EQU定義的符號(hào)不能重新賦值,除非已用PURGE解除了原值。

3.若數(shù)據(jù)段中有定義

NUM1EQU23H

NUM2DW0

則指令MOVNUM2,NUM1的源、目操作數(shù)的尋址方式以及指令執(zhí)行后NUM2+

1單元的內(nèi)容分別是什么?

答:指令MOVNUM2,NUM1的源操作數(shù)使用立即數(shù)尋址,目的操作數(shù)使用直接尋址。

指令執(zhí)行后NUM2+1單元的內(nèi)容是0。

4.已知某數(shù)據(jù)段從物理地址03000H處開(kāi)始,定義如下:

DSEGSEGMENT

ORG2000H

AlDD2DUP(7,1,?)

A2DB10DUP(0,4,3DUP(2),5)

CNTEQU20H

A3DW100DUP(?)

DSEG

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論