2021年蘭州理工大學(xué)微機(jī)原理習(xí)題集作業(yè)答案_第1頁
2021年蘭州理工大學(xué)微機(jī)原理習(xí)題集作業(yè)答案_第2頁
2021年蘭州理工大學(xué)微機(jī)原理習(xí)題集作業(yè)答案_第3頁
2021年蘭州理工大學(xué)微機(jī)原理習(xí)題集作業(yè)答案_第4頁
2021年蘭州理工大學(xué)微機(jī)原理習(xí)題集作業(yè)答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章微型計(jì)算機(jī)概論

1」、答:微型計(jì)算機(jī)系統(tǒng)涉及硬件系統(tǒng)和軟件系統(tǒng)兩大某些。硬件系統(tǒng)涉及:

微型計(jì)算機(jī)、外部設(shè)備、電源及其他輔助設(shè)備。軟件系統(tǒng)涉及:系統(tǒng)軟件和應(yīng)用軟

件。

微型計(jì)算機(jī)也稱為主機(jī),主機(jī)涉及:微解決器、存儲器、輸入/輸出接口

(Input/Output),微解決器通過系統(tǒng)總線和存儲器、輸入/輸出接口進(jìn)行連接。

微解決器(MicroprocessorUnit)簡稱為MPU(或者稱為MP),它是一種中央

控制器(CentralProcessingUnit),簡稱CPU。它是微型計(jì)算機(jī)核心部件,它將運(yùn)算

器、控制器、寄存器通過內(nèi)部總線連接在一起,并集成在一種獨(dú)立芯片上。

1.2、答:單片機(jī)是將CPU、ROM、RAM以及I/O接口電路以及內(nèi)部系統(tǒng)總線

等所有集中在一塊大規(guī)模集成電路芯片上,就構(gòu)成了單片機(jī)。

單板機(jī)是將微解決器芯片、存儲器芯片、I/O接口芯片及少量輸入輸出設(shè)備(鍵

盤,數(shù)碼顯示屏)安裝在一塊印制板上構(gòu)成一臺微型計(jì)算機(jī)。

由多塊印制板構(gòu)成微機(jī)稱為多板機(jī)。

1.3、完畢下列轉(zhuǎn)換(保存4位小數(shù))

(21.32)io=(10101.0101)2=(25.2436)g=(15.51EB)16

50.38D=110010.0110B=62.3024Q=32.6147H

1.4,完畢下列計(jì)算

己知X=-63,Y=59

