指令系統(tǒng)復(fù)習(xí)市公開課一等獎百校聯(lián)賽獲獎?wù)n件_第1頁
指令系統(tǒng)復(fù)習(xí)市公開課一等獎百校聯(lián)賽獲獎?wù)n件_第2頁
指令系統(tǒng)復(fù)習(xí)市公開課一等獎百校聯(lián)賽獲獎?wù)n件_第3頁
指令系統(tǒng)復(fù)習(xí)市公開課一等獎百校聯(lián)賽獲獎?wù)n件_第4頁
指令系統(tǒng)復(fù)習(xí)市公開課一等獎百校聯(lián)賽獲獎?wù)n件_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(2)地址碼指令中地址碼用來指出該指令源操作數(shù)地址(一個或兩個)、結(jié)果地址及下一條指令地址。這里地址能夠是主存地址,也能夠是存放器地址,甚至能夠是I/O設(shè)備地址。①四地址OPA1A2A3A486666A1

第一操作數(shù)地址A2

第二操作數(shù)地址A3

結(jié)果地址A4

下一條指令地址(A1)OP(A2)A34次訪存?

(指地址字段均為主存地址情況:取指令一次,取操作數(shù)兩次,存結(jié)果一次)直接尋址范圍26=64設(shè)指令字長為32位操作碼固定為8位若用PC代替A4——3地址指令注:此種格式現(xiàn)已不用第1頁②三地址8888OPA1A2A3(A1)OP(A2)A34次訪存?同上直接尋址范圍28=256③二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A2)A2或4次訪存?同上④一地址⑤零地址OPA1824無地址碼(ACC)OP(A1)ACC2次訪存?(取指一次,取操作數(shù)一次)直接尋址范圍212=4K直接尋址范圍224=16M

NOP、HLT指令:無地址碼RET、IRET指令:操作數(shù)地址是隱含(隱含在堆棧指針中)。注:現(xiàn)慣用此幾個格式,尤其是二地址、一地址指令。第2頁2.擴(kuò)展操作碼技術(shù)OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作碼8位操作碼12位操作碼16位操作碼最多15條三地址指令最多15條二地址指令最多15條一地址指令16條零地址指令初始OP、A1、A2、A3各占4位——操作碼位數(shù)隨地址數(shù)降低而增加注:擴(kuò)展操作碼指令格式第3頁擴(kuò)展方法不惟一,如:三地址指令操作碼每降低一個可最多構(gòu)成24種二地址指令二地址指令操作碼每降低一個可最多組成24

種一地址指令24

4指是要擴(kuò)展成操作碼地址碼字段長度第4頁3.指令字長

指令字長度取決于操作碼長度、操作數(shù)地址長度和操作數(shù)地址個數(shù)。為了充分利用存放空間,指令字長度也定為字節(jié)長度整數(shù)倍。早期計算機(jī),指令字長=機(jī)器字長=存放字長(2)指令字長可變:(1)指令字長固定:當(dāng)代計算機(jī),指令字長可變,按字節(jié)倍數(shù)改變指令字長度等于機(jī)器字長度指令,稱為單字長指令;指令字長等于兩個機(jī)器字長指令,稱為雙字長指令;指令字長度只有半個機(jī)器字長度指令,稱為半字長指令。注:了解即可第5頁例1:假設(shè)指令字長為16位,操作數(shù)地址碼為6位,指令有零地址、一地址、二地址三種格式。

(1)設(shè)操作碼固定,若零地址指令有M種,一地址指令有N種,則二地址指令最多有幾個?(2)采取擴(kuò)展操作碼技術(shù),二地址指令最多有幾個?解:(1)依據(jù)操作數(shù)地址碼為6位,則二地址指令中操作碼位數(shù)為:

16-2*6=4。

4位操作碼可有16種操作。因為操作碼固定,則除去了零地址指令M種,一地址指令N種,剩下二地址指令最多有:16-M-N種。000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000000001111110…(2)采取擴(kuò)展操作碼技術(shù),操作碼位數(shù)可隨地址數(shù)降低而增加。對于二地址指令,4位操作碼,共16種編碼,去掉一個編碼(如1111)用于一地址指令擴(kuò)展,最多二地址指令可有15種操作。第6頁(4)采取擴(kuò)展操作碼技術(shù),若二地址指令有P條,零地址指令有Q條,則一地址指令最多有幾個?000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000000001111110…6位6位解:1)二地址指令共24

