計算機組成原理實驗教案_第1頁
計算機組成原理實驗教案_第2頁
計算機組成原理實驗教案_第3頁
計算機組成原理實驗教案_第4頁
計算機組成原理實驗教案_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

韶關(guān)學院《計算機組成原理》實驗教案彭玄璋計算機科學學院計算機系第一章實驗項目一、寄存器實驗實驗要求:利用COP2000實驗儀上的K16..K23開關(guān)做為DBUS的數(shù)據(jù),其它開關(guān)做為控制信號,將數(shù)據(jù)寫入寄存器,這些寄存器包括累加器A,工作寄存器W,數(shù)據(jù)寄存器組R0..R3,地址寄存器MAR,堆棧寄存器ST,輸出寄存器OUT。實驗?zāi)康模毫私饽P蜋C中各種寄存器結(jié)構(gòu)、工作原理及其控制方法。實驗說明:寄存器的作用是用于保存數(shù)據(jù)的,因為我們的模型機是8位的,因此在本模型機中大部寄存器是8位的,標志位寄存器(Cy,Z)是二位的。COP2000用74HC574來構(gòu)成寄存器。74HC574的功能如下:1.在CLK的上升沿將輸入端的數(shù)據(jù)打入到8個觸發(fā)器中2.當OC=1時觸發(fā)器的輸出被關(guān)閉,當OC=0時觸發(fā)器的輸出數(shù)據(jù)OCCLKQ7..Q0注釋1XZZZZZZZZOC為1時觸發(fā)器的輸出被關(guān)閉00Q7..Q0當OC=0時觸發(fā)器的輸出數(shù)據(jù)01Q7..Q0當時鐘為高時,觸發(fā)器保持數(shù)據(jù)不變XD7..D0在CLK的上升沿將輸入端的數(shù)據(jù)打入到觸發(fā)器中74HC574工作波形圖實驗1:A,W寄存器實驗寄存器A原理圖寄存器W原理圖寄存器A,W寫工作波形圖連接線表連接信號孔接入孔作用有效電平1J1座J3座將K23-K16接入DBUS[7:0]2AENK3選通A低電平有效3WENK4選通W低電平有效4ALUCKCLOCKALU工作脈沖上升沿打入將55H寫入A寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)55HK23K22K21K20K19K18K17K1601010101置控制信號為:K4(WEN)K3(AEN)10按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器A的黃色選擇指示燈亮,表明選擇A寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)55H被寫入A寄存器。將66H寫入W寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)66HK23K22K21K20K19K18K17K1601100110置控制信號為:K4(WEN)K3(AEN)01按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器W的黃色選擇指示燈亮,表明選擇W寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)66H被寫入W寄存器。注意觀察:數(shù)據(jù)是在放開CLOCK鍵后改變的,也就是CLOCK的上升沿數(shù)據(jù)被打入。2.WEN,AEN為高時,即使CLOCK有上升沿,寄存器的數(shù)據(jù)也不會改變。

實驗2:R0,R1,R2,R3寄存器實驗寄存器R原理圖寄存器R寫工作波形圖連接線表連接信號孔接入孔作用有效電平1J1座J3座將K23-K16接入DBUS[7:0]2RRDK11寄存器組讀使能低電平有效3RWRK10寄存器組寫使能低電平有效4SBK1寄存器選擇B5SAK0寄存器選擇A6RCKCLOCK寄存器工作脈沖上升沿打入將11H寫入R0寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)11HK23K22K21K20K19K18K17K1600010001置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)1000按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器R0的黃色選擇指示燈亮,表明選擇R0寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)11H被寫入R0寄存器。將22H寫入R1寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)22HK23K22K21K20K19K18K17K1600100010置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)1001按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器R1的黃色選擇指示燈亮,表明選擇R1寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)22H被寫入R1寄存器。將33H寫入R2寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)33HK23K22K21K20K19K18K17K1600110011置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)1010按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器R2的黃色選擇指示燈亮,表明選擇R2寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)33H被寫入R2寄存器。將44H寫入R3寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)44HK23K22K21K20K19K18K17K1601000100置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)1011按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器R3的黃色選擇指示燈亮,表明選擇R3寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)44H被寫入R3寄存器。注意觀察:1.數(shù)據(jù)是在放開CLOCK鍵后改變的,也就是CLOCK的上升沿數(shù)據(jù)被打入。2.K1(SB),K0(SA)用于選擇寄存器。K1(SB)K0(SA)選擇00R001R110R211R3寄存器R讀工作波形圖讀R0寄存器置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)0100這時寄存器R0的紅色輸出指示燈亮,R0寄存器的數(shù)據(jù)送上數(shù)據(jù)總線。此時液晶顯示DBUS:1100010001.將K11(RRD)置為1,關(guān)閉R0寄存器輸出.讀R1寄存器置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)0101這時寄存器R1的紅色輸出指示燈亮,R1寄存器的數(shù)據(jù)送上數(shù)據(jù)總線。此時液晶顯示DBUS:2200100010.將K11(RRD)置為1,關(guān)閉R1寄存器輸出.讀R2寄存器置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)0110這時寄存器R2的紅色輸出指示燈亮,R2寄存器的數(shù)據(jù)送上數(shù)據(jù)總線。此時液晶顯示DBUS:3300110011.將K11(RRD)置為1,關(guān)閉R2寄存器輸出.讀R3寄存器置控制信號為:K11(RRD)K10(RWR)K1(SB)K0(SA)0111這時寄存器R3的紅色輸出指示燈亮,R3寄存器的數(shù)據(jù)送上數(shù)據(jù)總線。此時液晶顯示DBUS:4401000100.將K11(RRD)置為1,關(guān)閉R3寄存器輸出.注意觀察:1.數(shù)據(jù)在K11(RRD)為0時輸出,不是沿觸發(fā),與數(shù)據(jù)打入不同。實驗3:MAR地址寄存器,ST堆棧寄存器,OUT輸出寄存器寄存器MAR原理圖寄存器ST原理圖寄存器OUT原理圖寄存器MAR,ST,OUT寫工作波形圖連接線表連接信號孔接入孔作用有效電平1J2座J3座將K23-K16接入DBUS[7:0]2MAROEK14MAR地址輸出使能低電平有效3MARENK15MAR寄存器寫使能低電平有效4STENK12ST寄存器寫使能低電平有效5OUTENK13OUT寄存器寫使能低電平有效6CKCLOCK寄存器工作脈沖上升沿打入將12H寫入MAR寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)12HK23K22K21K20K19K18K17K1600010010置控制信號為:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)0011按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器MAR的黃色選擇指示燈亮,表明選擇MAR寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)12H被寫入MAR寄存器。K14(MAROE)為0,MAR寄存器中的地址輸出.MAR紅色輸出指示燈亮.將K14(MAROE)置為1.關(guān)閉MAR輸出.將34H寫入ST寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)34HK23K22K21K20K19K18K17K1600110100置控制信號為:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)1101按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器ST的黃色選擇指示燈亮,表明選擇ST寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)34H被寫入ST寄存器。將56H寫入OUT寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)56HK23K22K21K20K19K18K17K1601010110置控制信號為:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)1110按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器OUT的黃色選擇指示燈亮,表明選擇OUT寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)56H被寫入OUT寄存器。