貝|J[X[=BFH(10111111B),[X]R=C0H(B),|X]H=C1H(11000001B)

[Y]K=3BH(001110UB),[Y](i=3BH(00111011B),[Y]*=3BH(OOIUOHB)

[X+Y]補(bǔ)=0FCH(HUllOOB),[X-Y]*=86H(10000110B)?

[X]a+[Yh卜=0FCH(11111100B),[X]"一[g]"=86H(10000110B)?

1.5、答:浮點(diǎn)數(shù)是指小數(shù)點(diǎn)在數(shù)值中位置不是固定不變,實(shí)際位置將隨階碼而

浮動(dòng),用這種辦法表達(dá)數(shù),稱為浮點(diǎn)數(shù)。

定點(diǎn)數(shù)是指小數(shù)點(diǎn)在數(shù)值中位置固定不變。

1.6、答:壓縮BCD碼是4位二進(jìn)制表達(dá)一位十進(jìn)制數(shù)而非壓縮BCD碼是8位

二進(jìn)制表達(dá)一位十進(jìn)制數(shù)。

1.7、寫出下列數(shù)值壓縮BDC碼、非壓縮BDC碼、ASCII碼值。

(改為15,29)

15=[15H]壓縮BCDPS=[0105H]非壓縮BCDS產(chǎn)[3135H]ASCII碼

29=[29HL曲BCDIY=[0209H]非壓縮BCD"I=[3239H]ASCII嗎

第二章8086/8088微解決器

2.1答:從功能上講由兩某些構(gòu)成總線接口單元BIU和執(zhí)行單元EU構(gòu)成。

總線接口單元(BIU)是微解決器內(nèi)部與存儲器和I/O接口傳送信息通道,總線接

口單元負(fù)責(zé)從內(nèi)存中將指令送到指令隊(duì)列中;負(fù)責(zé)把數(shù)據(jù)從內(nèi)存或I/O接口送到執(zhí)

行單元(EU):負(fù)責(zé)將執(zhí)行單元運(yùn)營成果送到內(nèi)存或I/O接口。

EU功能是負(fù)責(zé)譯碼和執(zhí)行指令。

2.2答:指令隊(duì)列(Queue)存儲預(yù)取指令,采用預(yù)取指令辦法將減少微解決器等

待時(shí)間,提高運(yùn)營效率。8086CPU中指令隊(duì)列有6個(gè);8088CPU中指令隊(duì)列有只

有4個(gè)。

2.3答:8086/8088CPU中有16個(gè)16位寄存器。4個(gè)段地址寄存器是代碼段寄

存器CS;數(shù)據(jù)段寄存器DS;堆棧段寄存器SS和擴(kuò)展段寄存器ES。它們是用來

存儲每一種段首地址(段基地址)。一種指令指針寄存器IP是用于存儲要執(zhí)行指令

偏移地址,它不能作為普通寄存器使用。一種標(biāo)志寄存器(又稱為程序狀態(tài)寄存器)

用于反映指令執(zhí)行成果或控制指令執(zhí)行形式。)有8個(gè)通用寄存器,通用寄存器分為

數(shù)據(jù)寄存器與指針和變址寄存器兩組。數(shù)據(jù)寄存器涉及AX(累加器)、BX(基址

寄存器)、CX(計(jì)數(shù)器)和DX(數(shù)據(jù)寄存器),普通用來存儲16位數(shù)據(jù),故稱為

數(shù)據(jù)寄存器.其中每一種又可依照需要將高8位和低8位提成獨(dú)立兩個(gè)8位寄存器

來使用,即AH、BH、CH、DH和AL、BL、CL、DL兩組,用于存儲8位數(shù)據(jù),

它們均可獨(dú)立尋址、獨(dú)立使用。數(shù)據(jù)寄存器用來存儲計(jì)算成果和操作數(shù),也可以存

儲地址。

指針寄存器涉及堆棧指針寄存器SP、基址指針寄存器BP普通用來存儲地址偏

移量和用于尋址內(nèi)存堆棧內(nèi)數(shù)據(jù)

變址寄存器涉及原變址寄存器SI和目變址寄存器DI,普通用來存儲地址偏移

量為存儲器尋址時(shí)提供地址。

2.4答:標(biāo)志寄存器又稱為程序狀態(tài)寄存器,是一種16位寄存器,標(biāo)志寄存

器設(shè)立了9個(gè)標(biāo)志位。這9個(gè)標(biāo)志位按功能分可以分為兩類:一類為狀態(tài)標(biāo)志,狀

態(tài)標(biāo)志表達(dá)執(zhí)行某種操作后,ALU所處狀態(tài)特性,這些狀態(tài)標(biāo)志會(huì)影響背面詳細(xì)操

作。狀態(tài)標(biāo)志有6個(gè):CF、AF、SF、PF、OF和ZF。另一類為控制標(biāo)志,用來控

制CPU操作,反映存儲器地址變化方向、與否容許中斷及在執(zhí)行程序時(shí)與否進(jìn)行單

步中斷??刂茦?biāo)志有3個(gè):DF、1F和TF控制標(biāo)志是人為設(shè)立,每個(gè)控制標(biāo)志都對

某種特定功能起控制作用。

2.5答:8086與8088有3點(diǎn)不同之處;1.8086有16條數(shù)據(jù)線而8088只有8

條數(shù)據(jù)線,2.8086麗/MX而8088MN/蔽'。3.8086A7/瓶而8088而

2.6答:堆棧是在內(nèi)存中開辟--種特定區(qū)域,用以存儲CPU寄存器或存儲器中

暫時(shí)不用數(shù)據(jù)和有用信息。在數(shù)據(jù)段和附加段存儲數(shù)據(jù)時(shí),普通是從低地址開始向

高地址存儲數(shù)據(jù),而用PUSH指令向堆棧中存儲數(shù)據(jù)時(shí)總是從高地址開始逐漸向低

地址方向增長。堆棧指令遵循“先進(jìn)后出”,“后進(jìn)先出”原則,凡是用PUSH指令最

后推入堆棧數(shù)據(jù),用POP指令彈出時(shí)最先出棧。在操作時(shí)是以字為單位。

2.7答:8086/8088CPU各有20根地址總線,可尋址范疇是1M個(gè)存儲單元。

8086CPU有16根數(shù)據(jù),一次可以讀一種字也可以讀一種字節(jié)。8088CPU有8數(shù)據(jù)總

線一次以讀一種字節(jié)。

2.8答:1.物理地址就是實(shí)際地址,它具備20位地址值,它是唯一標(biāo)志1MB

存儲空間某一單元地址。2.邏輯地址由段基址和偏移量構(gòu)成。程序以邏輯地址編址,

而不是物理地址。3.在8086/8088存儲空間中,把16個(gè)字節(jié)存儲空間看作一節(jié)。為

了簡化操作,規(guī)定各個(gè)邏輯段從節(jié)整數(shù)邊界開始,也就是說段首地址低4位應(yīng)當(dāng)是

“0”,因而把段首地址高16位稱為“段基值”。4.偏移量是該物理地址距離段首地

址單元數(shù)。

2.9答:總線上傳播信號一組導(dǎo)線,作為微機(jī)各部件之間信息傳播公共通道。

系統(tǒng)總線按功能分?jǐn)?shù)據(jù)總線、地址總線、控制總線。

