計(jì)算機(jī)組成原理部分答案_第1頁
計(jì)算機(jī)組成原理部分答案_第2頁
計(jì)算機(jī)組成原理部分答案_第3頁
計(jì)算機(jī)組成原理部分答案_第4頁
計(jì)算機(jī)組成原理部分答案_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

習(xí)題一

1.什么是程序存放工作方式?

答:計(jì)算機(jī)工作方式——存放程序工作方式。即事先編寫程序,再由計(jì)算機(jī)把這些信息存放起來,然后連續(xù)地、快速地執(zhí)行程序,從而完成各種運(yùn)算過程。

2.采取數(shù)字化方法表示信息有哪些優(yōu)點(diǎn)?

用數(shù)字化方法表示信息優(yōu)點(diǎn):

(1)抗干擾能力強(qiáng),可靠性高。

(2)依靠多位數(shù)字組合,在表示數(shù)值時(shí)可取得很寬表示范圍以及很高精度。

(3)數(shù)字化信息能夠存放、信息傳送也比較輕易實(shí)現(xiàn)。

(4)可表示信息類型與范圍及其廣泛,幾乎沒有限制。

(5)能用邏輯代數(shù)等數(shù)字邏輯技術(shù)進(jìn)行信息處理,這就形成了計(jì)算機(jī)硬件設(shè)計(jì)基礎(chǔ)。

3.假如有7×9點(diǎn)陣顯示出字符A圖像,請(qǐng)用9個(gè)七位二進(jìn)制代碼表示A點(diǎn)陣信息。

4.數(shù)字計(jì)算機(jī)主要特點(diǎn)是什么?1.

(1)能在程序控制下自動(dòng)連續(xù)地工作;

(2|)運(yùn)算速度快;

(3)運(yùn)算精度高;

(4)

具備很強(qiáng)信息存放能力;

(5)

通用性強(qiáng),應(yīng)用領(lǐng)域及其廣泛。

5.衡量計(jì)算機(jī)性能基本指標(biāo)有哪些?

答:衡量計(jì)算機(jī)性能基本指標(biāo):

(1)基本字長——參加一次運(yùn)算數(shù)位數(shù);

(2)數(shù)據(jù)通路寬度——數(shù)據(jù)總線一次能并行傳送位數(shù);

(3)運(yùn)算速度——可用①CPU時(shí)鐘頻率與主頻,②每秒平均執(zhí)行指令數(shù),③經(jīng)典四則運(yùn)算時(shí)間來表示。

(4)主存放器容量——可用字節(jié)數(shù)或單元數(shù)(字?jǐn)?shù))×位數(shù)來表示。

(5)外存容量——慣用字節(jié)數(shù)表示。

(6)配置外圍設(shè)備及其性能。

(7)系統(tǒng)軟件配置。

7.系統(tǒng)軟件通常包含哪些部分?列舉你所熟悉三種系統(tǒng)軟件。

系統(tǒng)軟件通常包含操作系統(tǒng),編譯程序、解釋程序、各種軟件平臺(tái)等。比如WINDOWS98操作系統(tǒng),C語言編譯程序等,數(shù)據(jù)庫管理系統(tǒng)。

8.對(duì)源程序處理有哪兩種基本方式?

對(duì)源程序處理通常有兩種處理方式:解釋方式和編譯方式。習(xí)題二

1.將二進(jìn)制數(shù)(101010.01)2轉(zhuǎn)換為十進(jìn)制數(shù)及BCD碼。

解:(101010.01)2=(42.25)10=(01000010.00100101)BCD

2.將八近制數(shù)(37.2)8轉(zhuǎn)換為十進(jìn)制數(shù)及BCD碼.

解:(37.2)8=(31.25)10=(011001.010101)BCD

3.將十六進(jìn)制熟(AC.E)轉(zhuǎn)換為十進(jìn)制數(shù)及BCD碼.

解:(AC.E)16=(174.875)10=(.)BCD

4.將十進(jìn)制數(shù)(75.34)10轉(zhuǎn)換為8位二進(jìn)制數(shù)及八進(jìn)制數(shù)、十六進(jìn)制數(shù)。

解:(75.34)10=(01001011.)2=(213.256)8=(4B.57)16

5.將十進(jìn)制數(shù)13/128轉(zhuǎn)換為二進(jìn)制數(shù).

解:(13/128)10=(1101/10000000)2=(0.0001101)2

6.分別寫出以下各二進(jìn)制數(shù)原碼、補(bǔ)碼,字長(含一位數(shù)符)為8位。

(1)0

(2)-0

(3)0.1010

(4)-0.1010

(5)1010

(6)-1010

解:

原碼

補(bǔ)碼

0

00000000

00000000

-0

10000000

00000000

0.1010

0.1010000

0.1010000

-0.1010

1.1010000

1.0110000

1010

00001010

00001010

-1010

10001010

11110110

7.若X補(bǔ)=0.1010,則X原、真值等于什么?

解:X補(bǔ)=0.1010,則X原=0.1010,真值X=0.1010

8.若X補(bǔ)=1.1010,則X原、真值等于什么?

解:X補(bǔ)=1.1010,則X原=1.0110,真值X=-0.0110

9.某定點(diǎn)小數(shù)字長16位,含1位符號(hào),原碼表示,分別寫出以下經(jīng)典值二進(jìn)制代碼與十進(jìn)制真值。

(1)非0最小正數(shù)

(2)最大正數(shù)

(3)絕對(duì)值最小負(fù)數(shù)

