計(jì)算機(jī)組成原理與匯編語言課后習(xí)題及作業(yè)答案_第1頁
計(jì)算機(jī)組成原理與匯編語言課后習(xí)題及作業(yè)答案_第2頁
計(jì)算機(jī)組成原理與匯編語言課后習(xí)題及作業(yè)答案_第3頁
計(jì)算機(jī)組成原理與匯編語言課后習(xí)題及作業(yè)答案_第4頁
計(jì)算機(jī)組成原理與匯編語言課后習(xí)題及作業(yè)答案_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《計(jì)算機(jī)組成原理與匯編語言》課后習(xí)題及作業(yè)答案

王建東2006年9月

第一章習(xí)題參考答案

1、什么是存儲(chǔ)程序工作方式?

(P.2.)

答:(1)事先編制程序

(2)實(shí)現(xiàn)存儲(chǔ)程序

(3)自動(dòng)、連續(xù)地執(zhí)行程序

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

(P.5.)

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

(2)在表示數(shù)值時(shí),可以獲得很寬的表示范圍以及很高的精度。

(3)數(shù)字化的信息可以存儲(chǔ),信息傳送也比較容易實(shí)現(xiàn)。

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

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

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

0000000

0001000

0010100

0100010

0111110

0100010

0100010

0100010

0000000

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

(P.16.)

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

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

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

(4)具有很強(qiáng)的信息存儲(chǔ)能力

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

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

(P.17.)

答:(1)基本字長

(2)數(shù)據(jù)通路寬度

(3)運(yùn)算速度

(4)主存儲(chǔ)器容量

(5)外存容量

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

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

6、舉出一種實(shí)際計(jì)算機(jī),列舉出各部件、設(shè)備的技術(shù)性能及常配置的軟件?

7、軟件系統(tǒng)一般包含哪些部分?列舉你熟悉的三種系統(tǒng)軟件。

(P.9.)

答:系統(tǒng)軟件是一組使計(jì)算機(jī)良好運(yùn)行而編制的基礎(chǔ)軟件。它包括:

(1)操作系統(tǒng)如:Windows2000,Linux,Unix

(2)編譯程序、解釋程序如:C++編譯程序,Peal解釋程序

(3)各種軟件平臺(tái)如:數(shù)據(jù)庫管理系統(tǒng)

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

(P.11.)

答:對(duì)源程序的處理有解釋和編譯兩種類型。

解釋方式是邊解釋邊執(zhí)行。如:BASIC它的優(yōu)點(diǎn)是支持人機(jī)對(duì)話方式的程序設(shè)計(jì),可以邊執(zhí)行邊

修改;所需要的主存空間較小。但這種方式執(zhí)行速度較慢,不能解釋那些前后關(guān)聯(lián)較多,較難理解的

程序設(shè)計(jì)語言。

編譯方式是將源程序全部翻譯成機(jī)器語言的指令序列,稱為目標(biāo)程序(目標(biāo)代碼)。執(zhí)行時(shí),計(jì)

算機(jī)將直接執(zhí)行目標(biāo)程序,不再需要源程序與翻譯程序。在執(zhí)行程序時(shí),所需主存小,執(zhí)行速度也較

快。

第二章習(xí)題參考答案

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

(P.25.)

53

答:(101010.01)2=1X2+1X2+1X2'+1X2'=(42.25)10

=(01000010.00100101)BCD

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

(P.25.)

答:(37.2)8=3x8=7x80+2x8'=(31.25),o

=(00110001.00100101)

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

(P.25.)

答:(AC.E*10xl6'+12xl60+14xl6f=(172.875),?

=(000101110010.100001110101)?

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

(P.25.)

答:(73.34)io=(1001001.010101011)2

=(111.253)8

=(49.55))?

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

(P.25.)

7

答:(13/128),0=(1101/10000000)2=(1101/2)2

=(0.0001101)2

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

(P30.)

答:⑴0原碼=00000000補(bǔ)碼=00000000

(2)-0原碼=10000000補(bǔ)碼=無

(3)0.1010原碼=01010000補(bǔ)碼=01010000

(4)-0.1010原碼=11010000補(bǔ)碼=10110000

(5)1010原碼=00001010補(bǔ)碼=00001010

(6)-1010原碼=10001010補(bǔ)碼=11110110

7、若X"=0.1010,則X原、真值等于什么?

(P.33.)

答:X行0.1010,XK=0.1010,真值=+0.1010

8、若X/1.1010,則X^、真值等于什么?

(P.33.)

答:X產(chǎn)1.1010,XKI=1.0110,真值=-0.0110

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

(P.35.)

答:真值代碼

非零最小正數(shù)+2年0000000000000001

最大正數(shù)1-2*0111111111111111

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