2.10答:1.8086/8088CPU把存儲器分為代碼段、數(shù)據(jù)段、堆棧段、附加段。由

于8086/8088寄存器是16位,最大只能尋址64K個(gè)單元存儲空間,為了增大尋址空

間把存儲器進(jìn)行分段,這樣就可以尋址1MB存儲空間。2.每段最大空間為64KB。

2.11答:(1)2300H;1010H;24010H(2)0000H;I000H;01000H

(3)2AE0H;1690H:2C490H(4)7369H;0010H;736A0H

2.12答:I.數(shù)據(jù)段首地址是1H末地址是21FFFH。2.附加段首地址是20A30H

末地址是30A2FH?3.代碼段首地址是470E0H=470EHxl0H末地址是

570DFH=(470E0H+FFFFH)(.

2.13答:8086/8088CPU復(fù)位后來,除代碼段寄存器外,別的標(biāo)志寄存器、指

令指針寄存器、各段寄存器及指令對列所有被清零。

2.14答:在一種讀總線周期ALE在第一種時(shí)鐘周期為高電平,別的周期為低電

平。麗/S7在第一種時(shí)鐘周期為低電平,別的周期為高電平。麗在第一種時(shí)鐘周

期為低電平,第二、三周期為高電平。標(biāo)始終為高電平。M/I5始終為高電平。DT/1

始終為低電平。

2.15答:1.8086CPU讀/寫總線周期時(shí),至少包括4個(gè)時(shí)鐘周期。2.CPU在T3

狀態(tài)前沿(下降沿)對Ready信號進(jìn)行采樣。若CPU在T3狀態(tài)開始采樣到Ready信

號為低電平,那么將在T3和T4之間插入等待狀態(tài)Tw。3.Tw可以是一種,也可以是

各種。CPU在每個(gè)Tw前沿處對Ready信號進(jìn)行采樣。當(dāng)在Tw狀態(tài)采樣至UREADY

信號為高電平時(shí),在當(dāng)前Tw狀態(tài)執(zhí)行完,進(jìn)入T4狀態(tài)。

第三章存儲器

3.1答:1.容量:存儲器芯片容量是以1位二進(jìn)制數(shù)(bit)為單位,因而存儲器

容量是指每一種存儲器芯片所能存儲二進(jìn)制數(shù)位數(shù)。(存儲器容量=存儲單元數(shù)x位

數(shù))芯片數(shù)量(N)=梨粵2.存儲速度:存儲器基本操作是讀出與寫入,稱為“訪

芯片容量

問”或“存取”。存儲器存儲速度有兩個(gè)時(shí)間參數(shù):(1)訪問時(shí)間(AccessTime)TA

從啟動(dòng)一次存儲器操作,到完畢該操作所經(jīng)歷時(shí)間。(2)存儲周期(MemoryCycle)T址

啟動(dòng)兩次獨(dú)立存儲器操作之間所需最小時(shí)間間隔。3.存儲器可靠性:4.性能/價(jià)格

比:5.其她指標(biāo)(存儲器選取有時(shí)還應(yīng)考慮功耗、集成度等指標(biāo))。

3.2答:按存儲器讀寫功能分可以分為隨機(jī)讀寫存儲器(RAM)和只讀存儲器(ROM)。

隨機(jī)讀寫存儲器RAM可以隨機(jī)地按指定地址從存儲單元存入或讀?。ê喎Q存?。?shù)據(jù),

存儲在RAM中信息,一旦掉電就會(huì)丟失。

隨機(jī)讀寫存儲器RAM可分為靜態(tài)隨機(jī)存取存儲器SRAM,動(dòng)態(tài)隨機(jī)存取存儲器DRAM

和集成隨機(jī)讀寫存儲器IRAM。

只讀存儲器(ROM)基本特性是在正常運(yùn)營中只能隨機(jī)讀取預(yù)先存入信息,雖然在

斷電狀況下,ROM仍能長期保存信息內(nèi)容不變,因此它是一種永久存儲器。

只讀存儲器(ROM)可分為掩膜只讀存儲器(MaskROM)、可編程只讀存錯(cuò)器(PROM)、

紫外線可擦除可編程只讀存儲器(EPROM)、電可擦除編程只讀存儲器(ETROM)和迅速