二、運算器實驗實驗要求:利用COP2000實驗儀的K16..K23開關(guān)做為DBUS數(shù)據(jù),其它開關(guān)做為控制信號,將數(shù)據(jù)寫累加器A和工作寄存器W,并用開關(guān)控制ALU的運算方式,實現(xiàn)運算器的功能。實驗?zāi)康模毫私饽P蜋C中算術(shù)、邏輯運算單元的控制方法。實驗說明:COP2000中的運算器由一片可編程芯片EPLD實現(xiàn).有8種運算,通過S2,S1,S0來選擇。運算數(shù)據(jù)由寄存器A及寄存器W給出,運算結(jié)果輸出到直通門D。有興趣的同學可以參考第76頁實現(xiàn)本ALU功能的ABLE語言。了解ALU的實現(xiàn)方法。運算器結(jié)構(gòu):運算器ALU模塊由XC9572PLCC44組成,XC9572的管腳連接如圖1所示。ALU模塊在COP2000出廠時已經(jīng)設(shè)計了一種ALU(用ABEL語言設(shè)計的)具體的結(jié)構(gòu)如圖2所示,數(shù)據(jù)輸入端Din0-7接74HC245。而74HC245與J1相連,做分部實驗時將J1與J3相連,這樣就可以用開關(guān)K16-23輸入01數(shù)據(jù),做模型機實驗時將J1與J2相連即將Din與數(shù)據(jù)線相連。S2S1S0是8種運算選擇端,可以實現(xiàn)加、減、與、或、進位加、進位減、A取反、A輸出運算,AEN、WEN分別是寄存器A、W的選通控制端,CyIN、CN分別是進位輸入和進位輸出。X0、X1用于控制輸出O0-7是直通、左移、右移。圖1運算器的管腳定義圖2用XC9572設(shè)計的ALU的結(jié)構(gòu)框圖S2S1S0功能000A+W加001A-W減010A|W或011A&W與100A+W+C帶進位加101A-W-C帶進位減110~AA取反111A輸出A連接線表連接信號孔接入孔作用有效電平1J1座J3座將K23-K16接入DBUS[7:0]2S0K0運算器功能選擇3S1K1運算器功能選擇4S2K2運算器功能選擇5AENK3選通A低電平有效6WENK4選通W低電平有效7CyINK5運算器進位輸入8ALUCKCLOCKALU工作脈沖上升沿打入將55H寫入A寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)55HK23K22K21K20K19K18K17K1601010101置控制信號為:K5(CyIN)K4(WEN)K3(AEN)K2(S2)K1(S1)K0(S0)010000按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器A的黃色選擇指示燈亮,表明選擇A寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)55H被寫入A寄存器。將33H寫入W寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)33HK23K22K21K20K19K18K17K1600110011置控制信號為:K5(CyIN)K4(WEN)K3(AEN)K2(S2)K1(S1)K0(S0)001000按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器W的黃色選擇指示燈亮,表明選擇W寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)33H被寫入W寄存器。置下表的控制信號,檢驗運算器的運算結(jié)果K5(CyIN)K2(S2)K1(S1)K0(S0)結(jié)果(直通門D)注釋X00088H加運算X00122H減運算X01077H或運算X01111H與運算010088H帶進位加運算110089H帶進位加運算010122H帶進位減運算110121H帶進位減運算X110AAH取反運算X11155H輸出A注意觀察:運算器在加上控制信號及數(shù)據(jù)(A,W)后,立刻給出結(jié)果,不須時鐘.