(4)絕對(duì)值最大負(fù)數(shù)

解:

二進(jìn)制代碼

十進(jìn)制真值

(1)非0最小正數(shù)

0.001

2-15

(2)最大正數(shù)

0.111

1-2-15

(3)絕對(duì)值最小負(fù)數(shù)

1.001

-2-15

(4)絕對(duì)值最大負(fù)數(shù)

1.111

-(1-2-15)

10.某定點(diǎn)小數(shù)字長16位,含1位符號(hào),補(bǔ)碼表示,分別寫出以下經(jīng)典值二進(jìn)制代碼與十進(jìn)制真值。

(1)非0最小正數(shù)

(2)最大正數(shù)

(3)絕對(duì)值最小負(fù)數(shù)

(4)絕對(duì)值最大負(fù)數(shù)

解:

二進(jìn)制代碼

十進(jìn)制真值

(1)非0最小正數(shù)

0.001

2-15

(2)最大正數(shù)

0.111

1-2-15

(3)絕對(duì)值最小負(fù)數(shù)

1.111

-2-15

(4)絕對(duì)值最大負(fù)數(shù)

1.000

-1

11.某浮點(diǎn)數(shù)字長16位,其中階碼6位,含1位符號(hào)位,補(bǔ)碼表示,以2為底;尾數(shù)10位(含1位數(shù)符),補(bǔ)碼表示,規(guī)格化。分別寫出以下各經(jīng)典值二進(jìn)制代碼與十進(jìn)制真值。

(1)非0最小正數(shù)

(2)最大正數(shù)

(3)絕對(duì)值最小負(fù)數(shù)

(4)絕對(duì)值最大負(fù)數(shù)

解:

二進(jìn)制代碼

十進(jìn)制真值

(1)非0最小正數(shù)

100000,0.

(2)最大正數(shù)

011111,0.

(3)絕對(duì)值最小負(fù)數(shù)

100000,1.

(4)絕對(duì)值最大負(fù)數(shù)

011111,1.

14.降低指令中一個(gè)地址碼位數(shù)方法是什么?

答:降低指令中一個(gè)地址碼位數(shù)方法是采取存放器尋址方式。

15.某主存單元地址碼與存放單元內(nèi)容對(duì)應(yīng)關(guān)系以下:

地址碼

存放內(nèi)容

1000H

A307H

1001H

0B3FH

1002H

1200H

1003H

F03CH

1004H

D024H

(1)若采取存放器間接尋址讀取操作數(shù),指定存放器R0內(nèi)容為1002H,則操作數(shù)是多少?

(2)若采取自增型存放器間接尋址方式(R0)+,R0內(nèi)容為1000H,則操作數(shù)是多少?指令執(zhí)行后R0內(nèi)容是什么?

(3)若采取自減型存放器間接尋址方式-(R1)+讀取操作數(shù),R1內(nèi)容為1003H,則操作數(shù)是多少?指令執(zhí)行后R1內(nèi)容是什么?

(4)若采取變址尋址方式X(R2),指令中給出形式地址d=3H,變址存放器R2內(nèi)容為1000H,則操作數(shù)是多少?

解:(1)操作數(shù)為1200H。

(2)操作數(shù)為A307H,指令執(zhí)行后R0內(nèi)容1001H。

(3)操作數(shù)為F03CHH,指令執(zhí)行后R0內(nèi)容1002H。

(4)操作數(shù)為F03CHH。

16.對(duì)I/O設(shè)備編址方法有哪幾個(gè)?請(qǐng)稍作解釋。

答:對(duì)I/O設(shè)備編址方法有兩種:外圍設(shè)備單獨(dú)編址和外圍設(shè)備與主存統(tǒng)一編址。

外圍設(shè)備單獨(dú)編址:為I/O接口中關(guān)于存放器分配I/O端口地址,通常由地址總線若干低位提供I/O端口地址,從而選擇某個(gè)存放器進(jìn)行讀/寫。

外圍設(shè)備與主存統(tǒng)一編址。將I/O接口中關(guān)于存放器與主存單元統(tǒng)一編址,通常由地址碼中高端(地址值大)一段區(qū)域分配給I/O端口。

17.I/O設(shè)置方法有哪幾個(gè)?請(qǐng)稍作解釋。

答:I/O指令設(shè)置方法有三種:

(1)設(shè)置專用I/O指令:指令中操作碼明確要求某種輸入/輸出操作,CPU存放器號(hào),I/O端口地址。應(yīng)用于外圍設(shè)備單獨(dú)編址方式。

(2)用通用數(shù)據(jù)傳送指令實(shí)現(xiàn)I/O操作:應(yīng)用于外圍設(shè)備與主存單元統(tǒng)一編址方式。

(3)經(jīng)過I/O處理器或處理機(jī)控制I/O操作:應(yīng)用于采取協(xié)處理器或多處理機(jī)系統(tǒng)。習(xí)題三

1.試說明串行進(jìn)位和并行進(jìn)位不一樣之處。

答:采取串行進(jìn)位加法器,是將n個(gè)加法器串接起來。其中進(jìn)位是逐層形成,每一級(jí)進(jìn)位直接依賴前一級(jí)近位。因?yàn)榇羞M(jìn)位延時(shí)時(shí)間較長,所以速度很慢。