可擦編成只讀存儲器(FlashEPROM)。

掩膜只讀存儲器其構(gòu)造簡樸,存儲信息穩(wěn)定,可靠性高,可以永久性保存信息;可

編程只讀存儲器是由半導(dǎo)體廠家制作“空白”存儲器陣列(即所有存儲單元所有為1或

所有為0狀態(tài))出售,顧客依照需要可以實(shí)現(xiàn)現(xiàn)場編程寫入,但只能實(shí)現(xiàn)一次編程;紫

外線可擦編程只讀存儲器、電可擦除編程只讀存儲器和快可擦編程只讀存儲器等不但可

以現(xiàn)場編程。還可以擦除原存儲信息內(nèi)容,寫入新信息。

3.3答:SRAM特點(diǎn)是在一種存儲單元所用晶體管數(shù)目多,但不需要刷新電路。DRAM

特點(diǎn)是在一種存儲單元所用晶體管數(shù)目少,但需要刷新電路。IRAM特點(diǎn)是將動(dòng)態(tài)隨機(jī)存

取存儲器和刷新電路集成在一片芯片中,它即具備SRAM速度快長處,又具備DRAM便宜。

IRAM事實(shí)上是附有刷新電路DRAMo它在當(dāng)代微機(jī)系統(tǒng)中得到廣泛應(yīng)用,大容量內(nèi)存普

通都是用IRAM。

3.4答:1)13條地址線和4條數(shù)據(jù)線;2)19條地址線和1條數(shù)據(jù)線

3)17條地址線和4條數(shù)據(jù)線;4)15條地址線和8條數(shù)據(jù)線

3.5答:1)RAM存儲容量為256Kx8bit;2)有18條地址線和8條數(shù)據(jù)線;3)若

采用6116需要128片\若采用6264需要32片、若采用62128需要16片,若采用

2114需要512片,若采用2141需要512片、

3.6答:1)ROM存儲容量為512Kx8bit;2)需要19條地址線和8條數(shù)據(jù)線;

3)若采用2764需要64片,若采用27128需要32片,若采用2816A需要256片,

若采用28F256需要16片。

3.7答:慣用存儲器片選控制辦法有線選法、全譯碼法和某些譯碼法。

線選法地址線可以不用完,也無需專門譯碼電路。但由于高位地址線可隨意取

值0或1。因此,存在地址重疊,并且導(dǎo)致存儲器地址不能持續(xù)分布。

全譯碼法所有地址線均參加地址譯碼,芯片地址線直接和低位地址總線相連,

高位地址總線經(jīng)譯碼器或邏輯電路與各芯片片選信號相連。

某些譯碼法與全譯碼法類似,只是高位地址線中有一某些進(jìn)行譯碼,產(chǎn)生片選

信號,而不是所有。這種辦法稱為某些譯碼法。

3.8答:第一片首地址為21000H(錯(cuò)),末尾地址為24FFEH。第二片首地址為

21001H,末尾地址為24FFFH。第三片首地址為25000H,末尾地址為28FFEH。第

四片首地址為25001H,末尾地址為28FFFH。

3.9第一片A19?Ai2=01000000,地址范疇是40000H-40FFEH

第二片Al9-Ai2=01000000,地址范疇是40001H~40FFFH

第三片Ai9-Ai2=01000001,地址范疇是41000H-41FFEH

第四片Ai9~Ai2=01000001,地址范疇是41001H-41FFFH

3.10(有問題A0和BHE未畫)按既有連線地址為

第一片A19?Ai3=l000000,地址范疇是80000H~81FFFH_

第二片Ai9~A13=1000001,地址范疇是8H~83FFFH_

An-A,

8086臉

AwAo

CPUAu

CE2716(4)

OEDs'Dis

WR

RD

D0~D7

D8'D15

?2-iana”川后存儲器詫熔由略圖

第三片AI9~Ai3=1000010,地址范疇是84000H~85FFFH_

第四片Al9~Ai3=1000011,地址范疇是86000H~87FFFH_

A|2-A(I

A|9G

G-

-

M器

8086eAu???Ao

B

CPUA

CS6264(4)

WE

玩D-D,

DK~D)5

Do~D?

圖3-28086CPU與存儲器連接申路圖

3.111)答:是譯碼功能。

2).

A|3-A|

MWG

A|9

G-

A)8-譯

_A

B碼

G-

CPUA"-器

c

8086A:B

A|4A

BHE

WR

RD

n皿

3)答:ROM0>ROM]地址范疇。94000H-97FFFH

3.12答:存儲器(1)地址范疇為80000H-80FFEH:存儲器(2)地址范疇為

80001H~80FFFH。(題目有錯(cuò),存儲器(4)地址范疇為81001H~81FFFH)