絕對(duì)值最大負(fù)數(shù)-(1-2")1111111111111111

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

值。

(P.35.)

答:真值代碼

非零最小正數(shù)+2150000000000000001

最大正數(shù)1-2150111111111111111

絕對(duì)值最小負(fù)數(shù)-2-151111111111111111

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

11、某浮點(diǎn)數(shù)字長16位,其中階碼6位,含1位階符,補(bǔ)碼表示,以2為底;尾數(shù)10位(含1位數(shù)

符),補(bǔ)碼表示,規(guī)格化。分別寫出下列各典型值的二進(jìn)制代碼與十進(jìn)制真值。

(P.37.m=5,n=9)

答:代碼真值

非零最小正數(shù)100000,0.100000000略

最大正數(shù)011111,0.111111111略

絕對(duì)值最小負(fù)數(shù)100000,1.100000000略

絕對(duì)值最大負(fù)數(shù)011111,1.000000000略

12、若采用圖2-2IEEE754短浮點(diǎn)數(shù)格式,請(qǐng)將十進(jìn)制數(shù)37.25寫成浮點(diǎn)數(shù),列出其二進(jìn)制代碼序列。

(P.37.)

110

答:(37.25)10=(100101.01)2=(0.10010101x2)2

00000011010010101000000000000000

13、簡(jiǎn)化地址結(jié)構(gòu)的基本途徑是什么?

(P.42.)

答:采用隱地址(隱含約定)可以簡(jiǎn)化指令地址結(jié)構(gòu),即減少指令中的顯地址數(shù)。

14、減少指令中一個(gè)地址碼位數(shù)的方法是什么?

(P.46.)

答:采用寄存器尋址方式、寄存器間址方式可以使指令中為給出一個(gè)地址所需的位數(shù)減少。

15、某主存部分單元的地址碼與存儲(chǔ)內(nèi)容對(duì)應(yīng)關(guān)系如下:

地址碼存儲(chǔ)內(nèi)容

1000HA307H

1001H0B3FH

1002H1200H

1003IIF03CH

1004HD024H

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

(2)若采用自增型寄存器間址方式(RO)+,R0內(nèi)容為1000H,則操作數(shù)是多少,指令執(zhí)行完后,R0

內(nèi)容是什么?

(3)若采用自增減型寄存器間址方式-(RI),R1內(nèi)容為1003H,則操作數(shù)是多少,指令執(zhí)行完后,

R1內(nèi)容是什么?

(4)若采用變址尋址方式,X(R2),指令中給出形式地址d=3H,變址寄存器R2內(nèi)容為1000H,

則操作數(shù)是多少?

(P.47.)

答:⑴操作數(shù)為120011

(2)操作數(shù)為A307H,R0=1001H

(3)操作數(shù)為1200H,為=1002H

(4)操作數(shù)為F03cH

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

(P.52.)

答:I/O設(shè)備的編址方法有兩類

(1)外圍設(shè)備單獨(dú)編址

為每臺(tái)設(shè)備分配一個(gè)設(shè)備碼?;?yàn)镮/O接口中的有關(guān)寄存器分配I/O端口地址,。

(2)外圍設(shè)備統(tǒng)一編址

將I/O接口中的有關(guān)寄存器與主存單元統(tǒng)一編址,為它們分配統(tǒng)一的總線地址。

17、對(duì)I/O指令的設(shè)置方法有哪幾種?請(qǐng)稍作解釋。

(P.52.)

答:常見I/O指令的設(shè)置方法:

(1)設(shè)置專用的I/O指令

(2)用通用的數(shù)據(jù)傳送指令實(shí)現(xiàn)I/O操作

(3)通過I/O處理器或處理機(jī)控制I/O操作

第三章習(xí)題參考答案

1、試說明串行進(jìn)位和并行進(jìn)位方式的不同之處。

(P.61.)

答:

串行進(jìn)位中進(jìn)位是逐級(jí)形成的,每一級(jí)的進(jìn)位直接依賴于前一級(jí)的進(jìn)位,延遲時(shí)間較長,但節(jié)省

器件,成本低。

并行進(jìn)位中,各位進(jìn)位信號(hào)都有獨(dú)自的進(jìn)位形成邏輯,每位進(jìn)位信號(hào)的產(chǎn)生時(shí)間都相同,與低位

進(jìn)位無關(guān),可有效地減少進(jìn)位延遲時(shí)間。但這是以增加邏輯線路為代價(jià)的。

2、用74181和74182芯片構(gòu)成一個(gè)64位的ALU,采用分級(jí)分組并行進(jìn)位鏈。畫出邏輯框圖,并注明

輸入、輸出等。

參考(P.63.圖3-6)

答:P.63.圖3-6畫出了一個(gè)16位的并行進(jìn)位ALU結(jié)構(gòu)(每個(gè)74181芯片處理4位,16位需要4

片74181芯片,組間用1片74182芯片產(chǎn)生組間并行進(jìn)位。)

64位ALU,可采用4組圖3-6的結(jié)構(gòu),每組處理16位,再用1片74182,處理組間進(jìn)位。

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

(P.66.)

答:

(1)[X]?=00,110011[Y]t,.=00,101101

[X]?+[Y]H=01,100000,正溢出

(2)[X]?h=00,010110[Y]樸=00,100101

[X]#+[Y]tt=00,111011無溢出

(3)[X]樸=00,1110011[Y]補(bǔ)=11,101101

[X]?+[Y]tt=11,100000,無溢出