采取并行進(jìn)位加法器中,各加法器進(jìn)位信號(hào)僅由進(jìn)位產(chǎn)生函數(shù)Gi與進(jìn)位傳遞函數(shù)Pi及最低位進(jìn)位C0決定,而Gi和Pi之與本位Ai和Bi關(guān)于,即Gi與Pi形成是同時(shí),所以各級(jí)進(jìn)位輸出Ci也是同時(shí)形成。并行進(jìn)位有效地降低進(jìn)位延時(shí)時(shí)間。

3.用變形補(bǔ)碼計(jì)算[X]補(bǔ)+[Y]補(bǔ),并指出是否溢出,說明是正溢還是負(fù)溢。

(1)[X]補(bǔ)=00110011

[Y]補(bǔ)=00101101

00

110011

+)

00

101101

01

100000

[X]補(bǔ)+[Y]補(bǔ)=01100000,符號(hào)位為01,為正溢。

(2)[X]補(bǔ)=00010110

[Y]補(bǔ)=00100101

00

110110

+)

00

100101

01

011011

[X]補(bǔ)+[Y]補(bǔ)=01011011,符號(hào)位為01,為正溢。

(3)[X]補(bǔ)=11110011

[Y]補(bǔ)=11101101

11

110011

+)

11

101101

11

100000

[X]補(bǔ)+[Y]補(bǔ)=11100000,符號(hào)位為11,結(jié)果正確。

(4)[X]補(bǔ)=11001101

[Y]補(bǔ)=11010011

11

001101

+)

11

010011

10

100000

[X]補(bǔ)+[Y]補(bǔ)=10100000,符號(hào)位為10,為負(fù)溢。

3.用變形補(bǔ)碼計(jì)算[X]補(bǔ)-[Y]補(bǔ),并指出是否溢出,說明是正溢還是負(fù)溢。

(1)[X]補(bǔ)=00110011

[Y]補(bǔ)=00101101

解:[-Y]補(bǔ)=11010011

00

110011

+)

11

010011

00

000110

[X]補(bǔ)-[Y]補(bǔ)=00000110,符號(hào)位為00,結(jié)果正確。

(2)[X]補(bǔ)=00110011

[Y]補(bǔ)=11010011

解:[-Y]補(bǔ)=00101101

00

110011

+)

00

101101

01

000000

[X]補(bǔ)-[Y]補(bǔ)=01000000,符號(hào)位為01,為正溢。

(3)[X]補(bǔ)=00100011

[Y]補(bǔ)=00110100

解:[-Y]補(bǔ)=11001100

00

110011

+)

11

001100

11

111111

[X]補(bǔ)-[Y]補(bǔ)=11111111,符號(hào)位為11,結(jié)果正確。

(4)[X]補(bǔ)=00101010

[Y]補(bǔ)=11110111

解:[-Y]補(bǔ)=00001001

00

101010

+)

00

001001

00

110011

[X]補(bǔ)-[Y]補(bǔ)=00110011,符號(hào)位為00,結(jié)果正確。

6.用無符號(hào)數(shù)一位乘法計(jì)算X×Y,寫出規(guī)范運(yùn)算過程。

(1)X=1001

Y=1101

(2)X=1101

Y=1111

(3)X=1010

Y=1001

7.用無符號(hào)數(shù)不恢復(fù)余數(shù)法求X÷Y,寫出運(yùn)算過程,分別給出求得商和余數(shù)。

(1)X=00101001

Y=1011

(2)X=00110110

Y=1111

(3)X=01011010

Y=1001

8.簡明解釋以下名詞術(shù)語:

微命令,同時(shí)控制方式,指令周期,機(jī)器周期,時(shí)鐘周期,時(shí)鐘脈沖,指令流程,微指令,微程序,微周期,直接控制編碼,分段直接譯碼法,分段間接譯碼法,增量方式,斷定方式,垂直型微指令,水平型微指令。

答:微命令——組成控制信號(hào)序列最小單位。比如打開或關(guān)閉某個(gè)控制門電位信號(hào),某個(gè)存放器打入脈沖等。

同時(shí)控制方式——同時(shí)控制方式是這么一個(gè)時(shí)序控制方式:各種操作都由統(tǒng)一時(shí)序信號(hào)同時(shí)定時(shí),它主要特征是有固定時(shí)鐘周期劃分。這意味著什么時(shí)間執(zhí)行什么操作是事先安排好。一個(gè)基本操作占用一個(gè)時(shí)鐘周期(節(jié)拍),某個(gè)操作發(fā)生時(shí)刻由對(duì)應(yīng)脈沖邊緣定時(shí)。

指令周期——指令周期是從取指令、分析指令到執(zhí)行完該指令所需時(shí)間。不一樣指令,其指令周期長短能夠不一樣。

機(jī)器周期——在組合邏輯機(jī)控制器中,通常將指令周期劃分為幾個(gè)不一樣階段,每個(gè)階段所需時(shí)間,稱為機(jī)器周期。比如,取指令周期、存放器讀周期、存放器寫周期等。

時(shí)鐘周期——一個(gè)機(jī)器周期操作通常需分為幾步完成。所以,將一個(gè)機(jī)器周期劃分為若干相等時(shí)間段,每個(gè)時(shí)間段內(nèi)完成一步基本操作,這個(gè)時(shí)間段用一個(gè)電平信號(hào)寬度對(duì)應(yīng),稱為節(jié)拍或時(shí)鐘周期。

指令流程——指令流程表現(xiàn)了計(jì)算機(jī)工作原理中一個(gè)關(guān)鍵內(nèi)容:CPU到底怎樣執(zhí)行指令流程?通常是給出一條特定指令,以模型機(jī)CPU內(nèi)部組成為背景,用存放器傳送級(jí)語句描述其讀取與執(zhí)行流程。