條,每降低一個,可擴(kuò)展一地址指令26

條,故可擴(kuò)展一地址指令:(24–P)×26

條;

2)一地址指令共(24–P)×26

條,每降低一條可擴(kuò)展26條零地址指令,

設(shè)一地址指令共X種,則,零地址指令:

Q=((24–P)×26–X)×26

X=(24–P)×26

-Q×2-6

解:二地址指令可擴(kuò)展一地址指令:(24–P)×26

一地址指令可擴(kuò)展零地址指令:((24–P)×26–Q)×26

(3)采取擴(kuò)展操作碼技術(shù),若二地址指令有P條,一地址指令有Q條,則零地址指令最多有幾個?第7頁(二)指令尋址方式

存放器既能夠存放數(shù)據(jù)又能夠存放指令。所以當(dāng)某個操作數(shù)或某條指令存放在某個存放單元時,其存放單元編號,就是該操作數(shù)或指令在存放器中地址。

尋址方式——

確定本條指令

操作數(shù)地址(數(shù)據(jù)尋址)

下一條

欲執(zhí)行指令

指令地址(指令尋址)尋址方式分指令尋址和數(shù)據(jù)尋址。第8頁1.指令尋址次序(PC)+1PC跳躍由轉(zhuǎn)移指令實現(xiàn)LDA1000ADD1001DEC1200JMP7LDASUBINCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令次序?qū)ぶ?次序?qū)ぶ?次序?qū)ぶ?跳躍尋址7次序?qū)ぶ?經(jīng)過程序計數(shù)器PC加1,自動形成下一條指令地址。第9頁2.數(shù)據(jù)尋址形式地址:指令字中地址有效地址:操作數(shù)真實地址(用EA表示),由尋址方式和形式地址共同確定。約定指令字長=存放字長=機(jī)器字長(1)馬上尋址

指令執(zhí)行階段不訪存A位數(shù)限制了馬上數(shù)范圍形式地址A操作碼尋址特征OP#A馬上尋址特征馬上數(shù)

可正可負(fù),補(bǔ)碼表示形式地址A就是操作數(shù)以一地址指令為例#號是馬上尋址特征標(biāo)識

下面,要注意指令格式中有效地址EA表示第10頁(2)直接尋址EA=A操作數(shù)主存尋址特征OPAA

執(zhí)行階段訪問一次存放器A位數(shù)決定了該指令操作數(shù)尋址范圍

操作數(shù)地址不易修改(必須修改A)有效地址由形式地址直接給出第11頁(3)

隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在ACC中如8086MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中MOVS指令源操作數(shù)地址隱含在SI中目標(biāo)操作數(shù)地址隱含在DI中