(4)[X]tt=l1,001101[Y]lh=l1,010011

[X]樸+[丫]樸=10,100000,負(fù)溢出

4、用變形補(bǔ)碼計(jì)算[X]k[Y]樸,并指出是否溢出。

(P.64.P.66.)

答:

(1)[X]tt=00,110011[Y]^=00,101101[-Y]ib=ll,010011

[X]tt-[Y]tt=[X]樸」-Y]樸=00,000110

(2)[X]tt=00,110011[Y]th=ll,010011[-0,101101

[X]#-[Y]?=[X]tt+[-Y]?=01,100000

(3)[X]樸=00,100011[Y]tt=00,110100[-Y]th=l1,001100

[X]tt-[Y]tt=[X]tt>L-Y]?=11,101111

(4)[X]tt=ll,101010[Y]IF=11,110111[-Y]th=00,110111

[X][Y]補(bǔ)[X]樸**丫]補(bǔ)=11,110011

5、設(shè)兩個(gè)浮點(diǎn)數(shù)X=2"Ux0.llOllk,Y=2⑹°x(-0.101001)2,其浮點(diǎn)格式為:階碼4位,尾數(shù)8

位,且均用雙符號(hào)位補(bǔ)碼表示。試按浮點(diǎn)加減運(yùn)算規(guī)則計(jì)算[X]樸+[Y]樸和[X]補(bǔ)-[Y]補(bǔ)

(P.70.)

答:按照浮點(diǎn)格式:階碼4位,尾數(shù)8位,且均用雙符號(hào)位補(bǔ)碼表示

階碼尾數(shù)

2]浮=1101;00.110111

[丫]浮=1110;11.010111

執(zhí)行[X]補(bǔ)+[丫]補(bǔ)的過程:

(1)對(duì)階

求階差[Ex]產(chǎn)1101[Ey]th=1110[-Ey]tt=0010

[△E]=[Ex][Ey[補(bǔ)JEX]樸+[-Ey]產(chǎn)1101+0010=1111

[△E]=T表明X的階碼較小,按對(duì)階規(guī)則,將X尾數(shù)右移一位,其階碼加1,得:

區(qū)|浮=1110;00.0110111按舍0入1的原則

日]浮=1110;00.011100

(2)尾數(shù)求和

00.011100+11.010111=11.110011

3規(guī)格化及判溢出

尾數(shù)不是規(guī)格化的數(shù),需要左移2位,規(guī)格化,11.nooii->11.001100

階碼減2:1100

[X*+[Y]產(chǎn)1100;11.001100

溢出問題:-4WEW3而Ex+y=-4未溢出

4不用舍入

由于是左規(guī),結(jié)果不需要舍入。[X]?+[Y]?b=1100;11.001100

100

=2x(0.110111)2

執(zhí)行[X]y[Y]補(bǔ)的過程:

(1)對(duì)階

求階差[Ex]行1101[Ey]lh=1110[-Ey]tt=0010

[△E]=[Ex]-[Ey]樸jEx]補(bǔ)+-Ey].=1101+0010=1111

[△E]=T表明X的階碼較小,按對(duì)階規(guī)則,將X尾數(shù)右移一位,其階碼加1,得:[X]

浮=1110;00.0110111按舍0入1的原則

口]浮=1110;00.011100

(2)尾數(shù)相減

[Mx](r00.011100[My]補(bǔ)=11.010111[-MyLn-00.101001

[Mx]補(bǔ)-[My].[Mx][-My]#=00.011100+00.101001=01.000101

3規(guī)格化及判溢出

溢出問題:尾數(shù)數(shù)符為01,發(fā)生正溢出,結(jié)果不正確。

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

(P.74.)(綠色數(shù)字代表部分積,紫色代表部分積進(jìn)位,紅色是被乘數(shù),褐色是乘數(shù))

答:

(1)X=1001Y=1101

B(被乘數(shù))1001

CaA(部分積)C(乘數(shù))

000001101

000001101

+B1001

co=o1001

01001110

+0()000

co=o0100

00100111

+B1001

co=o1011

01011011

+B1001

co=o1110

01110101

X*Y=01110101

(2)X=1101Y=11H

B(被乘數(shù))

CaA(部分積)C(乘數(shù))

000001111

000001111

+B1101

co=o1101

01101111

+B1101

C0=10011

10011111

+B1101

co=10110

10110111

+B1101

C0=11000

11000011

X*Y=11(MM)()11

(3)X=1010Y=1001

B(被乘數(shù))1010

CaA(部分積)C(乘數(shù))

000001001

000001001

+B1010

co=o1010

01010100

+00000

co=o0101

00101010

+00000

co=o0010

00010101

+B1010

C0=01011

01011010

X*Y=01011010

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

(P.76.)

答:(紅色是被除數(shù),褐色是除數(shù))

(1)x=ooioiooiY=ion

B(除數(shù))01011[-B]補(bǔ)=10101

A(被除數(shù)高位)C(被除數(shù)低位)

000101001初始狀態(tài)

<-001010010A、C左移一位

+)-B10101減除數(shù)

A<0110100010A<0,商0,下步左移后+B

<-101000100A、C左移一位

+)+B01011加除數(shù)