微指令——若干微命令組合,以編碼形式存放在控制存放器一個(gè)單元中,控制實(shí)現(xiàn)一步操作。一條微指令功效就是給出完成指令某步操作所需微操作控制信號(hào)和后繼微指令地址。

微程序——一條微指令包含微命令控制實(shí)現(xiàn)一步(一個(gè)時(shí)鐘周期)機(jī)器操作;若干條微指令組成一小段微程序,解釋實(shí)現(xiàn)一條機(jī)器指令;控制存放器中微程序能解釋實(shí)現(xiàn)全部指令系統(tǒng)。

微周期——通常指從控制存放器讀取一條微命令并執(zhí)行對(duì)應(yīng)微操作所需時(shí)間。

直接控制編碼——是指微指令微命令字段中每一位都代表一個(gè)微命令。設(shè)計(jì)微指令時(shí),選取或不選取某個(gè)微命令,只要將表示該微命令對(duì)應(yīng)位設(shè)置成1或0就能夠了。

分段直接譯碼法——將微指令微命令字段分成若干小段,把相斥性微命令組合在同一段中,而把相容性微命令組合在不一樣段中,每個(gè)字段獨(dú)立編碼,每種編碼代表一個(gè)微命令,且各字段編碼單獨(dú)定義,與其它字段無關(guān),這被稱為分段直接譯碼法。

分段間接譯碼法——是在直接譯碼法基礎(chǔ)上,深入縮短字長一個(gè)編碼方法。在這種編碼法中,一個(gè)字段含義不但取決于本字段編碼,還兼由其它字段來解釋,方便使用較少信息位表示更多微命令。

增量方式——與工作程序用程序計(jì)數(shù)器產(chǎn)生指令地址相同。在微程序控制器中,可設(shè)置一個(gè)微程序計(jì)數(shù)器μPC,在次序執(zhí)行指令時(shí),后繼微指令地址由現(xiàn)行微地址(即μPC內(nèi)容)加上一個(gè)增量(通常為1)來形成,碰到轉(zhuǎn)移時(shí),由微指令給出轉(zhuǎn)移微地址,使微程序按新次序執(zhí)行。

斷定方式——指后繼地址可由程序設(shè)計(jì)者指定,或者依照微指令所要求測試結(jié)果直接決定后繼微地址全部或部分值。

垂直型微指令——垂直型微指令特征是微指令較短,微指令并行操作那里有限,通常一條微指令只能控制數(shù)據(jù)通路一二種信息傳送操作。

水平型微指令——它有以下特征:微指令較長,微指令中微操作具備高度并行性,微指令編碼簡單。優(yōu)點(diǎn)是執(zhí)行效率高,靈活性好,微程序條數(shù)較少。

9.試說明模型機(jī)中以下存放器是作用:

通用存放器,暫存器,IR,PC,MAR,MDR

答:通用存放器——是一組可編程訪問,具備多個(gè)功效存放器。本身在邏輯上只具備接收信息、存放信息和發(fā)送信息作用,但經(jīng)過編程與運(yùn)算部件配合能夠?qū)崿F(xiàn)多個(gè)功效,如可為ALU提供操作數(shù)并存放運(yùn)算結(jié)果,也可用作變址存放器、地址指針和計(jì)數(shù)器等。

暫存器——用來暫存從主存放器讀出數(shù)據(jù)以及從ALU輸出端輸出運(yùn)算結(jié)果。

IR——用來存放當(dāng)前正在執(zhí)行一條指令。

PC——提供指令地址,即指示程序進(jìn)程。當(dāng)現(xiàn)行指令執(zhí)行完成后,由PC提供后繼指令地址,并送往地址存放器MAR。

MAR——用于存放CPU訪問主存或I/O接口地址。

MDR——用于存放CPU于主存或I/O接口之間傳送數(shù)據(jù)。

10.模型機(jī)脈沖型微命令有哪些?

答:模型機(jī)中脈沖型微命令有:CPR0,CPR1,CPR2,CPR3,CPIR,CPPC,CPSP,CPMDR,CPMAR,CPD,CPC,CPZ

11.何謂組合邏輯控制器?何謂微程序控制器?試比較它們優(yōu)缺點(diǎn)。

CPU經(jīng)過組合邏輯電路產(chǎn)生微命令,對(duì)應(yīng)控制器稱為組合邏輯控制器。優(yōu)點(diǎn):速度快。缺點(diǎn):設(shè)計(jì)較凌亂,不易修改擴(kuò)充,應(yīng)用于快速CPU中。

CPU采取微程序控制方式來產(chǎn)生微命令,對(duì)應(yīng)控制器稱為微程序控制器。優(yōu)點(diǎn):設(shè)計(jì)比較規(guī)整,易于修改擴(kuò)充。缺點(diǎn):速度較組合邏輯控制器慢。

12.擬出下述指令讀取與執(zhí)行流程:

(1)MOV

R0,R2

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R2→C

ET0

C→R0

(2)MOV

R1,(PC)+

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→C

ST2

PC+1→Z

ST3

Z→PC

ET0

C→R0

(3)MOV

-(SP),-(R1)

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R1-1→Z

ST1

Z→MAR,R1

ST2

M→MDR→C

DT0

SP-1→Z

DT2

Z→MAR,SP

ET0

C→MDR

ET1

MDR→M

(4)MOV

(R0)+,X(R3)

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→D,PC+1→PC

ST2

D+R3→Z

ST3