指令字中少了一個地址字段,可縮短指令字長隱含在ACC中操作數(shù)第12頁(4)間接尋址EA=(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EAA1主存EA10

執(zhí)行指令階段2次訪存

可擴(kuò)大尋址范圍,若存放字長16位,則尋址范圍可達(dá)216

便于編制程序OPA尋址特征A一次間址屢次間址操作數(shù)操作數(shù)

屢次訪存:

存放字首位是屢次間址標(biāo)志,故尋址范圍稍小,若存放字長16位,則尋址范圍為215

兩次訪存,指令執(zhí)行時間延長第13頁(5)存放器尋址EA=Ri

執(zhí)行階段不訪存,只訪問存放器,執(zhí)行速度快OPRi尋址特征

地址段只指明存放器編號,存放器個數(shù)有限,編碼短,可縮短指令字長操作數(shù)…………R0RiRn存放器有效地址即為存放器編號第14頁EA=(Ri

)(6)存放器間接尋址

有效地址在存放器中,操作數(shù)在存放器中,執(zhí)行階段訪存一次操作數(shù)主存OPRi尋址特征

便于編制循環(huán)程序地址…………R0RiRn存放器有效地址在存放器中

與間接尋址方式比較,執(zhí)行階段訪存一次,尋址范圍與存放器長度相關(guān)。第15頁(7)基址尋址①采取專用存放器作基址存放器EA=(BR)+ABR為基址存放器(隱式)OPA操作數(shù)主存尋址特征ALUBR

可擴(kuò)大尋址范圍

有利于多道程序BR內(nèi)容由操作系統(tǒng)或管理程序確定

在程序執(zhí)行過程中BR內(nèi)容不變,形式地址A可變第16頁②采取通用存放器作基址存放器操作數(shù)主存尋址特征ALUOPR0AR0

作基址存放器

由用戶指定哪個通用存放器作為基址存放器通用存放器R0Rn-1R1…

基址存放器內(nèi)容由操作系統(tǒng)確定

在程序執(zhí)行過程中R0內(nèi)容不變,形式地址A可變第17頁(8)變址尋址EA=(IX)+AOPA操作數(shù)主存尋址特征ALUIX

可擴(kuò)大尋址范圍

便于處理數(shù)組問題IX內(nèi)容由用戶給定IX為變址存放器(專用)

在程序執(zhí)行過程中IX內(nèi)容可變,形式地址A不變通用存放器也能夠作為變址存放器①采取專用存放器作變址存放器第18頁操作數(shù)主存尋址特征ALUOPR1AR1

作變址存放器通用存放器R0Rn-1R1…②采取通用存放器作變址存放器

由用戶指定哪個通用存放器作為變址存放器

基址存放器內(nèi)容由用戶確定

在程序執(zhí)行過程中R1內(nèi)容可變,形式地址A不變第19頁變址和基址尋址異同:同:可擴(kuò)大尋址范圍;有效地址形成過程形似。異:應(yīng)用場所不一樣基址尋址主要用于為程序或數(shù)據(jù)分配存放空間,故基址存放器內(nèi)容通常有操作系統(tǒng)或管理程序確定,在程序執(zhí)行過程中其值是不可變,而指令字中A是可變;變址尋址,變址存放器內(nèi)容由用戶設(shè)定,在程序執(zhí)行過程中其值可變,而指令字中A不可變。主要用于處理數(shù)組、字符串等成批數(shù)據(jù)。第20頁(9)相對尋址EA=(PC)+A(PC是當(dāng)前指令地址)A是操作數(shù)相對于當(dāng)前指令位移量(可正可負(fù),補(bǔ)碼)A位數(shù)決定操作數(shù)尋址范圍

程序浮動·廣泛用于轉(zhuǎn)移指令操作數(shù)尋址特征ALUOPA相對距離A1000PC…主存1000AOP

若A為8位,則指令尋址范圍為:(PC)+127~(PC)-128第21頁(10)堆棧尋址堆棧硬堆棧軟堆棧多個存放器指定主存空間先進(jìn)后出(一個入出口)棧頂?shù)刂?/p>

由SP

指出–11FFFH+1H進(jìn)棧(SP)–1SP出棧(SP)+1SP棧頂棧底HSPH……1FFFHSP1FFFH棧頂棧底進(jìn)棧出棧1FFFH棧頂H棧頂

可視為隱含尋址,因為操作數(shù)地址隱含在堆棧指針SP中;

也可視為存放器間接尋址(因為SP可視為存放器)。第22頁例2:設(shè)相對尋址轉(zhuǎn)移指令占兩個字節(jié),第一字節(jié)是操作碼,第二字節(jié)是相對位移量,用補(bǔ)碼表示。每當(dāng)CPU從存放器取出一個字節(jié)時,即自動完成(PC)+1→PC。

(1)設(shè)當(dāng)前PC值為3000H,試問轉(zhuǎn)移后目標(biāo)地址范圍是什么?(2)若當(dāng)前PC值為H,要求轉(zhuǎn)移到201BH,則轉(zhuǎn)移指令第二字節(jié)內(nèi)容是什么?(3)若當(dāng)前PC值為H,指令JMP*-9第二字節(jié)內(nèi)容為多少?(*為相對尋址特征)解:(1)轉(zhuǎn)移地址為:(PC)+指令中地址碼部分指令中給出轉(zhuǎn)移位移量為:-128~+127(-80H~+7FH補(bǔ)碼表示)