三、數(shù)據(jù)輸出實驗/移位門實驗實驗要求:利用COP2000實驗儀的開關(guān)做為控制信號,將指定寄存器的內(nèi)容讀到數(shù)據(jù)總線DBUS上。實驗?zāi)康模?。了解模型機中多寄存器接數(shù)據(jù)總線的實現(xiàn)原理。2。了解運算器中移位功能的實現(xiàn)方法。實驗說明:COP2000中有7個寄存器可以向數(shù)據(jù)總線輸出數(shù)據(jù),但在某一特定時刻只能有一個寄存器輸出數(shù)據(jù).由X2,X1,X0決定那一個寄存器輸出數(shù)據(jù).數(shù)據(jù)輸出選擇器原理圖X2X1X0輸出寄存器000IN_OE外部輸入門001IA_OE中斷向量010ST_OE堆棧寄存器011PC_OEPC寄存器100D_OE直通門101R_OE右移門110L_OE左移門111沒有輸出連接線表連接信號孔接入孔作用有效電平1J1座J3座將K23-K16接入DBUS[7:0]2X0K5寄存器輸出選擇3X1K6寄存器輸出選擇4X2K7寄存器輸出選擇5AENK3選通A低電平有效6CNK9移位是否帶進位0:不帶進位1:帶進位7CyINK8移位進位輸入8S2K2運算器功能選擇9S1K1運算器功能選擇10S0K0運算器功能選擇11ALUCKCLOCKALU工作脈沖上升沿打入實驗1:數(shù)據(jù)輸出實驗置下表的控制信號,檢驗輸出結(jié)果X2X1X0指示燈(紅色)液晶顯示(數(shù)據(jù)總線值)000IN指示輸入門(K23-K16)001IA指示中斷向量(由撥動開關(guān)給出)010ST指示堆棧寄存器011PC指示PC寄存器100D直通門指示D直通門101R右移門指示R右移門110L左移門指示L左移門111沒有輸出實驗2:移位實驗ALU直接輸出和零標志位產(chǎn)生原理圖ALU直接輸出和零標志位產(chǎn)生原理圖ALU左移輸出原理圖ALU左移輸出原理圖ALU右移輸出原理圖ALU右移輸出原理圖直通門將運算器的結(jié)果不移位送總線。當X2X1X0=100時運算器結(jié)果通過直通門送到數(shù)據(jù)總線。同時,直通門上還有判0電路,當運算器的結(jié)果為全0時,Z=1右移門將運算器的結(jié)果右移一位送總線。當X2X1X0=101時運算器結(jié)果通過右通門送到數(shù)據(jù)總線。具體連線是:Cy與CNDBUS7ALU7DBUS6ALU6DBUS5ALU5DBUS4ALU4DBUS3ALU3DBUS2ALU2DBUS1ALU1DBUS0Cy與CNDBUS7當不帶進位移位時(CN=0):0DBUS7當帶進位移位時(CN=1):CyDBUS7左移門將運算器的結(jié)果左移一位送總線。當X2X1X0=110時運算器結(jié)果通過左通門送到數(shù)據(jù)總線。具體連線是:ALU6DBUS7ALU5DBUS6ALU4DBUS5ALU3DBUS4ALU2DBUS3ALU1DBUS2ALU0DBUS1當不帶進位移位時(CN=0):0DBUS0當帶進位移位時(CN=1):CyDBUS0將55H寫入A寄存器二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)55HK23K22K21K20K19K18K17K1601010101置控制信號為:K3(AEN)K2(S2)K1(S1)K0(S0)0111按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器A的黃色選擇指示燈亮,表明選擇A寄存器。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)55H被寫入A寄存器。S2S1S0=111時運算器結(jié)果為寄存器A內(nèi)容CNCyINLDR0XAA1010101055010101012A0010101010AA1010101055010101012A0010101011AB101010115501010101AA10101010注意觀察:移位與輸出門是否打開無關(guān),無論運算器結(jié)果如何,移位門都會給出移位結(jié)果。但究竟把那一個結(jié)果送數(shù)據(jù)總線由X2X1X0輸出選擇決定。

四、微程序計數(shù)器uPC實驗實驗要求:利用COP2000實驗儀上的K16..K23開關(guān)做為DBUS的數(shù)據(jù),其它開關(guān)做為控制信號,實現(xiàn)微程序計數(shù)器uPC的寫入和加1功能。實驗?zāi)康模?。了解模型機中微程序的基本概念。2。了解uPC的結(jié)構(gòu)、工作原理及其控制方法。實驗說明:74HC161是一片帶預置的4位二進制記數(shù)器。功能如下:當RST=0時,記數(shù)器被清0當IREN=0時,在CK的上升沿,預置數(shù)據(jù)被打入記數(shù)器當IREN=1時,在CK的上升沿,記數(shù)器加一TC為進位,當記數(shù)到F(1111)時,TC=1CEP,CET為記數(shù)使能,當CEP,CET=1時,記數(shù)器工作,CEP,CET=0時,記數(shù)器保持原記數(shù)值uPC原理圖uPC工作波形圖在COP2000中,指令I(lǐng)BUS[7:0]的高六位被接到uPC預置的高六位,uPC預置的低兩位被置為0。一條指令最多可有四條微指令。連接線表連接信號孔接入孔作用有效電平1J2座J3座將K23-K16接入DBUS[7:0]2IRENK0預置uPC低電平有效3EMENK1EM存儲器工作使能低電平有效4EMWRK2EM存儲器寫使能低電平有效5EMRDK3EM存儲器讀使能低電平有效6IRCKCLOCKuPC工作脈沖上升沿打入實驗1:uPC加一實驗置控制信號為:K3(EMRD)K2(EMWR)K1(EMEN)K0(IREN)1111按一次CLOCK脈沖鍵,CLOCK產(chǎn)生一個上升沿,數(shù)據(jù)uPC被加一。實驗2:uPC打入實驗二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)12HK23K22K21K20K19K18K17K1600010010置控制信號為:K3(EMRD)K2(EMWR)K1(EMEN)K0(IREN)1000當EMWR,EMEN=0時,數(shù)據(jù)總線(DBUS)上的數(shù)據(jù)被送到指令總線(IBUS)上。按住CLOCK脈沖鍵,CLOCK由高變低,這時寄存器uPC的黃色預置指示燈亮,表明uPC被預置。放開CLOCK鍵,CLOCK由低變高,產(chǎn)生一個上升沿,數(shù)據(jù)10H被寫入uPC寄存器。