Z→MAR

ST4

M→MDR→C

DT0

R0→MAR

DT1

R0+1→Z

DT2

Z→R0

ET0

C→MDR

ET1

MDR→M

(5)MOV

(R0),(PC)+

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→C

ST2

PC+1→Z

ST3

Z→PC

DT0

R0→MAR

ET0

C→MDR

ET1

MDR→M

(6)MOV

DI,(SP)+

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

SP→MAR

ST1

M→MDR→C

ST2

SP+1→Z

ST3

Z→SP

DT0

PC→MAR

DT1

M→MDR→MAR,PC+1→PC

ET0

C→MDR

ET1

MDR→M

13.擬出下述程序讀取與執(zhí)行過程:

(1)ADD

R0,X(R1)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→D,PC+1→PC

ST2

D+R1→Z

ST3

Z→MAR

ST4

M→MDR→C

DTO

R0→D

ET0

CADDD→Z

ET1

Z→R0

(2)SUB

(R1)+,(PC)+

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→C

ST2

PC+1→Z

ST3

Z→PC

DT0

R0→MAR

DT1M→MDR→D

DT2R0+1→Z

DT3Z→R0

ET0

CSUBD→Z

ET1

Z→MDR

ET2

MDR→M

(3)AND

(R3)+,R0

解:FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R0→C

DT0

R3→MAR

DT1

M→MDR→D

DT2

R3+1→Z

DT3

Z→R3

ET0

CANDD→Z

ET1

Z→MDR

ET2

MDR→M

(4)OR

R0,DI

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→MAR,PC+1→PC

ST2

M→MDR→C

DT1

R0→D

ET0

CORD→Z

ET1

Z→R0

(5)EOR

-(R2),R1

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R1→C

DT0

R2-1→Z

DT1

Z→MAR,R2

DT2

M→MDR→D

ET0

CEORD→Z

ET1

Z→MDR

ET2

MDR→M

(6)INC

-(R2)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT0

R2-1→Z

DT1

Z→MAR,R2

DT2

M→MDR→D

ET0

INCD→Z

ET1

Z→MDR

ET2

MDR→M

(7)DEC

(R1)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT0

R1→MAR

DT1

M→MDR→D

ET0

DECD→Z

ET1

Z→MDR

ET2

MDR→M

(8)COM

(R0)+

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT0

R0→MAR

DT1

M→MDR→D

DT2

R0+1→Z

DT3

Z→R0

ET0

COMD→Z

ET1

Z→MDR

ET2

MDR→M

(9)NEG

DI

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT0

PC→MAR

DT1

M→MDR→MAR,PC+1→PC

DT2

M→MDR→D

ET0

NEGD→Z

ET1

Z→MDR

ET2

MDR→M

(10)SAL

R1

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT1

R1→D

ET0

SALD→Z

ET1

Z→R1

(11)SAR

R2

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

DT1

R2→D

ET0

SARD→Z

ET1

Z→R2

14.擬出下述程序讀取與執(zhí)行過程:

(1)JMP

R1

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ET0

R1→PC

(2)JMP

(R0)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ET0

R0→MAR

ET1

M→MDR→PC

(3)JMP

X(PC)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

PC→MAR

ST1

M→MDR→D

ST2

D+PC→Z

ST3

Z→PC

(4)RST

(SP)+

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ET0

SP→PC

ET1

M→MDR→PC

ET2

SP+1→Z

ET3

Z→PC

(5)JSR

R0

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R0→C

ET0

SP-1→Z

ET1

Z→MAR,SP

ET2

PC→MDR

ET3

MDR→M

ET4

C→PC

(6)JSR

(R3)

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

STO

R3→MAR

ST1

M→MDR→C

ET0

SP-1→Z

ET1

Z→MAR,SP

ET2

PC→MDR

ET3

MDR→M

ET4

C→PC

(7)JSR

(R2)+

解:

FT0

PC→MAR

FT1

M→MDR→IR,PC+1→PC

ST0

R2→MAR

ST1

M→MDR→C

ST2

R2+1→Z

ST3

Z→R2

ET0

SP-1→Z

ET1

Z→MAR,SP

ET2

PC→MDR

ET3

MDR→M

ET4

C→PC習(xí)題四

3.在8086/8088CPU中,分別進(jìn)行以下8位二進(jìn)制數(shù)運(yùn)算后,標(biāo)志存放器中OF、ZF、SF、CF值各是多少?(1)10101011+01010101

結(jié)果,

OF=0,ZF=1,SF=0,CF=1

(2)11011010+11101101

(3)01010101–

(4)10110011–01100010

4.在002B0H和002B3H字單元中,分別存放了2個(gè)16位字2C53H和1F0EH,試用圖表示它們?cè)诖娣牌髦写娣徘闆r。

答案:

5.試說明段基址和段基值不一樣之處。

答:一個(gè)段起始單元地址稱為段基址(20位),其低4位必須位0(可被16整除)。

段基址高16位稱為段基值,它保留在段存放器CS、DS、SS、ES中。

6.

試說明8086/8088主存放器邏輯地址由哪兩部分組成。

答:邏輯地址:段基值:偏移量

7.

設(shè)某一存放單元物理地址是34567H,試完成以下不一樣邏輯地址表示。

(1)3456H:0007H

(2)3400H:0567H

8.

假設(shè)某個(gè)程序裝入主存后,(SS)=0500H,(SP)=64H,試計(jì)算該程序堆棧棧底物理地址。