PC當(dāng)前值為3000H,且CPU取出該指令后,修改為3002H,所以最終轉(zhuǎn)移目標(biāo)地址范圍為3081H~2F82H,即3002H+7FH~3002H-80H(2)若PC當(dāng)前值為H,取出該指令后PC值為H,故轉(zhuǎn)移指令第二字節(jié)應(yīng)為:20lBH-H=19H。若指令占3個字節(jié)呢?(3)依據(jù)JMP*-9,要求轉(zhuǎn)移到H-9=1FF7H處,因取出指令后PC已到,故指令第二字節(jié)內(nèi)容為F5H(-11補(bǔ)碼表示)。第23頁例4:某機(jī)主存容量為4M×16位,且存放字長等于指令字長,若該機(jī)指令系統(tǒng)能完成97種操作,操作碼位數(shù)固定,且含有直接、間接、變址、基址、相對、馬上等六種尋址方式。

(1)畫出一地址指令格式并指出各字段作用。

(2)該指令直接尋址最大范圍。

(3)一次間址和屢次間址尋址范圍。

(4)馬上數(shù)范圍(十進(jìn)制數(shù)表示)。

(5)相對尋址位移量(十進(jìn)制數(shù)表示)。

(6)上述六種尋址方式指令哪一個執(zhí)行時間最短?哪一個最長?哪一個便于用戶編制處理數(shù)組問題程序?哪一個便于程序浮動?為何?