3.13答:1)系統(tǒng)存儲容量為:B3FFFH-B0000H+1=4000H=16KB;

2)需要6264芯片:(16K*8bit)/8K*8bit=2片;

3)畫出系統(tǒng)連接圖。兩片6264芯片地址范疇如表所示,高位地址

A14-A19參加譯碼形成兩片6264片選信號,奇地址存儲器芯片和偶地址存儲

器芯片由A0和麗石區(qū)別。存儲器與系統(tǒng)總線連接電路如圖題3.13所示。

A19A18A17A16A15A14A13A12AllA10A9A8A7A6A5A4A3A2AlAO

10110000000000000000

10110011111111111111

A13~A|

A19G

入H

--

M/IOG2A譯

--

A|8G2B器A|2""AoA12…A()

CPUC

A[6B-------WEWE

A15A-------OE6264(1)OE6264(2)

A14

O-LCS2CS2

RD

CS1CS1

WRD0...D?D0...D7

BHE.

Ao

DO~D7

D8~D[5

圖題3.13存儲器擴(kuò)展電路

3.14答:(不是8086系統(tǒng))

Aicr'Ao

Ao-AIO

CS2732

RD

D(i...D?

RD

WR

Oi~Dr

3.15在8086CPU構(gòu)成系統(tǒng)中,用4片2764(8Kx8bit)存儲芯片構(gòu)成隨機(jī)ROM存

儲系統(tǒng),其第一片首地址為(COOOH:8000H),試畫出存儲器與CPU連接電路圖。

A|3-A|

短G

-

M/IO5譯

-碼

5

An器

CPUAC

A|6B

AuA

A;

RD

BHE

Di)~D?

Dx~D”

答:

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

4.1答:機(jī)器語言每一條指令是以二進(jìn)制為代碼指令,它可以被計(jì)算機(jī)直接執(zhí)

行。匯編語言是用助記符或用符號來編寫指令,是一種與機(jī)器語言一一相應(yīng)語言。

機(jī)器不能直接執(zhí)行程序,程序必要通過翻譯,機(jī)器才干執(zhí)行。高檔語言是面向過程

語言,它不依賴于特定機(jī)器,獨(dú)立于機(jī)器,用同一種高檔語言編寫程序可以在不同

機(jī)器上運(yùn)營而獲得相似成果。

4.2請指出如下各指令源、目操作數(shù)所使用尋址方式。

(1)MOVSI,21OOH源:及時(shí)數(shù)尋址;目:寄存器尋址

(2)SBBBYTEPTRDISPIBXJ,7;源:及時(shí)數(shù)尋址;目:寄存器相對尋址

(3)AND[DI],AX源:寄存器尋址;目:寄存器間接尋址

(4)ORAX,[609EH]源:直接尋址;目:寄存器尋址

(5)MOV[BX+DI+30H],CX源:寄存器尋址;目:基址變址相對尋址

(6)PUSHES:[BP]源:寄存器間接尋址;目:隱含尋址

(7)CALL[DI1DISP寄存器相對尋址

(8)JNZShortlabel直接尋址

(9)CBWBL(指令錯(cuò))

(10)MOVAX,[1000H]源:直接尋址;目:寄存器尋址

(11)MOVAX,ARRAYIBXJ[SIJ;源:基址變址相對尋址;目:寄存器尋址

(12)MULBL源:寄存器尋址;目:隱含尋址

(13)MOVAX,[BX][SI]源:基址變址尋址;目:寄存器尋址

(14)MOVAL,TABLE源:直接尋址;目:寄存器尋址

(15)MOVAX,DISPfBX+DI]源:基址變址相對尋址;目:寄存器尋址

(16)MOVAX,[BX]源:寄存器間接尋址;目:寄存器尋址

4.3答:基址寄存器BX、基址指針寄存器BP、原變址寄存器SI、目變址寄存

器DI。

4.4下列各條指令與否有錯(cuò)?如果有,請指出錯(cuò)誤之處。

(1)MOVDS,1000H及時(shí)數(shù)不能直接給段寄存器送數(shù)

(2)MOV[100],23H目操作數(shù)應(yīng)指明類型,改為BYTEPTR[100]

(3)ADDAX,[BX+BP+6]_存儲器尋址不能有兩個(gè)基地址1BX,BP]

(4)PUSHDL進(jìn)棧是以字為單位

(5)INAX,[3FH]I/O接口地址不能加括號

(6)OUT3FFH,AL口地址3FF應(yīng)放在DX中

(7)LESSS,[SIJSS不能存儲偏移量

(8)POP[AX]AX不用來做間址寄存器

(9)IMUL4CH_乘法中源操作數(shù)不能是及時(shí)數(shù)

(10)SHLBX,5移位超過1位應(yīng)放在CL中

(11)INT300及時(shí)數(shù)(向量碼)應(yīng)不大于255

(12)XCHGDX,OFFFH此指令中不能有及時(shí)數(shù)

(13)POPAL出棧是以字為單位

(14:)DIV32H除法中原操作數(shù)不能是及時(shí)數(shù)

(15:)MOVAX,BYTEPTR[SI]源操作數(shù)和目操作數(shù)不等寬

(16:)MOVDX,DS:[BP]對的

(17:)MOV128,CL目操作數(shù)不能為及時(shí)數(shù)

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

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

PUSHF『SP;SP=5EH,[5EH]=OA11H

LAHF;F;AH=11H

XCHGAH,AL;AH04H,AL=11H

PUSHAX;SP=5CH,[5CH]=0411H,

SAHF;AHfF低8;

POPF;SP-F

標(biāo)志寄存器=0411H,AX=0411H,SP=005EH

4.6已知DS=H,關(guān)于內(nèi)存單元值為:(21000H)=00H,(21001H)=12H,

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

(23401H)=30H,(23600H)=60H,(23601H)=30H,符號COUNT偏移地址為1200H?

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

MOVBX,OFFSETCOUNTBX=1200H

MOVSL[BX]SI=1000H

MOVAX,COUNT[SI1[BX]

AX=3040H,BX=1200H,ST=1000H

4.7答:AX=322FH,標(biāo)志寄存器值為0410H

4.8設(shè)單元DATA在內(nèi)存數(shù)據(jù)段中偏移量為24C0H,在24C0H-24C3H單元中

依次存儲著55H、66H、77H、88Ho下列幾條指令執(zhí)行后,寄存器AX、BX、

CL、SLDS值分別是多少?

MOVAX,DATA;AX=6655H

LEASLDATA;SI=24C0H

MOVCL,ISI];CL=55H

LDSBX,DATA;DS=8877H.BX=6655H

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

CX值分別是多少?.AX=A74CHCX=FA08H_CF=_0_OF=_0_0

SALCH,ICH=FA,CL=08H

RCRAX,CLAX=A726H,CF=1

ROLAL,1AL=4CH,CF=0

4.10答:原串在數(shù)據(jù)段中,但可以段超越。目串必要在附加段中。

4.11答:M//O=l;DT/W=1;而=1;WR=0;

數(shù)據(jù)總線上數(shù)是0508H;地址總線上數(shù)分是49420H

4.12(與21題重)答:AL=23H,功能將壓縮BCD碼轉(zhuǎn)換為二進(jìn)制。

4.13答:上述程序段執(zhí)行后,字節(jié)單元HCOD內(nèi)容是43H;HCOD+1內(nèi)容

是35H。該程序段功能是將壓縮十六進(jìn)制轉(zhuǎn)換為ASCII字符。

4.14執(zhí)行下面程序段后,(CL)=02H,(AX)=0040H。

XORBX,BX

MOVAX,0010H

MOVCL,2

SALAL,CL

MOVBL,AL

SALAL,CL

ADDAX,BX

4.15問:(1)初值(AL)=37H時(shí),程序段執(zhí)行成果:(AL)=07H

(2)初值(AL)=9FH時(shí),程序段執(zhí)行成果:(AL)=OFFH

4.16下列程序段中,以X為首址字單元中數(shù)據(jù)依次為1234H、5678H;以丫

為首址字單元中數(shù)據(jù)依次為8765H、4321H。閱讀程序,給出必要程序注釋并完

畢程序后問題。

LEASI,X;SI=OOOOH

LEADI,Y;DI=0004H

MOVDX,[SI+2];DX=5678H

MOVAX,X;AX=1234H

ADDAX,X;AX=2468H

ADCDX,[SI+2];DX=ACF0H

CMPDX,[Dl+2];ACFOH與8765H比

JLL2;不大于轉(zhuǎn)移到L2

CMPAX,Y;不不大于2468H與4321比

JLLI;不大于轉(zhuǎn)移到L1

JMPEXIT;無條件轉(zhuǎn)移到EXIT

LI:MOVAX,1;給AX送1

JMPEXIT;無條件轉(zhuǎn)移到EXIT

L2:MOVAX,2

EXIT:.......

以上程序代碼執(zhí)行之后,AX=2;DX=ACFOH

4.17答:程序?qū)⒁来蜗蚨褩喝霐?shù)據(jù)為0003H、0002H、OOOlHo該程序段

實(shí)現(xiàn)了將二進(jìn)制轉(zhuǎn)換十進(jìn)制功能。

4.18答:程序功能是計(jì)算AX=1?10,BX=10H起累加和。AX=10,BX=47H,CX=0o

MOVAX,0000H

MOVBX,001OH

MOVCX,10

LP:INCAX

ADDBX,AX

LOOPLP

HLT

4.19答:以上程序代碼執(zhí)行之后,AX=2:DX=ACFOH

4.20閱讀下列程序段,給出必要程序注釋并完畢程序后問題。

ADDAL,AL;2*AL

ADDAL、AL;4*AL

MOVBL,AL;AL-BL

SALBL,1;8*AL

ADDAL,BL;12*AL

HLT

(1)該程序段功能是什么?答:把AL中內(nèi)容乘以12

(2)設(shè)AL初值為0AH,執(zhí)行該程序段后,AL為多少?答:AL=78H

4.21已知有程序段如下:(與12題重)

(1)該程序段功能是什么?

答:將BCD碼轉(zhuǎn)換成二進(jìn)制

(2)執(zhí)行該程序段后,AL=23H

4.22、下列程序段規(guī)定在內(nèi)存40000H開始順序30個(gè)單元中存儲著8位無符號

數(shù),將它們和放在DX中,試填空完畢該程序(并加入必要注釋)或自行編制一段

程序完畢上述功能。

MOVAX,4000H;_______________________

MOVDS,AX;送段首地址____________

MOVSI,0000H:送偏移量

MOVCX,_30_;送循環(huán)次數(shù)

XORAX,AX;清零__________________

GOON:ADDAL,JSI];兩數(shù)相加_______________