解:SP內(nèi)容為棧頂單元相對(duì)堆棧段段基址字節(jié)距離(偏移量)。當(dāng)SP初始化時(shí),其值為棧頂長度(這時(shí)SP指向棧底+2單元)。所以堆棧棧底物理地址為:

0500H×10H+64H-2

=05062H

習(xí)題

9.假設(shè)堆棧存放器(SS)=1E2CH,程序中設(shè)定堆棧長度為100個(gè)字節(jié)。試計(jì)算該程序堆棧棧底字單元物理地址,堆棧指針SP初始值(即堆棧中沒有數(shù)據(jù)時(shí))和SP初始值指向物理地址。解:100=64H

堆棧棧底字單元物理地址:1E2CH×10H+64H-2=1E322H

堆棧指針SP初始值:

64H

SP初始值指向物理地址:1E2CH×10H+64H=1E324H

習(xí)題

10.

設(shè)(SP)=40H,(BX)=1234H,(DS)=5678H.如現(xiàn)有兩條壓棧指令:

PUSH

BX

PUSH

DS試問兩條指令執(zhí)行后,圖4–46中各單元數(shù)據(jù)是多少?(SP)等于多少?

答:(SP)=3CH

習(xí)題11.設(shè)(SP)=60H,則執(zhí)行下述3條指令后,(水平)值為多少?PUSH

AX;(SP)=5EHPUSH

BX;(SP)=5CHPOP

CX;(SP)=5EH

解:(SP)=5EH

習(xí)題12.試分別說明以下各指令中源操作數(shù)和目標(biāo)操作數(shù)使用尋址方式,試說明怎樣確定有效地址EA.

(1)ADDAX,

0A51H

(2)MOVBL,

DATA1

(3)MOVDS,AX

(4)

ANDAL,VAR1+2

(5)TEST[SI],

CL

(6)

ORARRY[BX],-1

(7)SUBDS:[01FEH],

DX

(8)ADC[BP][DI],BH

(9)ANDCX,-19[BX][SI]

(10)PUSHES

(11)CLC;CF←0

13.試分別指出以下各指令語句語法是否有錯(cuò)誤,若有錯(cuò),指明是什么錯(cuò)誤。

(1)MOVAL,0F5H;√(2)

(2)ADD

[BX][BP],BX;√(3)

(3)CMP

AL,100H

;√(4)

(4)TEST

[BP],DL

;√(5)

(5)ADC

15H,CL

;×ADC是單操作數(shù)指令;目標(biāo)地址不能為立刻數(shù)(6)

(6)SUB

[DI],DA_WORD;×源操作數(shù)和目標(biāo)操作數(shù)不能同時(shí)為存放器操作數(shù)(7)

(7)OR

CH,CL;√(8)

(8)MOV

AL,1000H;×源操作數(shù)和目標(biāo)操作數(shù)類型屬性不一致(9)

(9)SAR

10H[DI],2

;√移位次數(shù)大于1時(shí),應(yīng)由CL指定移位次數(shù)

(10)NOT

AL,BL;×NOT是單操作數(shù)指令(11)(11)DEC

CX,1

;×DEC是單操作數(shù)指令(12)(12)LEA