(7)怎樣修改指令格式.使指令直接尋址范圍可擴(kuò)大到4M?(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存任一位置,可采取什么辦法?請簡明說明。第24頁解:(1)一地址指令格式OP操作碼字段,共7位,可反應(yīng)97種操作;

M尋址方式特征字段,共3位,可反應(yīng)6種尋址方式;

A形式地址字段,共16-7-3=6位。

(2)直接尋址最大范圍為26=64(3)因為存放字長為16位,故一次間址尋址范圍為216。

若屢次間址,需用存放字最高位來區(qū)分是否繼續(xù)間接尋址,故尋址范圍為215。

(4)馬上數(shù)范圍是-32~+31(有符號數(shù))或0~63(無符號數(shù))。

(5)相對尋址位移量為-32~+31。

1598650第25頁(6)上述六種尋址方式中,因馬上數(shù)內(nèi)指令直接給出,故馬上尋址指令執(zhí)行時間最短;間接尋址在指令執(zhí)行階段要屢次訪存(一次間接尋址要兩次訪存,屢次間接尋址要屢次訪存),故執(zhí)行時間最長;變址尋址因為變址存放器內(nèi)容由用戶給定,而且在程序執(zhí)行過程中允許用戶修改,而其形式地址一直不變,故變址尋址指令便于用戶編制處理數(shù)組問題程序。相對尋址操作數(shù)有效地址只與當(dāng)前指令地址相差一定位移量,與直接尋址相比,更有利于程序浮動。(7)若指令格式改為雙字指令。其中OP7位,M3位,A16位,A216位,即指令地址字段共16+6=22位,則指令直接尋址范圍可擴(kuò)大到4M。

1598650第26頁(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存任一位置,尋址范圍須到達(dá)4M,除了采取(7)所表示格式外,還可配置22位基址存放器或22位變址存放器,使

EA=(BR)+A(BR為22位基址存放器)或

EA=(IX)+A(IX為22位變址存放器),便可訪問4M存放空間。還能夠經(jīng)過16位基址存放器左移6位再和形式地址A相加,也可到達(dá)一樣效果。第27頁例8.某機(jī)指令格式以下列圖所表示:

圖中I為間址特征位(I=0,直接尋址;I=1,一次間接尋址)。假設(shè)存放器部分單元有以下內(nèi)容:指出以下機(jī)器指令(十六進(jìn)制表示)有效地址。

(1)D7(2)DF(3)DE(4)D2OPIA03457地址號(十六進(jìn)制)0001020304050607內(nèi)容(十六進(jìn)制)015E9D74A41504A0解:(1)11010111——I=0,直接尋址,有效地址為:111B(7H)

(2)11011111——I=1,間接尋址,形式地址為:111B(7H)有效地址為:A0H(3)11011110——I=1,間接尋址,A=06H,EA=04H(4)11010010——I=0,直接尋址,EA=02H第28頁例9.某機(jī)指令格式以下列圖所表示。圖中x為尋址特征位,且當(dāng)x=0時,不變址;

x=1時,用變址存放器x1,進(jìn)行變址

x=2時,用變址存放器x2進(jìn)行變址

x=3時,相對尋址。設(shè)(PC)=1234H,[x1]=0037H,[x2]=1122H,確定以下指令有效地址(指令和地址均用十六進(jìn)制表示):

(1)4420;(2)2244;(3)1322;(4)3521。OPXA0567815解:(1)0100010000100000——X=0,不變址,有效地址為:20H(2)0010001001000100——X=2,用X2進(jìn)行變址,有效地址為:(x2)+A=1122H+44H=1166H(3)0001001100100010——X=3,相對尋址,有效地址為:(PC)+A=1234H+22H=1257H(4)第29頁例10.一個一地址指令格式以下所表示。其中I為間址特征,X為尋址模式,A為形式地址。設(shè)R為通用存放器,也可作為變址存放器。在表中填入適當(dāng)尋址方式名稱。OPIXA直接尋址相對尋址變址尋址存放器直接尋址間接尋址先相對后間接尋址先變址再間接尋址存放器間接尋址第30頁43.(11分)某計算機(jī)字長為16位,主存地址空間大小為128KB,按字編址,采取單字長指令格式,指令各字段定義以下:OPMsRsMdRd

151211650源操作數(shù)目操作數(shù)轉(zhuǎn)移指令采取相對尋址方式,相對偏移量用補(bǔ)碼表示,尋址方式定義以下:Ms/Md尋址方式助記符含義000B存放器直接Rn操作數(shù)=(Rn)001B存放器間接(Rn)操作數(shù)=((Rn))010B存放器間接、自增(Rn)+操作數(shù)=((Rn)),(Rn)+1→Rn011B相對D(Rn)轉(zhuǎn)移目標(biāo)地址=(PC)+(Rn)注:(x)表示存放器地址x或存放器x內(nèi)容第31頁請回答以下問題:(1)該指令系統(tǒng)最多可有多少條指令?該計算機(jī)最多有多少個通用存放器?存放器地址存放器(MAR)和存放器數(shù)據(jù)存放器(MDR)最少各需多少位?(2)轉(zhuǎn)移指令目標(biāo)地址范圍是多少?(3)若操作碼0010B表示加法操作(助記符為add),存放器R4和R5編號分別為100B和101B,R4內(nèi)容為1234H,R5內(nèi)容為5678H,地址1234H中內(nèi)容為5678H,地址5678H中內(nèi)容為1234H,則匯編語句“add(R4),(R5)+”(逗號前為源操作數(shù),逗號后為目標(biāo)操作數(shù))對應(yīng)機(jī)器碼是什么(用十六進(jìn)制表示)?該指令執(zhí)行后,哪些存放器和存放單元內(nèi)容會改變?改變后內(nèi)容是什么?第32頁該指令系統(tǒng)最多可有24=16條指令該計算機(jī)最多有23=8個通用存放器存放器地址存放器MAR最少16位(216=64K,按字尋址)存放器數(shù)據(jù)存放器MDR最少16位(機(jī)器字長為16位)(2)PC:16位,通用存放器:16位轉(zhuǎn)移指令目標(biāo)地址范圍:0~216-1=0~FFFFH(3)匯編語句“add(R4),(R5)+”對應(yīng)機(jī)器碼:0010001100010101B=2315H哪些存放器和存放單元內(nèi)容會改變:

存放器R5,存放單元5678H內(nèi)容會改變;

R5=5679H{R5=5678H+1=5679H}(5678H)=68ACH{(R4)+(R5)=1234H+5678H=68ACH}第33頁練習(xí)一、唐朔飛習(xí)題集(一)選擇1.指令系統(tǒng)中采取不一樣尋址方式目標(biāo)主要是____A.可降低指令譯碼難度

B.縮短指令字長,擴(kuò)大尋址空間,提升編程靈活性

C.實現(xiàn)程序控制答案:B2.零地址運算指令在指令格式中不給出操作數(shù)地址,它操作數(shù)來自_____A.馬上數(shù)和棧頂B.暫存器C.棧頂和次棧頂答案:C3.在一地址指令中,為完成兩個數(shù)算術(shù)運算,除地址譯碼指明一個操作數(shù)外,另一個操作數(shù)常采取_____A.堆棧尋址方式B.馬上尋地址方式C.隱含尋址方式答案:C4.二地址指令中,操作數(shù)物理位置可安排在___。(本題是多項選擇

A.兩個主存單元B.兩個存放器

C.一個主存單元和一個存放器D.棧頂和次棧頂答案:ABC第34頁6.存放器間接尋址方式中,操作數(shù)在_____中。

A.通用存放器B.堆棧C.主存單元答案:C7.變址尋址方式中,操作數(shù)有效地址是_____A.基址存放器內(nèi)容加上形式地址(位移量)B.程序計數(shù)器內(nèi)容加上形式地址

C.變址存放器內(nèi)容加上形式地址答案:C9.采取基址尋址可擴(kuò)大尋址范圍,且____。

A.基址存放器內(nèi)容由用戶確定,在程序執(zhí)行過程中不可變

B.基址存放器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中不可變

C.基址存放器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中可變答案:B10.采取變址尋址可擴(kuò)大尋址范圍,且_____。

A.變址存放器內(nèi)容由用戶確定,在程序執(zhí)行過程中不可變

B.變址存放器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中可變

C.變址存放器內(nèi)容由用戶確定,在程序執(zhí)行過程中可變答案:C第35頁12.堆棧尋址方式中,設(shè)A為累加器,SP為堆棧指示器,Msp為SP指示棧頂單元。假如進(jìn)棧操作動作次序是(A)→Msp,(SP)-1→SP,那么出棧操作動作次序應(yīng)為____A.(Msp)→(A),(SP)+l→SPB.(SP)+1→SP,(Msp)→AC.(SP)-1→SP,(Msp)→A答案:B入棧操作和出棧操作是鏡像操作,棧指針是相反操作14.設(shè)變址存放器為X,形式地址為D,某機(jī)含有先變址再間址尋址方式.則這種尋址方式有效地址為_____。

A.EA=(x)+DB.EA=(x)+(D)C.EA=((x)+D)答案:C13.堆棧尋址方式中,設(shè)A為累加器,SP為堆棧指示器,Msp為SP指示棧頂單元。假如進(jìn)棧操作動作次序是(SP)-1→SP,(A)→Msp,那么出棧操作動作次序應(yīng)為____A.(Msp)→(A),(SP)+l→SPB.(SP)+1→SP,(Msp)→AC.(SP)-1→SP,(Msp)→A答案:A各尋址方式能夠組合使用第36頁15.設(shè)變址存放器為X,形式地址為D,某機(jī)含有先間址后變址尋址方式,則這種尋址方式有效地址為_____A.EA=(x)+DB.EA=(x)+(D)C.EA=((x)+D)答案:B18.運算型指令尋址和轉(zhuǎn)移型指令尋址不一樣點在于____A.前者取操作數(shù),后者決定程序轉(zhuǎn)移地址

B.前者是短指令,后者是長指令

C.后者是短指令,前者是長指令答案:A19.指令尋址方式有次序和跳躍兩種,采取跳躍尋址方式能夠?qū)崿F(xiàn)

A.程序浮動

B.程序無條件轉(zhuǎn)移和浮動

C.程序條件轉(zhuǎn)移和無條件轉(zhuǎn)移答案:C程序浮動是數(shù)據(jù)尋址方式中相對尋址方式特點。23.設(shè)相對尋址轉(zhuǎn)移指令占兩個字節(jié),第一字節(jié)是操作碼,第二字節(jié)是相對位移量(可正可負(fù)),則轉(zhuǎn)移地址范圍是_____。

A.255B.256C.254答案:B

補(bǔ)碼表示:-128~0~127:256第37頁21.設(shè)相對尋址轉(zhuǎn)移指令占兩個字節(jié),第一字節(jié)是操作碼,第二字節(jié)是相對位移量(用補(bǔ)碼表示),若CPU每當(dāng)從存放器取出一個字節(jié)時,即自動完成(PC)+1→PC,設(shè)當(dāng)前PC內(nèi)容為H,要求轉(zhuǎn)移到H地址,則該轉(zhuǎn)移指令第二字節(jié)內(nèi)容應(yīng)為_____。

A.08HB.06HC.0AH答案:B

24.直接、間接、馬上三種方式指令執(zhí)行速度,由快至慢排序是___答案:馬上、直接、間接26.為了縮短指令中地址碼位數(shù),應(yīng)采取_____尋址。

A.馬上數(shù)B.存放器C.直接答案:B28.在指令格式設(shè)計中,采取擴(kuò)展操作碼目標(biāo)是_____。

A.增加指令長度B.增加尋址空間C.增加指令數(shù)量答案:C29.設(shè)機(jī)器字長為16位,存放器按字編址,對于單字長指令而言,讀取該指令后,PC值自動加______A.1B.2C.4答案:A指令字長等于存放字長,故,一個存放單元可存一條指令,讀一次存放器即可讀取一條指令,故在此PC+1。第38頁30.設(shè)機(jī)器字長為16位,存放器按字節(jié)編址,CPU讀取一條單字長指令后,PC值自動加____A.1B.2C.4答案:B在此需讀兩個存放單元才能取出一條指令,故PC+231設(shè)機(jī)器字長為16位,存放器按字節(jié)編址,設(shè)PC當(dāng)前值為1000H,當(dāng)讀取一條雙字長指令后,PC值為____A.1001HB.1002HC.1004H答案:C34.轉(zhuǎn)移指令主要操作是_____。

A.改變程序計數(shù)器PC值

B.改變地址存放器值

C.改變程序計數(shù)器值和堆棧指針SP值答案:A35.子程序調(diào)用指令完整功效是_____A.改變程序計數(shù)器PC值

B.改變地址存放器值

C.改變程序計數(shù)器值和堆棧指針SP值答案:C第39頁38.以下____是錯誤。

A.為了充分利用存放器空間,指令長度通??扇∽止?jié)整數(shù)倍

B.一地址指令是固定長度指令

C.單字長指令可加緊取指令速度答案:B40.在一地址格式指令中,以下____是正確

A.僅有一個操作數(shù),其地址由指令地址碼提供

D.可能有一個操作數(shù),也可能有兩個操作數(shù)

C.一定有兩個操作數(shù),另一個是隱含答案:B41.以下三種類型指令,____執(zhí)行時間最長。

A.RR型B.RS型C.SS型答案:C46.在以下尋址方式中,_____尋址方式需要先計算,再訪問主存。

A.馬上B.變址C.間接答案:BRR:存放器-存放器RS:存放器-存放器SS:存放器-存放器

計算地址第40頁(二)綜合5.某機(jī)字長32位,CPU內(nèi)有32個32位通用存放器,設(shè)計一個能容納64種操作指令系統(tǒng),設(shè)指令字長等于機(jī)器字長。

(1)假如主存可直接或間接尋址,采取存放器—存放器型指令,能直接尋址最大存放空間是多少?畫出指令格式。

(2)假如采取通用存放器作為基址存放器,則上述存放器—存放器型指令指令格式有何特點,畫出指令格式并指出這類指令可訪問多大存放空間?解:(1)OP段:6位尋址模式:1位存放器段:5位形式地址:20位,能直接尋址存放空間為220。OPIRA61520OPIRBA615515

增加B字段,用以指出哪個存放器為基址存放器。因為通用存放器為32位,用它作基址存放器后,有效地址等于基址存放器內(nèi)容加上形式地址,可得32垃有效地址,故尋址范圍可達(dá)232。第41頁26.設(shè)機(jī)器字長為12位,若主存容量64K*12位,為使一條12位長轉(zhuǎn)移指令能夠轉(zhuǎn)移到主存任一單元,應(yīng)選取何種尋址方式?說明理由。解:采取基址尋址,將12位基址存放器左移4位,,形成16位基地址,可尋址64K空間。33.一條雙字長取數(shù)指令(LDA)存于存放器100和101單元,其中第一個字為操作碼和尋址特征M,第二個字為形式地址。假設(shè)PC當(dāng)前值為100,變址存放器XR內(nèi)容為100,基址存放器內(nèi)容為200,存放器各單元內(nèi)容以下列圖所表示。寫出在以下尋址方式中,取數(shù)指令執(zhí)行結(jié)束后,累加器AC內(nèi)容。LDAM300……800…700400500…200…600100101102300400401402500800尋址方式AC內(nèi)容 直接尋址馬上尋址間接尋址相對尋址變址尋址基址尋址800300600500700200第42頁【例】某16位機(jī)所使用指令格式和尋址方式以下所表示。該機(jī)有兩個20位基值存放器,四個16位變址存放器,十六個16位通用存放器。指令格式中S(源),D(目標(biāo))都是通用存放器,M是主存中一個單元。三種指令操作碼分別是MOV(OP)=(A)H,STO(OP)=(1B)H,LAD(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。OP――目標(biāo)源MOVS,D151098743020位地址

目標(biāo)――OPLADD,M1510987430OP基址源

變址位移量1510987430STOS,M第43頁要求:(1)分析三種指令格式與尋址方式特點。(2)CPU完成哪一個操作所花時間最短?哪一個操作花時間最長?第二種指令執(zhí)行時間有時會等于第三種指令執(zhí)行時間嗎?(3)以下情況下每個十六進(jìn)制指令字分別代表什么操作?其中假如有編碼不正確,怎樣更正才能成為正當(dāng)指令?①(F0F1)H(3CD2)H②(2856)H③(6FD6)H④(1C2)H解:(1)第一個指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采取基址尋址或變址尋址,R由源存放器決定;第三種也是雙字長二地址指令,RS型,其中R由目標(biāo)存放器決定,S由20位地址(直接尋址)決定。(2)第一個指令所花時間最短,因為是RR型指令,不需要訪問存放器。第44頁

第二種指令所花時間最長,因為是RS型指令,需要訪問存放器,同時要進(jìn)行尋址方式變換運算(基值或變址),這也需要時間。第三種指令即使也訪問存放器,但節(jié)約了求有效地址運算時間開銷。第二種指令執(zhí)行時間不會等于第三種指令執(zhí)行時間。(3)依據(jù)已知條件:

MOV(OP)=001010,STO(OP)=011011,LAD(OP)=111100

①(F0F1)H(3CD2)H=111100,00,1111,0001(3CD2)H

20位地址

目標(biāo)――OPLADD,M1510987430

該指令代表LAD指令,編碼正確,其含義是把主存

(13CD2)H地址單位元內(nèi)容取至15存放器。第45頁③?(6FD6)H=011011,11,1101,0110OP――目標(biāo)源MOVS,D1510987430依據(jù)已知條件:

MOV(OP)=001010,STO(OP)=011011,LAD(OP)=111100

該指令是單字長指令,一定是MOV指令,但編碼錯誤,

可更正為001010,00,1101,0110=(28D6)H第46頁【例】指令格式結(jié)構(gòu)以下所表示,試分析指令格式及尋址方式特點。解:指令格式及尋址方式特點以下:

①雙字長二地址指令;

②操作碼OP可指定26=64條指令;

③RS型指令,兩個操作數(shù)一個在存放器中(16個存放器之一),存放器尋址方式;另一個在存放器中,變址尋址方式;

④有效地址經(jīng)過變址求得:E=(變址存放器)+D,變址存放器可有16個。第47頁【例】某計算機(jī)字長32位,主存容量為64M字,采取單字長單地址指令,共有40條指令,試采取直接、馬上、變址、相對四種尋址方式設(shè)計指令格式。解:40條指令需占用操作碼字段(OP)6位;4種尋址方式,尋址模式(X)2位;形式地址(D)24位,其指令格式以下:尋址模式定義以下:

X=00直接尋址有效地址E=D(直接尋址為?個存放單元)

X=01馬上尋址D字段為操作數(shù)

X=10變址尋址有效地址E=(RX)+D(可尋址?個存放單元)

X=11相對尋址有效地址E=(PC)+D(可尋址?

個存放單元)

其中RX為變址存放器(32位),PC為程序計數(shù)器(32位),在變址和相對尋址時,位移量D可正可負(fù)。OPXD31262524230該題給條件較少,了解即可。第48頁練習(xí)二、歷年考研題某計算機(jī)字長16位,存放器按字編址,訪存指令格式以下,其中OP是操作碼,M定義尋址模式,A為形式地址,設(shè)PC和Rx分別為程序計數(shù)器和變址存放器,字長16位。問:

(1)該格式能定義多少種指令?

(2)各尋址方式尋址范圍為多少字?

(3)寫出各尋址方式有效地址EA計算式。AMOP151110870M值尋址方式0馬上尋址1直接尋址2間接尋址3變址尋址4相對尋址解:尋址方式尋址范圍EA馬上尋址1個字即操作數(shù)=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論