五、PC實驗實驗要求:利用COP2000實驗儀上的K16..K23開關(guān)做為DBUS的數(shù)據(jù),其它開關(guān)做為控制信號,實現(xiàn)程序計數(shù)器PC的寫入及加1功能。實驗?zāi)康模?。了解模型機中程序計數(shù)器PC的工作原理及其控制方法。2。了解程序執(zhí)行過程中跳轉(zhuǎn)指令的實現(xiàn)方法。實驗說明:PC是由兩片74HC161構(gòu)成的八位帶預置記數(shù)器,預置數(shù)據(jù)來自數(shù)據(jù)總線。記數(shù)器的輸出通過74HC245(PCOE)送到地址總線。PC值還可以通過74HC245(PCOE_D)送回數(shù)據(jù)總線。PC原理圖在COP2000中,PC+1由PCOE取反產(chǎn)生。當RST=0時,PC記數(shù)器被清0當LDPC=0時,在CK的上升沿,預置數(shù)據(jù)被打入PC記數(shù)器當PC+1=1時,在CK的上升沿,PC記數(shù)器加一當PCOE=0時,PC值送數(shù)據(jù)總線PC打入控制原理圖PC打入控制原理圖PC打入控制電路由一片74HC151八選一構(gòu)成。ELPIR3IR2CyZLDPC1XXXX10001X00000X1001X10001X0101XXX0當ELP=1時,LDPC=1,不允許PC被預置當ELP=0時,LDPC由IR3,IR2,Cy,Z確定當IR3IR2=1X時,LDPC=0,PC被預置當IR3IR2=00時,LDPC=非Cy,當Cy=1時,PC被預置當IR3IR2=01時,LDPC=非Z,當Z=1時,PC被預置連接線表連接信號孔接入孔作用有效電平1J2座J3座將K23-K16接入DBUS[7:0]2PCOEK5PC輸出到地址總線低電平有效3JIR3K4預置選擇14JIR2K3預置選擇05JRZK2Z標志輸入6JRCK1C標志輸入7ELPK0預置允許低電平有效8PCCKCLOCKPC工作脈沖上升沿打入實驗1:PC加一實驗置控制信號為:K5(PCOE)K0(ELP)01按一次CLOCK脈沖鍵,CLOCK產(chǎn)生一個上升沿,數(shù)據(jù)PC被加一。實驗2:PC打入實驗二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)12HK23K22K21K20K19K18K17K1600010010置控制信號為:IR3(K4)IR2(K3)JRZ(K2)JRC(K1)ELP(K0)LDPC黃色PC預置指示燈XXXX11滅00X100亮00X001滅011X00亮010X01滅1XXX00亮每置控制信號后,按一下CLOCK鍵,觀察PC的變化。

六、存儲器EM實驗實驗要求:利用COP2000實驗儀上的K16..K23開關(guān)做為DBUS的數(shù)據(jù),其它開關(guān)做為控制信號,實現(xiàn)程序存儲器EM的讀寫操作。實驗?zāi)康模毫私饽P蜋C中程序存儲器EM的工作原理及控制方法。實驗說明:存儲器EM由一片6116RAM構(gòu)成,通過一片74HC245與數(shù)據(jù)總線相連。存儲器EM的地址可選擇由PC或MAR提供。存儲器EM的數(shù)據(jù)輸出直接接到指令總線IBUS,指令總線IBUS的數(shù)據(jù)還可以來自一片74HC245。當ICOE為0時,這片74HC245輸出中斷指令B8。EM原理圖連接線表連接信號孔接入孔作用有效電平1J2座J3座將K23-K16接入DBUS[7:0]2IRENK6IR,uPC寫允許低電平有效3PCOEK5PC輸出地址低電平有效4MAROEK4MAR輸出地址低電平有效5MARENK3MAR寫允許低電平有效6EMENK2存儲器與數(shù)據(jù)總線相連低電平有效7EMRDK1存儲器讀允許低電平有效8EMWRK0存儲器寫允許低電平有效9PCCKCLOCKPC工作脈沖上升沿打入10MARCKCLOCKMAR工作脈沖上升沿打入11EMCKCLOCK寫脈沖上升沿打入12IRCKCLOCKIR,uPC工作脈沖上升沿打入實驗1:PC/MAR輸出地址選擇置控制信號為:K5(PCOE)K4(MAROE)地址總線紅色地址輸出指示燈01PC輸出地址PC地址輸出指示燈亮10MAR輸出地址MAR地址輸出指示燈亮11地址總線浮空00錯誤,PC及MAR同時輸出PC及MAR地址輸出指示燈亮以下存貯器EM實驗均由MAR提供地址實驗2:存儲器EM寫實驗將地址0寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)00HK23K22K21K20K19K18K17K1600000000置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址0寫入MAR將地址11H寫入EM[0]二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)11HK23K22K21K20K19K18K17K1600010001置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1101010按CLOCK鍵,將地址11H寫入EM[0]將地址1寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)01HK23K22K21K20K19K18K17K1600000001置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址1寫入MAR將地址22H寫入EM[1]二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)22HK23K22K21K20K19K18K17K1600100010置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1101010按CLOCK鍵,將地址22H寫入EM[1]實驗3:存儲器EM讀實驗將地址0寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)00HK23K22K21K20K19K18K17K1600000000置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址0寫入MAR讀EM[0]置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1101101EM[0]被讀出:11H將地址1寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)01HK23K22K21K20K19K18K17K1600000001置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址0寫入MAR讀EM[1]置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1101101EM[1]被讀出:22H實驗4:存儲器打入IR指令寄存器/uPC實驗將地址0寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)00HK23K22K21K20K19K18K17K1600000000置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址0寫入MAR讀EM[0],寫入IR及uPC置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)0101101EM[0]被讀出:11H按CLOCK鍵,將EM[0]寫入IR及uPC,IR=11H,uPC=10H將地址1寫入MAR二進制開關(guān)K23-K16用于DBUS[7:0]的數(shù)據(jù)輸入,置數(shù)據(jù)01HK23K22K21K20K19K18K17K1600000001置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)1110111按CLOCK鍵,將地址0寫入MAR讀EM[1],寫入IR及uPC置控制信號為:K6(IREN)K5(PCOE)K4(MAROE)K3(MAREN)K2(EMEN)K1(EMRD)K0(EMWR)0101101EM[1]被讀出:22H按CLOCK鍵,將EM[1]寫入IR及uPC,IR=22H,uPC=20H實驗5:使用實驗儀小鍵盤輸入EM1.連接J1,J22.打開電源3.按TAB鍵,選擇EM4.輸入兩位地址,005.按NEXT,進入程序修改6.按兩位程序數(shù)據(jù)7.按NEXT選擇下個地址/按LAST選擇上個地址8.重復6,7步輸入程序9.按RESET結(jié)束