ES,TAB[BX];×LEA指令目標(biāo)地址必須是通用存放器14.執(zhí)行下面2條指令后,標(biāo)志存放器中CF,AF,ZF,SF和OF分別是多少?MOVAL,91;91=01011011BADDAL,0BAH;0BAH=10111010B15.假設(shè)(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH.試給出以下各指令或程序段執(zhí)行分別執(zhí)行結(jié)果.(1)

(1)MOVCL,20H[BX][SI]解:源操作數(shù)物理地址:(DS)×10H+20H+(BX)+(SI)

將09226H字節(jié)單元內(nèi)容送CL,結(jié)果(CL)=00F6H

(2)MOV[BP][DI],CX

解:目標(biāo)操作數(shù)物理地址:

(SS)×10H+(BP)+(DI)

將CX存放器內(nèi)容傳送到1E4F6H字單元,結(jié)果(1E4F6H)=(CX)=5678H

(3)

(3)LEABX,20H[BX][SI]MOVAX,2[BX]解:執(zhí)行完第一句指令后,BX內(nèi)容為:

第二句指令中,源操作數(shù)物理地址為EA=(DS)×10H+2+(BX)

將09228H字單元內(nèi)容送AX存放器,結(jié)果(AX)=1E40H

(4)LDSSI,[BX][DI]MOV[SI],BX

解:第一句指令中源操作數(shù)邏輯地址為DS:(BX)+(DI)

其偏移量為(BX)+(DI)=0024H+0032H=0056H,

執(zhí)行完第一句指令后,(SI)=0056H

第二句指令中,源操作數(shù)物理地址為(DS)×10H+(SI)=091D0H+0056H=09226H

將BX存放器內(nèi)容送09226單元,結(jié)果(09226H)=(BX)=0024H

(5)(5)XCHGCX,32H[BX]XCHG20H[BX][SI],AX

解:第一句指令中源操作數(shù)物理地址為(DS)×10H+32H+(BX)=09226H

09226H字單元和CX存放器內(nèi)容交換,結(jié)果(CX)=00F6H,(09226H)=5678H

第二句指令中目標(biāo)操作數(shù)物理地址為(DS)×10H++20H+(BX)+(SI)=09226H

09226H字單元和存放器AX內(nèi)容交換,結(jié)果(09226H)=1234H,(AX)=5678H

16.假設(shè)(SS)=0915H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H.現(xiàn)有一指令“MOVAX,OPRD”,若源操作數(shù)物理地址為095C0H,試用4種不一樣尋址方式改寫此指令,并要求最少使用上述條件一次.解:源操作數(shù)物理地址與DS段基址差為095C0H–09300H=2C0H①

MOVAX,100H[DI];源操作數(shù)物理地址為:(DS)×10H+100H+(DI)=09300H+100H+1C0H=095C0H②MOVAX,220H[SI];源操作數(shù)物理地址為:(DS)×10H+220H+(SI)=09300H+220H+0A0H=095C0H③MOVAX,240H[BX];源操作數(shù)物理地址為:(DS)×10H+240H+(BX)=09300H+240H+080H=095C0H④MOVAX,1A0H[SI][BX];源操作數(shù)物理地址為:(DS)×10H+0A0H+(SI)+(BX)=09300H+1A0H+0A0H+080H=095C0H

18.假設(shè)(AX)=0A5C6H,(CX)=0F03H,則以下4條指令執(zhí)行后,(AX)=81C6H,CF=1.STC;

CF=1RCLAX,CL;

AX=0010111000110110,CF=1ANDAH,CH;

AH=00001110,CF=0RCRAX,CL;

AX=1000000111000110,CF=1

19.假設(shè)(AX)=0FC77H,(CX)=504H,則以下4條指令執(zhí)行后,(AX)=,CF=.CLC;CF=0SARAX,CL;(AX)=1111111111000111,CF=0XCHGCH,CL;(CX)=405HSHLAX,CL;(AX)=1111100011100000,CF=1

20.假設(shè)(AX)=1234H,(BX)=0FFFFH,則下述3條指令執(zhí)行后,(AX)=1236H,(BX)=0001H.INCAX;(AX)=1235HNEGBX;(BX)=0000000000000001B=0001HADDAX,BX;(AX)=1236H

21.假設(shè)(AX)=0FFFFH,則下述程序段執(zhí)行后,(AX)=0001H.INCAX;(AX)=0000HNEGAX;(AX)=0000000000000001B=0000HDECAX;(AX)=0FFFFHNEGAX;(AX)=0001H

22.假設(shè)(BX)=12FFH,則下述程序段執(zhí)行后,(BX)=0012H,ZF=0,CF=0.MOVCL,8;(CL)=8ROLBX,CL;(BX)=1111111100010010B=0FF12HANDBX,0FFH;(BX)=0012HCMPBX,0FFH;(BX)=0012HCF=0,ZF=0解:①第一句指令執(zhí)行后,(CL)=8②第二句指令執(zhí)行后,(BX)=1111111100010010B=0FF12H

③第三句指令執(zhí)行后,(BX)=0012H

④第四句指令執(zhí)行后,(BX)=0012HCF=0,ZF=0

23.假設(shè)(AX)=0B55BH,(DX)=0F0FH,則下述程序段執(zhí)行后,(AX)=0FBABH.ANDAH,DL;(AX)=055BHXORAL,DH;(AX)=0554HNEGAH;(BX)=1111101101010100B=0FD54HNOTAL;(AX)=1111101110101011H=0FBABH

24.假設(shè)(AX)=0FF60H,則下述程序段執(zhí)行后,(AX)=0,CF=0.STC;

CF=1MOVDX,96;(DX)=0060HXORDH,0FFH;

(DX)=1111111101100000B=0FF60HSBBAX,DX;(AX)=0

25.假設(shè)(AL)=08H,(BL)=07H,則以下程序段執(zhí)行后,(AH)=01H,(AL)=05H,CF=1.ADDAL,BLAAA

26.假設(shè)DF=0,(DS:0100H)=01A5H,則下述程序段執(zhí)行后,(AL)=0A5H,SI=0102H.MOVSI,0100HLODSW

解:LODSW指令功效:①AX←(DS:(SI))②SI←(SI)±1或2③對(duì)標(biāo)志位無影響執(zhí)行后,(AX)=01A5H,即(AL)=0A5H,(SI)=0102H

28.試按以下要求分別編制程序段:

(1)

(1)把標(biāo)志存放器符號(hào)位置“1”.

解:

LAHF

OR

10000000B

SAHF

(2)

(2)存放器AL中高低4位交換.解:MOVCL,4ROLAL,CL

或MOVCL,4RORAL,CL

(3)假設(shè)有3個(gè)字存放單元A,B,C,Z在不使用ADD和ADC指令情況下,實(shí)現(xiàn)

(A)+(B)→C.

解:

MOV

AX,A

MOV

BX,N

NEG

BX

SUB

AX,BX

MOV

C

,AX(5)

(4)把DX,AX中32位無符號(hào)數(shù)右移2位.

解:SHR

DX,1

RCR

AX,1

SHR

DX,1

RCR

AX,1

(5)用一條指令把CX只整數(shù)轉(zhuǎn)變?yōu)槠鏀?shù).

解:OR

CX,1

(6)把AX第1,3位求反,其余各位保持不變.

解:XOR

AX,1010B

(7)依照AX中有0位對(duì)BX中對(duì)應(yīng)位求反,其余位保持不變.

解:NOT