ADCAH,OOH;加進(jìn)位位______________

INCSI;修改地址____________

DECCX;計(jì)數(shù)器減1___________

JNZGOON;不為零循環(huán)___________

MOVDX,AX;成果送DX____________

4.23在AL中有一種十六進(jìn)制數(shù)ASCII碼,完畢下面程序段在每一空白處填上

一條恰當(dāng)指令(并加入必要注釋),實(shí)現(xiàn)將AL中ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù)。

CMPAL,3AH;與3AH比較________

JCDONE;不大于轉(zhuǎn)移到DONE

SUBAL,7;不不大于減7_____________

DONE:SUBAL,30H;AL減30H

HLT

4.24已知附加段中有一塊長50個(gè)字?jǐn)?shù)據(jù)區(qū),首址為DEST。欲編程將它們

所有初始化為0FFFFH值,試在下面程序段空白處填上恰當(dāng)指令或操作數(shù)(并加

入必要注釋),以實(shí)現(xiàn)上述功能。

LEADLDEST;取DEST偏移量

MOVCX,100;送計(jì)數(shù)值

CLD;清方向標(biāo)志位,DF=0

MOVAL,OFFH:將AL-OFFH

REPSTOSB將送100個(gè)字節(jié)FFH到首址為DEST區(qū)域