A<0111110100A<0,商0,下步左移后+B

<-111101000A、C左移一位

+)+B01011加除數(shù)

A>0010011001AM),商1,下步左移后-B

<-100110010A、C左移一位

+)-B10101減除數(shù)

A>0010000011A>0,商1

余數(shù)商

XvY=0011余1000

(2)X=00110110Y=llll

B(除數(shù))01111[-B]補(bǔ)=10001

A(被除數(shù)高位)C(被除數(shù)低位)

000110110初始狀態(tài)

<-001101100A、C左移一位

+)-B10001減除數(shù)

A<0101111100A<0,商0,下步左移后+B

<-011111000A、C左移一位

+)+B01111加除數(shù)

A<0111101000A<0,商0,下步左移后+B

<-111010000A、C左移一位

+)+B01111加除數(shù)

A>0011000001AM),商1,下步左移后-B

<-110000010A、C左移一位

+)-B10001減除數(shù)

A>0010010011A>0,商1

余數(shù)商

XvY=OOll余1001

(3)X=01011010Y=1001

B(除數(shù))01001[-B]補(bǔ)=10111

A(被除數(shù)高位)C(被除數(shù)低位)

001011010初始狀態(tài)

<-010110100A、C左移一位

+)-B10111減除數(shù)

A>0000100101A>0,商1,下步左移后-B

<-001001010A、C左移一位

+)-B10111減除數(shù)

A<0110111010A<0,商0,下步左移后+B

<-101110100A、C左移一位

+)+B01001加除數(shù)

A>0000000101AX),商1,下步左移

<-000001010A、C左移一位,

余數(shù)商(因?yàn)橛鄶?shù)為0,商補(bǔ)0)

X-rY=1010余0000

8、簡(jiǎn)要解釋下列名詞術(shù)語:

答:

微命令:(p.81.)微操作命令是最基本的控制信號(hào),通常是指直接作用于部件或控制門電路的控制信

號(hào),簡(jiǎn)稱微命令。

同步控制方式:(p.84.)同步控制方式是指各項(xiàng)操作由統(tǒng)一的時(shí)序信號(hào)進(jìn)行同步控制,,各個(gè)微操作

必須在規(guī)定時(shí)間內(nèi)完成,到達(dá)規(guī)定時(shí)間就自動(dòng)執(zhí)行后繼的微操作。

指令周期:(P.85.)指令周期是指從取指令、分析指令到執(zhí)行完該指令所需的時(shí)間。不同的指令,其

指令周期的長短也可以不同。

機(jī)器周期:(p.85.)在組合邏輯控制器中,通常將指令周期劃分為幾個(gè)不同的階段,每個(gè)階段所需的

時(shí)間,稱為機(jī)器周期,又稱CPU工作周期或基本周期。(如取指周期、存儲(chǔ)器讀周期、存儲(chǔ)器寫周期、

等)

時(shí)鐘周期:(P.86.)將一個(gè)機(jī)器周期劃分為若干相等的時(shí)間段,每個(gè)時(shí)間段內(nèi)完成一步基本操作。這

個(gè)時(shí)間段用一個(gè)電平信號(hào)寬度對(duì)應(yīng),稱為節(jié)拍或時(shí)鐘周期。一個(gè)機(jī)器周期由若干個(gè)節(jié)拍組成,不同的

機(jī)器周期,或不同指令中的同一機(jī)器周期,包含的節(jié)拍數(shù)可能不同。

時(shí)鐘脈沖:(p.86.)在時(shí)序系統(tǒng)中由時(shí)鐘發(fā)生器產(chǎn)生時(shí)鐘脈沖信號(hào),作為時(shí)序系統(tǒng)的基本定時(shí)信號(hào)。

指令流程:(P.94.)指令流程是指令序列的讀取與執(zhí)行過程,即討論CPU的工作機(jī)制。

微指令:(p.105.)若干個(gè)微命令的組合,以編碼形式存放在控制存儲(chǔ)器的一個(gè)單元中,控制實(shí)現(xiàn)一

步操作。

微程序:(p.105.)一系列微指令的有序集合

微周期:(p.105.)通常指從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行相應(yīng)的微操作所需的時(shí)間。

直接控制編碼:(p.105.)直接控制編碼是指微指令的微命令字段中每一位都代表一個(gè)微命令。設(shè)計(jì)

微指令時(shí),選用或不選用某個(gè)微命令,只要將該微命令的對(duì)應(yīng)位設(shè)置成1或0就可以了。因此微命令

的產(chǎn)生不需譯碼。

分段直接編譯法:(p.106.)分段直接編譯法是在直接編譯法基礎(chǔ)上,進(jìn)一步縮短微指令字長的一種

編碼方法。在這種編譯法中,一個(gè)字段的含義不僅決定于本字段編碼,還兼由其它字段來解釋,以便

使用較少的信息位表示更多的微命令。

增量方式:(p.108.)在微程序控制器中,可設(shè)置一個(gè)微程序計(jì)數(shù)器(RPC),在順序執(zhí)行微指令時(shí),

