版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
四、指令系統(tǒng)(一)指令格式1.指令基本格式
操作碼字段地址碼字段操作碼?操作碼反映機器做什么操作。?操作碼所占的二進制位數(shù)決定了一臺計算機所能允許的指令條數(shù)。例如,操作碼占用六位二進制碼時,這臺計算機最多允許有:
26=64條指令?操作碼分兩種:
·長度固定(固定長度操作碼)
格式如上圖所示操作碼集中放在指令字的一個字段中,便于硬件設(shè)計,指令譯碼時間短;用于指令字長較長的情況、大中型、超小型、RISC中。
·長度可變(可變長度操作碼)
操作碼分散在指令字的不同字段中,有利于壓縮程序中操作碼的平均長度;增加指令譯碼及分析難度,使控制器設(shè)計復(fù)雜;在字長較短的微型機中被廣泛應(yī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)已不用②三地址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)常用此幾種格式,尤其是二地址、一地址指令。擴展方法不惟一,如:三地址指令操作碼每減少一種可最多構(gòu)成24種二地址指令二地址指令操作碼每減少一種可最多構(gòu)成24
種一地址指令24
的4指的是要擴展成操作碼的地址碼字段的長度3.指令字長
指令字的長度取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。為了充分利用存儲空間,指令字的長度也定為字節(jié)長度的整數(shù)倍。早期計算機,指令字長=機器字長=存儲字長(2)指令字長可變:(1)指令字長固定:現(xiàn)代計算機,指令字長可變,按字節(jié)的倍數(shù)變化指令字長度等于機器字長度的指令,稱為單字長指令;指令字長等于兩個機器字長的指令,稱為雙字長指令;指令字長度只有半個機器字長度的指令,稱為半字長指令。注:了解即可例1:假設(shè)指令字長為16位,操作數(shù)的地址碼為6位,指令有零地址、一地址、二地址三種格式。
(1)設(shè)操作碼固定,若零地址指令有M種,一地址指令有N種,則二地址指令最多有幾種?(2)采用擴展操作碼技術(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)采用擴展操作碼技術(shù),操作碼位數(shù)可隨地址數(shù)的減少而增加。對于二地址指令,4位操作碼,共16種編碼,去掉一種編碼(如1111)用于一地址指令擴展,最多二地址指令可有15種操作。(4)采用擴展操作碼技術(shù),若二地址指令有P條,零地址指令有Q條,則一地址指令最多有幾種?000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000000001111110…6位6位解:1)二地址指令共24
條,每減少一種,可擴展一地址指令26
條,故可擴展一地址指令:(24–P)×26
條;
2)一地址指令共(24–P)×26
條,每減少一條可擴展26條零地址指令,
設(shè)一地址指令共X種,則,零地址指令:
Q=((24–P)×26–X)×26
X=(24–P)×26
-Q×2-6
解:二地址指令可擴展一地址指令:(24–P)×26
一地址指令可擴展零地址指令:((24–P)×26–Q)×26
(3)采用擴展操作碼技術(shù),若二地址指令有P條,一地址指令有Q條,則零地址指令最多有幾種?1.指令尋址順序(PC)+1PC跳躍由轉(zhuǎn)移指令實現(xiàn)LDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?順序?qū)ぶ?跳躍尋址7順序?qū)ぶ?通過程序計數(shù)器PC加1,自動形成下一條指令的地址。(2)直接尋址EA=A操作數(shù)主存尋址特征OPAA
執(zhí)行階段訪問一次存儲器A的位數(shù)決定了該指令操作數(shù)的尋址范圍
操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出(4)間接尋址EA=(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EAA1主存EA10
執(zhí)行指令階段2次訪存
可擴大尋址范圍,若存儲字長16位,則尋址范圍可達216
便于編制程序OPA尋址特征A一次間址多次間址操作數(shù)操作數(shù)多次訪存:存儲字首位是多次間址標(biāo)志,故尋址范圍稍小,若存儲字長16位,則尋址范圍為215
兩次訪存,指令執(zhí)行時間延長(5)寄存器尋址EA=Ri
執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征
地址段只指明寄存器編號,寄存器個數(shù)有限,編碼短,可縮短指令字長操作數(shù)…………R0RiRn寄存器有效地址即為寄存器編號EA=(Ri
)(6)寄存器間接尋址
有效地址在寄存器中,操作數(shù)在存儲器中,執(zhí)行階段訪存一次操作數(shù)主存OPRi尋址特征
便于編制循環(huán)程序地址…………R0RiRn寄存器有效地址在寄存器中
與間接尋址方式比較,執(zhí)行階段訪存一次,尋址范圍與寄存器長度有關(guān)。(7)基址尋址①采用專用寄存器作基址寄存器EA=(BR)+ABR為基址寄存器(隱式的)OPA操作數(shù)主存尋址特征ALUBR
可擴大尋址范圍
有利于多道程序BR內(nèi)容由操作系統(tǒng)或管理程序確定
在程序的執(zhí)行過程中BR內(nèi)容不變,形式地址A可變②采用通用寄存器作基址寄存器操作數(shù)主存尋址特征ALUOPR0AR0
作基址寄存器
由用戶指定哪個通用寄存器作為基址寄存器通用寄存器R0Rn-1R1…
基址寄存器的內(nèi)容由操作系統(tǒng)確定
在程序的執(zhí)行過程中R0內(nèi)容不變,形式地址A可變操作數(shù)主存尋址特征ALUOPR1AR1
作變址寄存器通用寄存器R0Rn-1R1…②采用通用寄存器作變址寄存器
由用戶指定哪個通用寄存器作為變址寄存器
基址寄存器的內(nèi)容由用戶確定
在程序的執(zhí)行過程中R1內(nèi)容可變,形式地址A不變變址和基址尋址的異同:同:可擴大尋址范圍;有效地址形成過程形似。異:應(yīng)用場合不同基址尋址主要用于為程序或數(shù)據(jù)分配存儲空間,故基址寄存器的內(nèi)容通常有操作系統(tǒng)或管理程序確定,在程序的執(zhí)行過程中其值是不可變的,而指令字中的A是可變的;變址尋址,變址寄存器的內(nèi)容由用戶設(shè)定,在程序執(zhí)行過程中其值可變,而指令字中的A不可變。主要用于處理數(shù)組、字符串等成批數(shù)據(jù)。(10)堆棧尋址堆棧硬堆棧軟堆棧多個寄存器指定的主存空間先進后出(一個入出口)棧頂?shù)刂?/p>
由SP
指出–11FFFH+12000H進棧(SP)–1SP出棧(SP)+1SP棧頂棧底2000HSP2000H……1FFFHSP1FFFH棧頂棧底進棧出棧1FFFH棧頂2000H棧頂可視為隱含尋址,因為操作數(shù)地址隱含在堆棧指針SP中;也可視為寄存器間接尋址(因為SP可視為寄存器)。例2:設(shè)相對尋址的轉(zhuǎn)移指令占兩個字節(jié),第一字節(jié)是操作碼,第二字節(jié)是相對位移量,用補碼表示。每當(dāng)CPU從存儲器取出一個字節(jié)時,即自動完成(PC)+1→PC。
(1)設(shè)當(dāng)前PC值為3000H,試問轉(zhuǎn)移后的目標(biāo)地址范圍是什么?(2)若當(dāng)前PC值為2000H,要求轉(zhuǎn)移到201BH,則轉(zhuǎn)移指令第二字節(jié)的內(nèi)容是什么?(3)若當(dāng)前PC值為2000H,指令JMP*-9的第二字節(jié)內(nèi)容為多少?(*為相對尋址特征)解:(1)轉(zhuǎn)移地址為:(PC)+指令中的地址碼部分指令中給出的轉(zhuǎn)移位移量為:-128~+127(-80H~+7FH補碼表示)
PC當(dāng)前值為3000H,且CPU取出該指令后,修改為3002H,因此最終的轉(zhuǎn)移目標(biāo)地址范圍為3081H~2F82H,即3002H+7FH~3002H-80H(2)若PC當(dāng)前值為2000H,取出該指令后PC值為2002H,故轉(zhuǎn)移指令第二字節(jié)應(yīng)為:20lBH-2002H=19H。若指令占3個字節(jié)呢?(3)根據(jù)JMP*-9,要求轉(zhuǎn)移到2000H-9=1FF7H處,因取出指令后PC已到2002,故指令第二字節(jié)內(nèi)容為F5H(-11的補碼表示)。解:(1)一地址指令格式OP操作碼字段,共7位,可反映97種操作;
M尋址方式特征字段,共3位,可反映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(6)上述六種尋址方式中,因立即數(shù)內(nèi)指令直接給出,故立即尋址的指令執(zhí)行時間最短;間接尋址在指令的執(zhí)行階段要多次訪存(一次間接尋址要兩次訪存,多次間接尋址要多次訪存),故執(zhí)行時間最長;變址尋址由于變址寄存器的內(nèi)容由用戶給定,而且在程序的執(zhí)行過程中允許用戶修改,而其形式地址始終不變,故變址尋址的指令便于用戶編制處理數(shù)組問題的程序。相對尋址操作數(shù)的有效地址只與當(dāng)前指令地址相差一定的位移量,與直接尋址相比,更有利于程序浮動。(7)若指令的格式改為雙字指令。其中OP7位,M3位,A16位,A216位,即指令的地址字段共16+6=22位,則指令的直接尋址范圍可擴大到4M。
1598650(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,尋址范圍須達到4M,除了采用(7)所示的格式外,還可配置22位的基址寄存器或22位的變址寄存器,使
EA=(BR)+A(BR為22位的基址寄存器)或
EA=(IX)+A(IX為22位的變址寄存器),便可訪問4M存儲空間。還可以通過16位的基址寄存器左移6位再和形式地址A相加,也可達到同樣的效果。例9.某機指令格式如下圖所示。圖中x為尋址特征位,且當(dāng)x=0時,不變址;
x=1時,用變址寄存器x1,進行變址
x=2時,用變址寄存器x2進行變址
x=3時,相對尋址。設(shè)(PC)=1234H,[x1]=0037H,[x2]=1122H,確定下列指令的有效地址(指令和地址均用十六進制表示):
(1)4420;(2)2244;(3)1322;(4)3521。OPXA0567815解:(1)0100010000100000——X=0,不變址,有效地址為:20H(2)0010001001000100——X=2,用X2進行變址,有效地址為:(x2)+A=1122H+44H=1166H(3)0001001100100010——X=3,相對尋址,有效地址為:(PC)+A=1234H+22H=1257H(4)例10.一種一地址指令的格式如下所示。其中I為間址特征,X為尋址模式,A為形式地址。設(shè)R為通用寄存器,也可作為變址寄存器。在表中填入適當(dāng)?shù)膶ぶ贩绞矫Q。OPIXA直接尋址相對尋址變址尋址寄存器直接尋址間接尋址先相對后間接尋址先變址再間接尋址寄存器間接尋址43.(11分)某計算機字長為16位,主存地址空間大小為128KB,按字編址,采用單字長指令格式,指令各字段定義如下:OPMsRsMdRd
151211650源操作數(shù)目的操作數(shù)轉(zhuǎn)移指令采用相對尋址方式,相對偏移量用補碼表示,尋址方式定義如下: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)容請回答下列問題:(1)該指令系統(tǒng)最多可有多少條指令?該計算機最多有多少個通用寄存器?存儲器地址寄存器(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ù),逗號后為目的操作數(shù))對應(yīng)的機器碼是什么(用十六進制表示)?該指令執(zhí)行后,哪些寄存器和存儲單元的內(nèi)容會改變?改變后的內(nèi)容是什么?該指令系統(tǒng)最多可有24=16條指令該計算機最多有23=8個通用寄存器存儲器地址寄存器MAR至少16位(216=64K,按字尋址)存儲器數(shù)據(jù)寄存器MDR至少16位(機器字長為16位)(2)PC:16位,通用寄存器:16位轉(zhuǎn)移指令的目標(biāo)地址范圍:0~216-1=0~FFFFH(3)匯編語句“add(R4),(R5)+”對應(yīng)的機器碼:0010001100010101B=2315H哪些寄存器和存儲單元的內(nèi)容會改變:
寄存器R5,存儲單元5678H內(nèi)容會改變;
R5=5679H{R5=5678H+1=5679H}(5678H)=68ACH{(R4)+(R5)=1234H+5678H=68ACH}練習(xí)一、唐朔飛習(xí)題集(一)選擇1.指令系統(tǒng)中采用不同尋址方式的目的主要是____A.可降低指令譯碼難度
B.縮短指令字長,擴大尋址空間,提高編程靈活性
C.實現(xiàn)程序控制答案:B2.零地址運算指令在指令格式中不給出操作數(shù)地址,它的操作數(shù)來自_____A.立即數(shù)和棧頂B.暫存器C.棧頂和次棧頂答案:C3.在一地址指令中,為完成兩個數(shù)的算術(shù)運算,除地址譯碼指明的一個操作數(shù)外,另一個操作數(shù)常采用_____A.堆棧尋址方式B.立即尋地址方式C.隱含尋址方式答案:C4.二地址指令中,操作數(shù)的物理位置可安排在___。(本題是多項選擇
A.兩個主存單元B.兩個寄存器
C.一個主存單元和一個寄存器D.棧頂和次棧頂答案:ABC6.寄存器間接尋址方式中,操作數(shù)在_____中。
A.通用寄存器B.堆棧C.主存單元答案:C7.變址尋址方式中,操作數(shù)的有效地址是_____A.基址寄存器內(nèi)容加上形式地址(位移量)B.程序計數(shù)器內(nèi)容加上形式地址
C.變址寄存器內(nèi)容加上形式地址答案:C9.采用基址尋址可擴大尋址范圍,且____。
A.基址寄存器內(nèi)容由用戶確定,在程序執(zhí)行過程中不可變
B.基址寄存器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中不可變
C.基址寄存器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中可變答案:B10.采用變址尋址可擴大尋址范圍,且_____。
A.變址寄存器內(nèi)容由用戶確定,在程序執(zhí)行過程中不可變
B.變址寄存器內(nèi)容由操作系統(tǒng)確定,在程序執(zhí)行過程中可變
C.變址寄存器內(nèi)容由用戶確定,在程序執(zhí)行過程中可變答案:C12.堆棧尋址方式中,設(shè)A為累加器,SP為堆棧指示器,Msp為SP指示的棧頂單元。如果進棧操作的動作順序是(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,某機具有先變址再間址的尋址方式.則這種尋址方式的有效地址為_____。
A.EA=(x)+DB.EA=(x)+(D)C.EA=((x)+D)答案:C13.堆棧尋址方式中,設(shè)A為累加器,SP為堆棧指示器,Msp為SP指示的棧頂單元。如果進棧操作的動作順序是(SP)-1→SP,(A)→Msp,那么出棧操作的動作順序應(yīng)為____A.(Msp)→(A),(SP)+l→SPB.(SP)+1→SP,(Msp)→AC.(SP)-1→SP,(Msp)→A答案:A各尋址方式可以組合使用15.設(shè)變址寄存器為X,形式地址為D,某機具有先間址后變址的尋址方式,則這種尋址方式的有效地址為_____A.EA=(x)+DB.EA=(x)+(D)C.EA=((x)+D)答案:B18.運算型指令的尋址和轉(zhuǎn)移型指令的尋址不同點在于____A.前者取操作數(shù),后者決定程序轉(zhuǎn)移地址
B.前者是短指令,后者是長指令
C.后者是短指令,前者是長指令答案:A19.指令的尋址方式有順序和跳躍兩種,采用跳躍尋址方式可以實現(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
補碼表示:-128~0~127:25621.設(shè)相對尋址的轉(zhuǎn)移指令占兩個字節(jié),第一字節(jié)是操作碼,第二字節(jié)是相對位移量(用補碼表示),若CPU每當(dāng)從存儲器取出一個字節(jié)時,即自動完成(PC)+1→PC,設(shè)當(dāng)前PC的內(nèi)容為2000H,要求轉(zhuǎn)移到2008H地址,則該轉(zhuǎn)移指令第二字節(jié)的內(nèi)容應(yīng)為_____。
A.08HB.06HC.0AH答案:B
24.直接、間接、立即三種方式指令執(zhí)行速度,由快至慢的排序是___答案:立即、直接、間接26.為了縮短指令中地址碼的位數(shù),應(yīng)采用_____尋址。
A.立即數(shù)B.寄存器C.直接答案:B28.在指令格式設(shè)計中,采用擴展操作碼的目的是_____。
A.增加指令長度B.增加尋址空間C.增加指令數(shù)量答案:C29.設(shè)機器字長為16位,存儲器按字編址,對于單字長指令而言,讀取該指令后,PC值自動加______A.1B.2C.4答案:A指令字長等于存儲字長,故,一個存儲單元可存一條指令,讀一次存儲器即可讀取一條指令,故在此PC+1。30.設(shè)機器字長為16位,存儲器按字節(jié)編址,CPU讀取一條單字長指令后,PC值自動加____A.1B.2C.4答案:B在此需讀兩個存儲單元才能取出一條指令,故PC+231設(shè)機器字長為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的值答案:C38.下列____是錯誤的。
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:存儲器-存儲器
計算地址(二)綜合5.某機字長32位,CPU內(nèi)有32個32位的通用寄存器,設(shè)計一種能容納64種操作的指令系統(tǒng),設(shè)指令字長等于機器字長。
(1)如果主存可直接或間接尋址,采用寄存器—存儲器型指令,能直接尋址的最大存儲空間是多少?畫出指令格式。
(2)如果采用通用寄存器作為基址寄存器,則上述寄存器—存儲器型指令的指令格式有何特點,畫出指令格式并指出這類指令可訪問多大的存儲空間?解:(1)OP段:6位尋址模式:1位寄存器段:5位形式地址:20位,能直接尋址的存儲空間為220。OPIRA61520OPIRBA615515
增加B字段,用以指出哪個寄存器為基址寄存器。因為通用寄存器為32位,用它作基址寄存器后,有效地址等于基址寄存器內(nèi)容加上形式地址,可得32垃的有效地址,故尋址范圍可達232。26.設(shè)機器字長為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【例】某16位機所使用的指令格式和尋址方式如下所示。該機有兩個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要求:(1)分析三種指令格式與尋址方式特點。(2)CPU完成哪一種操作所花時間最短?哪一種操作花時間最長?第二種指令的執(zhí)行時間有時會等于第三種指令的執(zhí)行時間嗎?(3)下列情況下每個十六進制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?①(F0F1)H(3CD2)H②(2856)H③(6FD6)H④(1C2)H解:(1)第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二地址指令,RS型,其中R由目標(biāo)寄存器決定,S由20位地址(直接尋址)決定。(2)第一種指令所花時間最短,因為是RR型指令,不需要訪問存儲器。
第二種指令所花時間最長,因為是RS型指令,需要訪問存儲器,同時要進行尋址方式的變換運算(基值或變址),這也需要時間。第三種指令雖然也訪問存儲器,但節(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寄存器。③?(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【例】指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點。解:指令格式及尋址方式特點如下:
①雙字長二地址指令;
②操作碼OP可指定26=64條指令;
③RS型指令,兩個操作數(shù)一個在寄存器中(16個寄存器之一),寄存器尋址方式;另一個在存儲器中,變址尋址方式;
④有效地址通過變址求得:E=(變址寄存器)+D,變址寄存器可有16個?!纠磕秤嬎銠C字長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該題給的條件較少,理解即可。練習(xí)二、歷年考研題某計算機字長16位,存儲器按字編址,訪存指令格式如下,其中OP是操作碼,M定義尋址模式,A為形式地址,設(shè)PC和Rx分別為程序計數(shù)器和變址寄存器,字長16位。問:
(1)該格式能定義多少種指令?
(2)各尋址方式的尋址范圍為多少字?
(3)寫出各尋址方式的有效地址EA的計算式。AMOP151110870M值尋址方式0立即尋址1直接尋址2間接尋址3變址尋址4相對尋址解:尋址方式尋址范圍EA立即尋址1個字即操作數(shù)=A直接尋址28個字A間接尋址216個字(A)變址尋址216個字(Rx)+A相對尋址28個字(-128~+127)(PC)+A(中科院計算所)2.已知基址寄存器的內(nèi)容為1000H,變址寄存器的內(nèi)容為03A0H,指令的地址碼部分為3FH,當(dāng)前正在執(zhí)行的指令的地址為2B00H,則在考慮基址的前提下,采用變址尋址方式
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年物流園區(qū)配套設(shè)施租賃合同范本3篇
- 2025年度動畫設(shè)計個人聘用合同范本3篇
- 二零二五年荒山資源開發(fā)合作合同書范本3篇
- 2025年送餐服務(wù)與外賣配送智能化改造合作協(xié)議范本3篇
- 2025年度智能車展場地租賃及環(huán)保回收利用合同4篇
- 2025年新型屋頂蓋瓦施工安全監(jiān)管協(xié)議3篇
- 2025年物業(yè)股權(quán)抵押擔(dān)保協(xié)議范本3篇
- 2025版城市綠化工程承包合同示范文本4篇
- 2025年度環(huán)保項目個人環(huán)境監(jiān)測服務(wù)合同樣本4篇
- 2025版美容院與美甲美睫培訓(xùn)機構(gòu)合作協(xié)議4篇
- 橋梁監(jiān)測監(jiān)控實施方案
- 書籍小兵張嘎課件
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機會分析與策略研究報告
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2023年十天突破公務(wù)員面試
評論
0/150
提交評論