七、微程序存儲器uM實驗實驗要求:利用COP2000實驗儀上的開關(guān)做為控制信號,實現(xiàn)微程序存儲器uM的輸出功能。實驗?zāi)康模?。了解微程序控制方式模型機的基本工作原理。2。了解微程序存儲器uM的控制方法。實驗說明:存儲器uM由三片6116RAM構(gòu)成,共24位微指令。存儲器的地址由uPC提供,片選及讀信號恒為低,寫信號恒為高.存儲器uM始終輸出uPC指定地址單元的數(shù)據(jù)。uM原理圖實驗原理:微程序控制器的基本任務(wù)是完成當前指令的翻譯和執(zhí)行,即將當前指令的功能轉(zhuǎn)換成可以控制的硬件邏輯部件的微命令序列,完成數(shù)據(jù)傳送和各種處理操作。它的執(zhí)行方法就是將控制各部件工作的微命令序列的集合進行編碼,即將微命令的集合仿照機器指令一樣,用數(shù)字代碼的形式表示,這種表示稱為微指令,這樣就可以用一個微指令序列表示一條機器指令,這種微指令序列稱為微程序。微程序存儲在一種專用的存儲器中,稱為控制存儲器uM。微程序控制器組成框圖如圖所示,它主要由控制存儲器、微指令寄存器和地址轉(zhuǎn)移邏輯組成,其中微指令寄存器分成微地址寄存器和微命令寄存器兩部分。微程序控制器組成框圖控制存儲器由3片靜態(tài)隨機存儲器6116實現(xiàn),在實驗儀每次開機時,將固化在8位MCUW78E58B的Flash存儲器中的微程序存入6116RAM中。3片6116輸出的24位操作控制信號送入控制芯片。微指令寄存器用于存放從控制存儲器讀出的一條微指令信息,本實驗儀由控制芯片實現(xiàn)微指令存儲器功能。其中微地址寄存器決定將要訪問的下一條微指令的地址,該地址由控制芯片送IR,再送入uPC,而微命令信息直接由控制芯片處理。地址轉(zhuǎn)移邏輯由控制芯片實現(xiàn),承擔自動修改微地址的任務(wù)。當程序出現(xiàn)分支時,控制芯片通過判斷測試字段和執(zhí)行部件的狀態(tài)條件反饋信息,去修改微地址寄存器的內(nèi)容,并按修改的內(nèi)容去讀下一條微指令。微程序控制器的時序電路由控制芯片實現(xiàn)。本實驗儀的指令周期由4個時鐘周期組成,每個時鐘周期產(chǎn)生不同的控制邏輯,實現(xiàn)模型計算機的各種功能。本實驗儀的指令寄存器為8位,根據(jù)指令類型的不同,可以有0~2個操作數(shù)。指令寄存器的最低2位用來選擇R0~R3寄存器,因此,實驗儀最多可以設(shè)計64條指令。在微程序控制器中用指令碼作為微地址,尋找控制存儲器中的微程序。連接線表連接信號孔接入孔作用有效電平1J2座J3座將K23-K16接入DBUS[7:0]2IRENK0IR,uPC寫使能低電平有效3IRCKCLOCKuPC工作脈沖上升沿打入實驗1:微程序存儲器uM讀出置控制信號為:K0為1uM輸出uM[0]的數(shù)據(jù)按一次CLOCK脈沖鍵,CLOCK產(chǎn)生一個上升沿,數(shù)據(jù)uPC被加一。uM輸出uM[1]的數(shù)據(jù)按一次CLOCK脈沖鍵,CLOCK產(chǎn)生一個上升沿,數(shù)據(jù)uPC被加一。uM輸出uM[2]的數(shù)據(jù)實驗2:使用實驗儀小鍵盤輸入uM1.連接J1,J22.打開電源3.按TAB鍵,選擇uM4.輸入兩位地址,005.按NEXT,進入微程序修改6.按六位微程序數(shù)據(jù)7.按NEXT選擇下個地址/按LAST選擇上個地址8.重復6,7步輸入微程序9.按RESET結(jié)束