4.25已知附加段中有一塊長50個(gè)字?jǐn)?shù)據(jù)區(qū),首址為DEST。欲編程將它們

所有初始化為0FFFFH值,試在下面程序段空白處填上恰當(dāng)指令或操作數(shù)(并加

入必要注釋),以實(shí)現(xiàn)上述功能。(與24題重)

DLDEST;______________________

MOVCX,;

CLD;

MOVAL,OFFH;

4.26附加段中有某字符串首址為BLOCK,長17個(gè)字節(jié)?欲查找其中第一

次浮現(xiàn)字符“e”位置,并將該位置所在偏移量入棧保護(hù)。試在下面程序段空白處

填上恰當(dāng)指令(并加入必要注釋)或操作數(shù)以實(shí)現(xiàn)上述功能。

MOVDLOFFSETBLOCK:送BLOCK偏移量

MOVAL,65H—;送eASCH碼______________

MOVCX,17;送計(jì)數(shù)值

CLD;方向標(biāo)志位清零_______________

REPNZSCASB;尋找e

JNEOTHER;找至ije轉(zhuǎn)至OTHER

DECDI;修改地址______________

PUSHDI;偏移量入棧保護(hù)

OTHER:...(略)

4.27已知有某字串BUF1首址為0000H,BUF2首址為0010H,數(shù)據(jù)段與附

加段重疊。欲從BUF1處開始將10個(gè)字?jǐn)?shù)據(jù)順序傳送至BUF2處,試在下面程

序段空白處填上恰當(dāng)指令或操作數(shù)以實(shí)現(xiàn)上述功能。

LEASI,BUF1:送BUF1偏移量

ADDSI,12H;地址移動(dòng)到字符串最后

LEADI,BUF2;送BUF2偏移量

ADDDL12H;地址移動(dòng)到字符串最后

STD;方向標(biāo)志位清零

MOVCX,10;送計(jì)數(shù)值