后繼指令地址由現(xiàn)行微地址(即RPC內(nèi)容)加上一個(gè)增量(通常為1)來形成,遇到轉(zhuǎn)移時(shí),由微指

令給出轉(zhuǎn)移微地址,使微程序按新的順序執(zhí)行。

斷定方式:(p.108.)斷定型微地址是指后繼微地址可由程序設(shè)計(jì)者指定,或者根據(jù)微指令所規(guī)定的

測(cè)試結(jié)果直接決定后繼微地址的全部或部分值。

垂直型微指令:(p.109.)微指令較短,微指令的并行操作能力有限,一般一條微指令只能控制數(shù)據(jù)

通路的一二種信息傳送操作。

水平型微指令:(P.109.)微指令較長,微指令中的微操作具有高度并行性。特點(diǎn):執(zhí)行效率高,靈

活性好,微程序條數(shù)少,因此廣泛應(yīng)用于速度較快的機(jī)器中,但其微指令字較長,復(fù)雜程度高,難以

實(shí)現(xiàn)微程序設(shè)計(jì)自動(dòng)化。

9、試說明模型機(jī)中下列寄存器的作用:

(P.78.)

答:

通用寄存器:RO、RI、R2、R3這是一組可編程訪問,具有多種功能的寄存器。在指令系統(tǒng)中為這些

寄存器分配了編號(hào)即寄存器地址,因此可編程指定使用某個(gè)寄存器。通用寄存器本身在邏輯上只具有

接收信息、存儲(chǔ)信息和發(fā)送信息的功能。但通過編程與運(yùn)算部件的配合就可以實(shí)現(xiàn)多種功能。

暫存器:暫存器有3個(gè),C,D,Z??梢杂脕頃捍鎻闹鞔鎯?chǔ)器讀出的數(shù)據(jù),這個(gè)數(shù)據(jù)是不能存放在通

用寄存器中,否則會(huì)破壞其原有的內(nèi)容。指令系統(tǒng)中沒有為暫存器分配編號(hào),因此程序員不能編程訪

問它們,因而是透明的。

IR:指令寄存器IR,用來存放當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),應(yīng)先將指令從主存中

讀出到IR中。

PC:程序計(jì)數(shù)器又稱為指令計(jì)數(shù)器或指令指針I(yè)P,它的作用是提供指令的地址。PC具有加1計(jì)數(shù)功

能,并可以編程訪問。

PS:程序狀態(tài)字寄存器又稱為標(biāo)志寄存器,用來存放現(xiàn)行程序的運(yùn)行狀態(tài)和工作方式,其內(nèi)容稱為程

序狀態(tài)字PWS。

MAR:地址寄存器MAR,用于存放CPU訪問主存或I/O接口的地址。

MDR:數(shù)據(jù)寄存器MDR,用于存放CPU訪問主存或I/O接口之間傳送的數(shù)據(jù)。

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

(P.81)

答:模型機(jī)中,各寄存器均采用同步打入脈沖將ALU總線上的數(shù)據(jù)打入其中。脈沖型微命令有:CP”,

CPm,CPpc,CP1R,CPsr,CPuAR,CPilDR,

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

(P.87.P.102.P.103.)

答:

組合邏輯控制器是用邏輯門電路產(chǎn)生微命令的。每個(gè)微命令都需要一組邏輯門電路,根據(jù)相應(yīng)的

邏輯條件(如指令的操作碼、尋址方式、時(shí)序信號(hào)等)產(chǎn)生該微命令。組合邏輯控制器一旦制造完成,

這些邏輯電路之間的連接關(guān)系就固定了,不易改動(dòng),所以又稱為硬連邏輯控制器。

微程序控制器是采用微程序控制方式來產(chǎn)生微命令。基本思想:(1)將機(jī)器指令分解為基本的微

命令序列,用二進(jìn)制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。(2)一條微指

令包含的微命令,控制實(shí)現(xiàn)一步(一個(gè)節(jié)拍)操作;若干條微指令組成的一小段微程序解釋執(zhí)行一條

機(jī)器指令。

組合邏輯控制器其速度主要取決于電路延遲,因此在高速計(jì)算機(jī)如RISC處理器和巨型機(jī)中,常

采用這種速度較快的硬連控制方式,但組合邏輯控制器的邏輯形態(tài)不規(guī)則,設(shè)計(jì)效率低,檢查調(diào)試難,

一旦制造完成,這些邏輯電路之間的連接關(guān)系就固定了,不易改動(dòng)。

微程序控制方式,將程序技術(shù)引入到CPU的構(gòu)成級(jí),即像編制程序那樣編制微命令序列,從而使

設(shè)計(jì)規(guī)整化。它將存儲(chǔ)結(jié)構(gòu)因入CPU,只要修改所存儲(chǔ)的代碼即微命令信息,就可修改有關(guān)的功能與

執(zhí)行的方式。

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

(P.99.)

答:

MOVRO,R2

FTOPC-?MAR

FT1MfMDR今IR,PC+19PC

ETOR2->RO