八、中斷實驗實驗要求:利用COP2000實驗儀上的開關(guān)做控制信號,實現(xiàn)中斷功能。實驗?zāi)康模毫私饽P蜋C的中斷功能的工作原理及中斷過程中,申請、響應(yīng)、處理、返回各階段時序。實驗說明:中斷電路有兩個D觸發(fā)器,分別用于保存中斷請求信號(IREQ)及中斷響應(yīng)信號(IACK)。INT有上升沿時,IREQ觸發(fā)器被置為1。當下一條指令取指時(IREN=0),存貯器EM的讀信號(EMRDP)被關(guān)閉,同時產(chǎn)生讀中斷指令(ICOE)信號,程序的執(zhí)行被打斷轉(zhuǎn)而去執(zhí)行B8指令響應(yīng)中斷。在取B8的同時置IACK觸發(fā)器被置為1,禁止新的中斷響應(yīng)。EINT信號置IACK,IREQ觸發(fā)器為0,中斷電路可以響應(yīng)新的中斷。中斷控制器原理圖連接線表連接信號孔接入孔作用有效電平1IRENK0IR,uPC寫允許低電平有效2EINTK1清中斷寄存器低電平有效3INTINT脈沖中斷輸入上升沿有效4CLOCKCLOCK脈沖時鐘輸入上升沿有效按INT脈沖鍵,產(chǎn)生中斷請求,此時黃色IREQ指示燈亮。置控制信號為:置控制信號為:K0(IREN)K1(EINT)01按CLOCK脈沖鍵,產(chǎn)生取指脈沖,黃色IACK指示燈亮,同時B8輸出紅色指示燈。置控制信號為:置控制信號為:K0(IREN)K1(EINT)10IREQ,IACK燈滅。第二章COP2000模型機1、模型機總體結(jié)構(gòu)COP2000模型機包括了一個標準CPU所具備所有部件,這些部件包括:運算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲器EM、指令寄存器IR、微程序計數(shù)器uPC、微程序存儲器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其中運算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來實現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來代替。模型機為8位機,數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機相同。相比而言8位機實驗減少了煩瑣的連線,但其原理卻更容易被學生理解、吸收。模型機的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄存器,在微程序控制方式中,用指令碼做為微地址來尋址微程序存儲器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時序用指令碼產(chǎn)生相應(yīng)的控制位。在本模型機中,一條指令最多分四個狀態(tài)周期,一個狀態(tài)周期為一個時鐘脈沖,每個狀態(tài)周期產(chǎn)生不同的控制邏輯,實現(xiàn)模型機的各種功能。模型機有24位控制位以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。24位控制位分別介紹如下:XRD:外部設(shè)備讀信號,當給出了外設(shè)的地址后,輸出此信號,從指定外設(shè)讀數(shù)據(jù)。EMWR:程序存儲器EM寫信號。EMRD:程序存儲器EM讀信號。PCOE:將程序計數(shù)器PC的值送到地址總線ABUS上。EMEN:將程序存儲器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。IREN:將程序存儲器EM讀出的數(shù)據(jù)打入指令寄存器IR和微指令計數(shù)器uPC。EINT:中斷返回時清除中斷響應(yīng)和中斷請求標志,便于下次中斷。ELP:PC打入允許,與指令寄存器的IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。MAREN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄存器MAR。MAROE:將地址寄存器MAR的值送到地址總線ABUS上。OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。STEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。RRD:讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。RWR:寫寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。CN:決定運算器是否帶進位移位,CN=1帶進位,CN=0不帶進位。FEN:將標志位存入ALU內(nèi)部的標志寄存器。X2:X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。X1:見16頁表。X0:WEN:將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。AEN:將數(shù)據(jù)總線DBUS的值打入累加器A中。S2:S2、S1、S0三位組合決定ALU做何種運算。S1:見14頁表。S0:2、模型機尋址方式模型機的尋址方式分五種:累加器尋址:操作數(shù)為累加器A,例如“CPLA”是將累加器A值取反,還有些指令是隱含尋址累加器A,例如“OUT”是將累加器A的值輸出到輸出端口寄存器OUT。寄存器尋址:參與運算的數(shù)據(jù)在R0-R3的寄存器中,例如“ADDA,R0”指令是將寄存器R0的值加上累加器A的值,再存入累加器A中。寄存器間接尋址:參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址在寄存器R0-R3中,例如“MOVA,@R1”指令是將寄存器R1的值做為地址,把存儲器EM中該地址的內(nèi)容送入累加器A中。存儲器直接尋址:參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。例如“ANDA,40H”指令是將存儲器EM中40H單元的數(shù)據(jù)與累加器A的值做邏輯與運算,結(jié)果存入累加器A。立即數(shù)尋址:參與運算的數(shù)據(jù)為指令的操作數(shù)。例如“SUBA,#10H”是從累加器A中減去立即數(shù)10H,結(jié)果存入累加器A。3、模型機指令集模型機的缺省的指令集分幾大類:算術(shù)運算指令、邏輯運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。用戶可以通過COP2000計算機組成原理實驗軟件或組成原理實驗儀來設(shè)計自己的指令集,有關(guān)如何設(shè)計指令/微指令的介紹將在后面第六章說明。助記符機器碼1機器碼2注釋_FATCH_000000xx實驗機占用,不可修改。復位后,所有寄存器清0,首先執(zhí)行_FATCH_指令取指000001xx未使用000010xx未使用000011xx未使用ADDA,R?000100xx將寄存器R?的值加入累加器A中ADDA,@R?000101xx將間址存儲器的值加入累加器A中ADDA,MM000110xxMM將存儲器MM地址的值加入累加器A中ADDA,#II000111xxII將立即數(shù)II加入累加器A中ADDCA,R?001000xx將寄存器R?的值加入累加器A中,帶進位ADDCA,@R?001001xx將間址存儲器的值加入累加器A中,帶進位ADDCA,MM001010xxMM將存儲器MM地址的值加入累加器A中,帶進位ADDCA,#II001011xxII將立即數(shù)II加入累加器A中,帶進位SUBA,R?001100xx從累加器A中減去寄存器R?的值SUBA,@R?001101xx從累加器A中減去間址存儲器的值SUBA,MM001110xxMM從累加器A中減去存儲器MM地址的值SUBA,#II001111xxII從累加器A中減去立即數(shù)II加入累加器A中SUBCA,R?010000xx從累加器A中減去寄存器R?的值,減進位SUBCA,@R?010001xx從累加器A中減去間址存儲器的值,減進位SUBCA,MM010010xxMM從累加器A中減去存儲器MM地址的值,減進位SUBCA,#II010011xxII從累加器A中減去立即數(shù)II,減進位ANDA,R?010100xx累加器A“與”寄存器R?的值A(chǔ)NDA,@R?010101xx累加器A“與”間址存儲器的值A(chǔ)NDA,MM010110xxMM累加器A“與”存儲器MM地址的值A(chǔ)NDA,#II010111xxII累加器A“與”立即數(shù)IIORA,R?011000xx累加器A“或”寄存器R?的值ORA,@R?011001xx累加器A“或”間址存儲器的值ORA,MM011010xxMM累加器A“或”存儲器MM地址的值ORA,#II011011xxII累加器A“或”立即數(shù)IIMOVA,R?011100xx將寄存器R?的值送到累加器A中MOVA,@R?011101xx將間址存儲器的值送到累加器A中MOVA,MM011110xxMM將存儲器MM地址的值送到累加器A中MOVA,#II011111xxII將立即數(shù)II送到累加器A中MOVR?,A100000xx將累加器A的值送到寄存器R?中MOV@R?,A100001xx將累加器A的值送到間址存儲器中MOVMM,A100010xxMM將累加器A的值送到存儲器MM地址中MOVR?,#II100011xxII將立即數(shù)II送到寄存器R?中READMM100100xxMM從外部地址MM讀入數(shù)據(jù),存入累加器A中WRITEMM100101xxMM將累加器A中數(shù)據(jù)寫到外部地址MM中100110xx未使用100111xx未使用JCMM101000xxMM若進位標志置1,跳轉(zhuǎn)到MM地址JZMM101001xxMM若零標志位置1,跳轉(zhuǎn)到MM地址101010xx未使用JMPMM101011xxMM跳轉(zhuǎn)到MM地址101100xx未使用101101xx未使用_INT_101110xx實驗機占用,不可修改。進入中斷時,實驗機硬件產(chǎn)生_INT_指令CALLMM101111xxMM調(diào)用MM地址的子程序IN110000xx從輸入端口讀入數(shù)據(jù)到累加器A中OUT110001xx將累加器A中數(shù)據(jù)輸出到輸出端口110010xx未使用RET110011xx子程序返回RRA110100xx累加器A右移RLA110101xx累加器A左移RRCA110110xx累加器A帶進位右移RLCA110111xx累加器A帶進位左移NOP111000xx空指令CPLA111001xx累加器A取反,再存入累加器A中111010xx未使用RETI111011xx中斷返回111100xx未使用111101xx未使用111110xx未使用111111xx未使用第三章模型機綜合實驗(微程序控制器)在綜合實驗中,模型機作為一個整體來工作的,所有微程序的控制信號由微程序存儲器uM輸出,而不是由開關(guān)輸出。在做綜合實驗之前,先用8芯電纜連接J1和J2,這樣實驗儀的監(jiān)控系統(tǒng)會自動打開uM的輸出允許,微程序的各控制信號就會接到各寄存器、運算器的控制端口。此綜合實驗使用的指令是模型機的缺省指令/微指令系統(tǒng)。等做完本綜合實驗,熟悉了此套指令/微指令后,用戶可以自己設(shè)計的指令/微指令系統(tǒng),有關(guān)自己設(shè)計指令/微指令系統(tǒng)的說明在下一章介紹。實驗?zāi)康模?、了解模型機的組成原理;2、了解模型機的指令/微指令系統(tǒng);3、通過運行簡單程序,掌握指令與微指令的關(guān)系,牢固建立計算機的整機概念。實驗設(shè)備:1、COP2000實驗儀;2、PC機。實驗原理:模型機的邏輯框圖如圖所示,其指令系統(tǒng)和微指令系統(tǒng)可參見指導書第三章COP2000模型機。在本次實驗中,模型機作為一個整體工作,所有微程序的控制信號由微程序存儲器uM輸出,而不是由開關(guān)輸出。在做實驗之前,先用8芯電纜連接J1和J2,這樣實驗儀的監(jiān)控系統(tǒng)會自動打開uM的輸出允許,微程序的各控制信號就會接到各寄存器、運算器的控制端口。模型機框圖在做綜合實驗時,可以用COP2000計算機組成原理實驗軟件輸入、修改程序,匯編成機器碼并下載到實驗儀上,由軟件控制程序?qū)崿F(xiàn)單指令執(zhí)行、單微指令執(zhí)行、全速執(zhí)行,并可以在軟件上觀察指令或微指令執(zhí)行過程中數(shù)據(jù)的走向、各控制信號的狀態(tài)、各寄存器的值。COP2000軟件的使用方法見第九章“COP2000集成開發(fā)環(huán)境使用”。也可以用實驗儀自帶的小鍵盤和顯示屏來輸入、修改程序,用鍵盤控制單指令或單微指令執(zhí)行,用LED或用顯示屏觀察各寄存器的值。實驗儀上的鍵盤使用方法見第八章“實驗儀鍵盤使用”。在用微程序控制方式做綜合實驗時,在給實驗儀通電前,拔掉實驗儀上所有的手工連接的接線,再用8芯電纜連接J1和J2,控制方式開關(guān)撥到“微程序控制”方向。若想用COP2000軟件控制組成原理實驗儀,就要啟動軟件,并用快捷圖標的“設(shè)置”功能打開設(shè)置窗口,選擇實驗儀連接的串行口,然后再按“連接COP2000實驗儀”按鈕接通到實驗儀。實驗1:數(shù)據(jù)傳送實驗/輸入輸出實驗MOVA,#12HMOVA,#12HMOVA,R0MOVA,@R0MOVA,01HINOUTEND2.將程序另存為EX1.ASM,將程序匯編成機器碼,反匯編窗口會顯示出程序地址、機器碼、反匯編指令。程序地址機器碼反匯編指令指令說明007C12MOVA,#12立即數(shù)12H送到累加器A0270MOVA,R0寄存器R0送到累加器A0374MOVA,@R0R0間址的存儲器內(nèi)容送到累加器A047801MOVA,01存儲器01單元內(nèi)容送到累加器A06C0IN端口IN內(nèi)容輸入到累加器A07C4OUT累加器A內(nèi)容輸出到端口OUT3.按快捷圖標的F7,執(zhí)行“單微指令運行”功能,觀察執(zhí)行每條微指令時,寄存器的輸入/輸出狀態(tài),各控制信號的狀態(tài),PC及uPC如何工作。(見EX1.ASM程序跟蹤結(jié)果)