REPMOVSW;進(jìn)行串操作

4.28在DAT和DAT1兩個(gè)字節(jié)變量單元中有兩個(gè)十進(jìn)制數(shù)ASCII碼,編程實(shí)

現(xiàn)將這兩個(gè)ASCII碼轉(zhuǎn)換為兩個(gè)BCD碼,并以壓縮形式存儲在REST字節(jié)變量單

元中。試填寫該程序劃線某些,并加入必要注釋。

MOVAL,DAT;取第一種數(shù)

SUBAL,30H;將ASCH碼轉(zhuǎn)為BCD碼

MOVCL,4;送移位數(shù)

SHLAL,CL;將BCD碼放在AL高四位中

MOVBL,DAT1;取第二個(gè)數(shù)

SUBBL,30H:將DAT1中ASCH碼轉(zhuǎn)為BCD碼

OR,AL,BL;將兩個(gè)BCD碼合并在AL寄存器中

MOVREST,AL;將壓縮形式BCD碼存人REST中

HLT

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

5.1答:標(biāo)號在指令性指令名字,寫在指令前面,標(biāo)號后必要有冒號、變量在

偽指令前是定義某--數(shù)據(jù)區(qū)所起名字,它背面不帶冒號。標(biāo)號和變量均有段、偏移

量屬性,標(biāo)號類型是遠(yuǎn)和近型,變量類型是字節(jié)、字、雙字等。

5.2答:指令性指令是給CPU命令,它是由匯07H<-0100HADD1

00H

編程序翻譯成機(jī)器語言指令,在程序運(yùn)營時(shí)由CPU

00H

來執(zhí)行,每條指令都相應(yīng)CPU一種特定操作。偽指00H

01H

令不匯編成機(jī)器語言,僅僅在匯編過程中告訴匯編程00H

00H

序應(yīng)如何匯編。

00H

53

.......

答:ADDI、ADD2、ADD3段基址為1000H;01HHADD2

04H

ADD1、偏移量為H、類型為雙字;ADD2、偏移05H

05H

量為H、類型為字節(jié);ADD3、偏移量為2068H、

05H

類型為字。05H

07H

5.401H

.......

答:分派狀況如右圖

2068HADD3

5.5答:(定義了堆棧段[81字節(jié)]、數(shù)據(jù)段(17

題5.3圖

字節(jié))和代碼段)

02H1006HADD1

12H

9AH1009HADD2

56H

42H

41H題5.4圖

05H^01OOHADD1

05H

5.6答:ADD1占有多少個(gè)字節(jié)

5.7答:1.根據(jù)設(shè)計(jì)任務(wù),抽象出描述問題數(shù)

……

學(xué)模型。2.擬定實(shí)現(xiàn)數(shù)學(xué)模型算法或求解詳細(xì)環(huán)節(jié)05

和辦法。3.繪制出程序流程框圖04.分派存儲空

0I27H題5.6圖

間及工作單元(涉及寄存器)。擬定數(shù)據(jù)段、堆棧段、

代碼段及附加段在內(nèi)存中位置。5.根據(jù)流程圖編寫程序。6.靜態(tài)檢查。7.上

機(jī)調(diào)試。8.程序運(yùn)營,成果分析。

5.8答:源程序構(gòu)造普通涉及4個(gè)段,它們是代碼段、數(shù)據(jù)段、附加段和堆棧

段。其中代碼段是必要存在,別的段視詳細(xì)狀況而定。

普通用到四種程序構(gòu)造:順序構(gòu)造,分支構(gòu)造,循環(huán)構(gòu)造,子程序構(gòu)造。

5.9答:XORAX,AX

MOVDX,0

MOVAH,45H

MOVDL,AH

ANDDL,OFH

ADDDL,30H

ANDAH,OFOH

MOVCL,4

SHRAH,CL

ADDDL,30H

ADDAX,DX

HLT

94H一DATA1

5.10答:MOVAL,A

16H

MOVBL,B26H

89H

IMULBL30H—DATA2

55H

MOVCX,C

04H

ADDAX,CX74H

.......-RES

SUBAX,18

HLT

(1)從DATA1單元開始,將8個(gè)組合BCD碼累加起來,其和(超過1字

節(jié))存入以RES為首址單元中(低位在前)。圖5-15.11題圖

(2)將它們看作2個(gè)分別以DATA1、DATA2為首址4位十進(jìn)制數(shù)(低位在前),

求此兩數(shù)之差并存入以RES為首址單元中。

答:1、LEASI,DATA12、LEASI,DATA1

LEADI,DATA2LEADI,DATA2

LEABX,RESLEABX,RES

MOVCX,7

溫馨提示

  • 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)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論