AX習(xí)題五1.設(shè)VAR1,VAR2是變量名,請(qǐng)指出以下語句語法是否有錯(cuò).如有錯(cuò),指出是什么錯(cuò)誤.(1)(1)MOVAX,VAR1+VAR2;錯(cuò)誤,變量有段屬性和偏移量屬性,不能直接相加減.(2)(2)MOVCX,VAR1–VAR2;同上(3)(3)MOVBL,ALSHR3;正確(4)(4)MOVDX,AXAND0FFH;正確(5)(5)MOV[SI],4;正確(6)(6)NEGVAR1[DI];正確(7)(7)ADDBYTEPTR[BX],1000;錯(cuò)誤,操作數(shù)類型不一致.(8)(8)MOVAL,OFFSETVAR1;錯(cuò)誤,操作數(shù)類型不一致.2.在執(zhí)行以下指令尋找操作數(shù)時(shí),需要使用段存放器DS指令有哪些?

(1(1)LODSB

(2)

STOSB

(3)

ADD

BX,34H

(4)

SHL

[BP],1

(5)

NEG

[BX]√

(6)(6)

SHR

[SI],1√

(7)

(7)

MOV

AX,[SI]√

(8)(8)

SBB

BX,[DI]√

(9)

(9)

MOVSB√

(10)

CMPSB√

3.

DB1

DB

5

DUP[3

DUP(2)

2

DUP(3)]

MOV

AL,DB1+4

MOV

BX,WORD

PTR

DB1[3]

上面2條指令執(zhí)行后,(AX)=?(BX)=?

答:(AL)=3,(BX)=0202H

4.下面程序段執(zhí)行后,存放器AX,BX內(nèi)容是多少?

ARY_W

DW

10H

DUP(1234H)

ARY_B

EQU

BYTE

PTR

ARY_W

……

MOV

AX,ARY_W+2

MOV

BL,ARY_B+2

答:(AX)

=

1234H,

(BX)

=

34H

5.下面指令執(zhí)行后,存放器DS和SI內(nèi)容是多少?

ADRDW1234H,5678H,0ABCDH

LDSSI,ADR+1

答:(DS)=ADR段基址,(SI)=(ADR+1)偏移量

6.有以下數(shù)據(jù)段:

DATASEGMENTORG30H

CONEQU10H

S1DB‘IBMPC’DB0AH,0DH

CONTEQU$-S1

S2DW‘IB’,’M’,’PC’,0A0DH

DATAENDS

上述數(shù)據(jù)段中S1,S2偏移量分別是多少?CONT值和S2+5字節(jié)單元內(nèi)容是多少?

答:S1偏移量為30H,S2偏移量為38H,CONT=8,

(S2+5)=‘P’=50H

7.下面各語句匯編后,變量CON1,CON2和CON3內(nèi)容是多少?

N1=10=(00001010)2

N2=5=(00000101)2

N3=3=(00000011)2

CON1DB(N1ANDN2ORN3)GE0FH

CON2DW(N2ANDN1XORN3)LE0FH

CON3DB(N1MODN3)LT(N2SHR1)

解:

(CON1)=00H

(CON2)=0FFFFH

(CON3)=0FFH

8.設(shè)(DX)=80=0000000001010000B,CF=1

MOV

AX,0AA50H

;

(AX)=1010101001010000B

XOR

AH,0FFH

;

(AX)=0101010101010000B

ORDH,55H

;55H=01010101B

(DX)=0101010101010000B

SBB

AX,DX

;(AX)=0FFFFH,(DX)=5550H

上述指令序列執(zhí)行后,(AX)=?

(DX)=?

解:(AX)=0FFFFH,(DX)=5550H

9.設(shè)AX,BX,DX中都有數(shù)據(jù)0AAH,下面3條指令執(zhí)行后,AX,BX,CX中內(nèi)容分別是多少?

AND

AX,-2

OR

BX,-2

XOR

CX,-2

解:

11.

DATA1EQUBYTEPTRDADA2

DATA2DW0A987H,3456H

……SARDATA1+1,1MOVAX,DATA2+1SALDATA2+1,1MOVBX,DATA2=1上述指令執(zhí)行后,(AX)=?(BX)=?CF=?以DATA2為首地址兩個(gè)字單元內(nèi)容是多少?解:SARDATA1+1,1;移位前10101001,移位后,CF=1MOVAX,DATA2+1;(AX)=3456HSALDATA2+1,1;移位前0011010001010110移位后0110100010101100,CF=0MOVBX,DATA2+1;(BX)=68ACH

12.

MOVAL,0FH

XORAL,0FFH

MOVCL,7

SHRAL,CL

上述幾條指令執(zhí)行后,(AL)=?,如將SHR指令換成ROR或RCR,那么AL內(nèi)容分別為多少?

解:執(zhí)行XOR

AL,0FFH后

執(zhí)行

SHR

AL,CL后,

結(jié)果,(AL)=00000000B=0

13.以W1為首地址各字節(jié)單元中分別存有數(shù)字0~9。下面程序運(yùn)行后,以W2為首地址各字節(jié)單元中內(nèi)容分別是什么?

W1DB0,1,2,3,4,5,6,7,8,

W2DB$-W1DUP(0)

……

MOVCX,LENGTHW2

MOVSI,OFFSETW1

MOVDI,OFFSETW2

CLD

LOP:LODSB

ADDAL,’A’

STOSB

LOOPLOP

14.

DATASEGMENTORG$+10H

DA1DB‘ABCDEFEDCBA’

DA2DB‘E’

DATAENDS

……LEADI,DA1MOVAL,DA2MOVCX,DA2–DA1CLDREPNESCASB

上述程序段運(yùn)行后,(DI)=?(CX)=?

答:(DI)=DA1+4,(CX)=5

16.

DATASEGMENT

VAR1DB?,?

VAR2DB?,?

ADRDW

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論