實驗2:數(shù)據(jù)運算實驗(加/減/與/或)1.在COP2000軟件中的源程序窗口輸入下列程序ADDCA,R1SUBA,@R0ANDA,#55HORA,02HEND2.將程序另存為EX2.ASM,將程序匯編成機器碼,反匯編窗口會顯示出程序地址、機器碼、反匯編指令。程序地址機器碼反匯編指令指令說明0021ADDCA,R1累加器A的值加上寄存器R1加進位0135SUBA,@R0累加器A減去R1間址的存儲器內(nèi)容025C55ANDA,#55累加器A邏輯與立即數(shù)55H046802ORA,02累加器A邏輯或存儲器02單元的內(nèi)容3.按快捷圖標的F7,執(zhí)行“單微指令運行”功能,觀察執(zhí)行每條微指令時,寄存器的輸入/輸出狀態(tài),各控制信號的狀態(tài),PC及uPC如何工作。(見“EX2.ASM程序跟蹤結(jié)果”詳細介紹)4.在了解數(shù)據(jù)運算的原理,可以加上一些數(shù)據(jù)傳輸指令給累加器A或寄存器R?賦值,再運算,并觀察運算結(jié)果。實驗3:移位/取反實驗1.在COP2000軟件中的源程序窗口輸入下列程序MOVA,#55HRRARLCACPLAEND2.將程序另存為EX3.ASM,將程序匯編成機器碼,反匯編窗口會顯示出程序地址、機器碼、反匯編指令。程序地址機器碼反匯編指令指令說明007C55MOVA,#55立即數(shù)55H存入累加器A02D0RRA不帶進位右移累加器A03DCRLCA帶進位左移累加器A04E4CPLA累加器A內(nèi)容取反3.按快捷圖標的F7,執(zhí)行“單微指令運行”功能,觀察執(zhí)行每條微指令時,寄存器的輸入/輸出狀態(tài),各控制信號的狀態(tài),PC及uPC如何工作。(見“EX3.ASM程序跟蹤結(jié)果”詳細介紹)