MOVRI,(PC)+

FTOPC今MAR

FT1M今MDR今IR,PC+16PC

STOPC今MAR

STIMfMDRTD

ST2PC+1今Z

ST3ZfPC

ETODfRI

13、擬出下述指令的讀取與執(zhí)行流程:。

(P.99.)

答:

ADDRO,X(R1)

FTOPC->MAR

FT1M今MDRIR,PC+1今PC

STOPCfMAR

STIM今MDR6D,PC+1->PC

ST2I)+RI9Z

ST3Z今MAR

ST4M今MDR今D

ETOROADDD-?Z

ET1Z玲RO

SUB(Rl)+,(PC)+

FTOPC今MAR

FT1M玲MDR玲IR,PC+19PC

STOPC玲MAR

STIMfMDR-?D

ST2PC+1TZ

ST3ZfPC

DTORI-?MAR

DTIM9MDR今C

DT2Rl+1玲Z

DT3ZTRI

ETOCSUBD-?Z

ET1Z今MDR

ET2MDR)M

(6)INC-(R2)

FTOPC->MAR

FT1MfMDR玲IR,PC+1今PC

DTOR2T玲Z

DTIZfMAR,R2

DT2M玲MDR玲D

ETOINCDfZ

ET1ZTMDR

ET2MDRfM

14、擬出下述指令的讀取與執(zhí)行流程:。

(P.100.)

答:

JMPR1

FTOPC今MAR

FT1MMDR玲IR,PC+1-?PC

ETORI-?PC

RST(SP)+

FTOPC)MAR

FT1M今MDR今IR,PC+16PC

ETOSP玲MAR

ET1MMDR-?PC

ET2SP+19Z

ET3ZTSP

JSR(R3)

(P.101)

FTOPC今MAR

FT1M玲MDR今IR,PC+1立PC

STOR3->MAR

STIMfMDR9C

ETOSP-1-?Z

ET1ZfMAR,SP

ET2PC玲MDR

ET3MDR-?M

ET4C9PC

第四章課后練習(xí)參考答案

1、8086/8088CPU中有哪些寄存器?各有什么用途?

(P.117.)

答:8086/8088CPU中有:

通用寄存器:AX累加寄存器

BX基址寄存器

CX計(jì)數(shù)寄存器

DX數(shù)據(jù)寄存器

SP堆棧指針寄存器

BP基址指針寄存器

SI源變址寄存器

DI目的變址寄存器

段寄存器:CS代碼段寄存器

DS數(shù)據(jù)段寄存器

SS堆棧段寄存器

ES附加段寄存器

控制寄存器:IP指令指針

FLAGS標(biāo)志寄存器

2、試說明8086/8088CPU中標(biāo)志寄存器各標(biāo)志位的含義。

(P.120.)

答:8086/8088CPU中設(shè)有一個(gè)16位標(biāo)志寄存器FR,用來記錄程序執(zhí)行時(shí)的狀態(tài)。FR中共有9個(gè)標(biāo)

志位。

0CF:進(jìn)位標(biāo)志位有進(jìn)位(或借位)時(shí),CF=1;否則置0

2PF:奇偶標(biāo)志位低8位中含“1”的個(gè)數(shù)為偶數(shù)時(shí),PF=1;否則置0

4AF:輔助進(jìn)位標(biāo)志位低字節(jié)中低4位有進(jìn)位(或借位)時(shí),AF=1;否則置0

6ZF:零值標(biāo)志位結(jié)果各位全為“0”時(shí),ZF=1

7SF:符號(hào)標(biāo)志位結(jié)果最高位為1時(shí).,SF=1,否則置0

8TF:?jiǎn)尾綐?biāo)志位設(shè)置TF=1時(shí),CPU進(jìn)入單步執(zhí)行指令工作方式

9IF:中斷標(biāo)志位設(shè)置IF=1時(shí),允許CPU響應(yīng)可屏蔽中斷請(qǐng)求。

10DF:方向標(biāo)志位DF=0時(shí),執(zhí)行串操作指令,SI或DI內(nèi)容自動(dòng)遞增,否則遞減。

11OF:溢出標(biāo)志位運(yùn)算結(jié)果超出補(bǔ)碼表示數(shù)的范圍OF=1。

3、在8086/8088CPU中,分別進(jìn)行下列8位二進(jìn)制數(shù)的運(yùn)算后,標(biāo)志寄存器中OF,ZF,SF,CF的

值各是多少?

(P.120.P.66.)

答:

(1)10101011+01010101

1,0101011

+0,1010101

10,0000000

0F=0,無溢出;

ZF=O,結(jié)果各位為全0;

SF=O,結(jié)果最高位為0;

CF=1,有進(jìn)位;

(2)11011010+11101101

1,1011010

+1,1101101

11,1000111

0F=0,無溢出;

ZF=1.結(jié)果各位不為全0;

SF=1,結(jié)果最高位為1;

CF=1,有進(jìn)位;

(3)01010101-00111110=01010101+11000010

0,1010101

+1,1000010

10,0010111

0F=0,無溢出;

ZF=1,結(jié)果各位不為全0:

SF=0,結(jié)果最高位為0;

CF=1,有進(jìn)位;

(4)10110011-01100010

10110011-01100010=10110011+10011110

1,0110011

+1,0011110

10,1010001

0F=0,有溢出;

ZF=1,結(jié)果各位不為全0;

SF=0,結(jié)果最高位為0;

CF=1,有進(jìn)位;

4、在002B0H和002B3H字單元中,分別存放了2個(gè)16位字2C53H和1F0EH,試用圖表示出它們?cè)诖?/p>

儲(chǔ)器中的存放情況。

(P.120.P.66.)

5、試說明段基址與段基值的不同之處。

(P.122.P.116.)

答:8086/8088將1M字節(jié)的主存空間按需要?jiǎng)澐譃槿舾啥?segment),每個(gè)段都由連續(xù)的字節(jié)單元

組成,最大長度為64K字節(jié)。一個(gè)段起始單元的地址,稱為段基址(segmentbaseaddress)20

位。8086/8088對(duì)段基址是有所限制的,不能起始于任意地址,要求其低4位必須為0(被16整除)。

在1M字節(jié)的地址空間中,可作為段基址的共有64K個(gè),可表示如下:

00000H,00010H,00020H,…,F(xiàn)FFEOH,FFFF0H。

段基址的高16位稱為段基值(segmentbasevalue如:

0000H,0001H,0002H,…,F(xiàn)FFEH,FFFFH。

6、試說明8086/8088主存儲(chǔ)器的邏輯地址由哪兩部分組成。

(P.129.)

答:8086/8088主存儲(chǔ)器的邏輯地址由段基值和偏移量兩部分組成。

段基值由某個(gè)寄存器提供。

偏移量是指存放操作書的存儲(chǔ)單元與段其始地址(段基址)之間的字節(jié)距離。

7、設(shè)某一存儲(chǔ)單元的物理地址是34567H,試完成下列不同的邏輯地址表示。

(P.129.)

答:

(1)3456H:0007II

(2)3400H:0567H

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

址。

(P.126.)

答:(SS)=0500H

(SP)=64H為堆棧的長度(此時(shí)SP指向棧底+2單元)

棧底字單元的物理地址為05000II+64H-2=0506211

9、設(shè)堆棧段寄存器(SS)=1E2CH,程序中設(shè)置堆棧的長度為100個(gè)字節(jié)。試計(jì)算該程序的堆棧棧底

字單元的物理地址,堆棧指針SP的初始值(即堆棧中沒有數(shù)據(jù)時(shí))和SP初始值指向的物理地址。

(P.126.)

答:(SS)=1E2CH

堆棧的長度為100個(gè)字節(jié),則堆棧指針SP的初始值:(SP)=100II

$P初始值所指向的物理地址為:1E2C0H+100H=1E3COH

棧底字單元的物理地址為1E3C0H-2=1E3BEH

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

PUSHBX

PUSHDS

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

(P.126.)

答:主存

0000011

(SP)今783CH

563DI1

343EH

123FH

XX4011

XX

FFFFFH

各單元的數(shù)據(jù)如上圖所示,(SP)等于40H-2H-2H=3CH

11、設(shè)(SP)=60H,則執(zhí)行下述3條指令后,(SP)的值為多少?

PUSHAX

PUSHBS

POPCX

(P.126.)

答:(SP)=60H-2H-2H+2H=5EH

12、試分別說明下列各指令中源操作數(shù)使用的尋址方式。若操作數(shù)是存儲(chǔ)器尋址方式,試說明如何確

定有效地址EA?

答:⑴ADDAX,0A51H立即尋址(P.128.)

(2)MOVBL,DATA1直接尋址(P.129.)EA=DATA1

(3)MOVDS,AX寄存器尋址(P.128.)

(4)ANDAL,VAR+2直接尋址(P.130.)EA=VAR+2

(5)TEST[SI],CL寄存器間接尋址(P.130.)EA=SI

(6)ORARRY[BX],-1基址尋址(P.131.)EA=ARRY+BX

(7)SUBDS:[01FEH],DX直接尋址(P.130.)EA=01FEH

(8)ADC[BP][DI],BII基址變址尋址(P.133.)EA=BP+DI

(9)ANDCX,-19[BX][SI]基址變址尋址(P.133.)EA=BX+SI

(10)PUSHES寄存器尋址(P.128.)

(11)CLC(清進(jìn)位標(biāo)志)寄存器尋址(P.128.)

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

答:(1)MOVAL,0F5H正確

(2)ADD[BX][BP],BX錯(cuò)誤,不能同時(shí)使用[BX][BP]進(jìn)行尋址(P.131.)

(3)CMPAL,100H錯(cuò)誤,AL為8位,100H大于8位,類型不匹配。

(4)TEST[BP],DL正確

(5)ADC15,CL錯(cuò)誤,目的操作數(shù)不能是立即數(shù)

(6)SUB[DI],DA_WORD錯(cuò)誤,兩個(gè)操作數(shù)不能同時(shí)是存儲(chǔ)器操作數(shù)。(P.136.)

(7)ORCH,CL正確

(8)MOVAL,1000H錯(cuò)誤,AL為8位,1000H為16位,類型不匹配。

(9)SAR1OH[DI],2錯(cuò)誤,AL為8位,移位多次必須CL中。(P.150.)

(10)NOTAL,BL錯(cuò)誤,邏輯非操作是單操作指令。(P.149.)

(IDDECCX,1錯(cuò)誤,邏輯非操作是單操作指令。(P.143.)

(12)LEAES,TAB[BX]錯(cuò)誤,目的寄存器只能是通用寄存器。(P.139.)

14、執(zhí)行下面2條指令后,標(biāo)志寄存器中CF、AF、ZF、SF和0F分別是什么狀態(tài)?

MOVAL,91

ADDAL,OBAH

答:91H=10010001

+OBAH=10111010

101001011

CF=1(有進(jìn)位)AF=O(無輔助進(jìn)位)ZF=O(結(jié)果不為0)

SF=O(符號(hào)標(biāo)志位)0F=l(有溢出)

15、假設(shè)(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,

(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E4OH,(1E4F6H)=091DH.試給出

下列各指令或程序段的分別執(zhí)行的結(jié)果。

答:

(1)MOVCL,20H[BX][SI]

有效地址EA=2OH+[BX]+[SI]=2011+002411+001211=005611

邏輯地址DS:0056H

物理地址=091I)0H+0056H=09226H(邏輯地址左移1為加有效地址)

CL=[09226H]=00F6H

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

有效地址EA=[BP]+[DI]=0024H+0032H=0056H

邏輯地址SS:005611

物理地址=1E4A0H+0056H=lE4F6H

[1E4F6H]=CX=5678H

(3)LEABX,20H[BX][SI]

MOVAX,2[BX]

有效地址EA=2OH+[BX]+[SI]=20H+0024H+0012H=0056H

BX=0056H

有效地址EA=2H+[BX]=2H+0056H=0058H

邏輯地址DS:0058H

物理地址=091D0H+0058H=09228H

AX=[O9228H]=1E4OH

(4)LDSSI,[BX][DI]

MOV[SI],BX

有效地址EA=[BX]+[DI]=0024H+0032H=0056H

邏輯地址DS:0056H

物理地址=09lD0H+0056H=09226H

SI=[09226H]=00F6H

DS=[09226H+2H]=[09228H]=1E40H

有效地址EA=[SI]=00F6H

邏輯地址DS:00F6H

物理地址=1E4OOH+OOF6H=1E4F6H

[1E4F6H]=BX=OO2仙

(5)XCHGCX,32H[BX]

XCHG2011[BX][SI],AX

有效地址EA=32H+EBX]=32H+0024H=0056H

邏輯地址DS:0056H

物理地址=091D0H+0056H=09226H

CX=[09226H>00F6H

[09226H]=5678H

有效地址EA=20H+[BX]+[SI]=20H+0024H+0012H=0056H

邏輯地址DS:0056H

物理地址=091D0H+0056H=09226H

[09226H]=1234H

AX=00F6H

16、假設(shè)(SS)=0915H,(DS)=0930H,(SI)=OAOH,(DI)=1COH,(BX)=80H,(BP)=470H,現(xiàn)有

一條指令"MOVAX,OPRD",若源操作數(shù)的物理地址為095C0H,試用4種不同尋址方式改寫此指

令,并要求至少使用上述條件一次。

答:

(1)MOVAX,220H[SI]

(2)MOVAX,100H[DI]

(3)MOVAX,15OH[BX]

(4)MOVAX,[BP]

17、假設(shè)(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H,則下述程序段執(zhí)行后,

(DS)_,(SI)=,(AX);.

答:

LEASI,[SI];SI=124H

MOVAX,[SI];AX=[12340H+124H]=[12464H]=30ABH

MOV[SI+22H],120011;[12340H+12仙+22H]=[12486]=1200H

LDSSI,[SI+20H];SI=[12340H+124H+20H]=[12484H]=464H

DS=[12486H]=1200H

ADDAX,[SI];AX=[12000H+464H]=[12464H]=30ABH

程序段執(zhí)行后,(DS)=1200H,(SI)=464H,(AX)=30ABH。

18、假設(shè)(AX)=0A5c6H,(CX)=0F03H,則下述3條指令執(zhí)行后,(AX)=,(CF)=

答:

STC;(P.408.)進(jìn)位位置位,CF<=1,

RCLAX,CL;(AX)=0A5C6H=1010010111000110

CL=03H循環(huán)左移3次。CF=1

(AX)=0100101110001101CF=1

(AX)=1001011100011011CF=O

(AX)=0010111000110110CF=1

ANDAH,CH;(AH)=00101110

A(CH)=00001111

(AH)=00001110

RCRAX,CL(AX)=0000111000110110循環(huán)右移3次。CF=1

(AX)=1000011100011011CF=O

(AX)=0100001110001101CF=1

(AX)=1O1OOOO111OOO11O=OB1C6I1CF=1

則下述3條指令執(zhí)行后,(AX)=

溫馨提示

  • 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)論