實驗4:轉(zhuǎn)移實驗MOVA,#01LOOP:SUBA,#01MOVA,#01LOOP:SUBA,#01JCLOOPJZLOOPJMP0CPLAEND2.將程序另存為EX4.ASM,將程序匯編成機器碼,反匯編窗口會顯示出程序地址、機器碼、反匯編指令。程序地址機器碼反匯編指令指令說明007C01MOVA,#01立即數(shù)01H存入累加器A023C01SUBA,#01累加器A減104A002JC02若有進位跳到程序02地址06A402JZ02若A=0跳轉(zhuǎn)到程序02地址08AC00JMP00無條件跳轉(zhuǎn)到程序開始3.按快捷圖標的F7,執(zhí)行“單微指令運行”功能,觀察執(zhí)行每條微指令時,寄存器的輸入/輸出狀態(tài),各控制信號的狀態(tài),PC及uPC如何工作。觀察在條件滿足和不滿足的情況下,條件跳轉(zhuǎn)是否正確執(zhí)行。(見“EX4.ASM程序跟蹤結(jié)果”詳細介紹)實驗5:調(diào)用實驗MOVA,#00HLOOP:MOVA,#00HLOOP:CALLINCAJMPLOOPINCA:ADDA,#1RETEND2.將程序另存為EX5.ASM,將程序匯編成機器碼,反匯編窗口會顯示出程序地址、機器碼、反匯編指令。程序地址機器碼反匯編指令指令說明007C55MOVA,#00立即數(shù)00H存入累加器A02BC06CALL06調(diào)用子程序04AC02JMP02跳轉(zhuǎn)到02地址,循環(huán)執(zhí)行061C01ADDA,#01累加器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論