計(jì)算機(jī)組成原理課程設(shè)計(jì)基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)_第1頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)_第2頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)_第3頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)_第4頁(yè)
計(jì)算機(jī)組成原理課程設(shè)計(jì)基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢理工大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書學(xué) 號(hào): 課 程 設(shè) 計(jì)題 目不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)學(xué) 院計(jì)算機(jī)科學(xué)與技術(shù)專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)姓 名指導(dǎo)教師20年月日目 錄課程設(shè)計(jì)任務(wù)書11.題目32.設(shè)計(jì)的目的及設(shè)計(jì)原理32.1設(shè)計(jì)的目的及階段32.1.1 設(shè)計(jì)的目的32.1.2分析階段32.1.3設(shè)計(jì)階段32.1.4驗(yàn)證階段32.2設(shè)計(jì)的原理43模型機(jī)的邏輯框44設(shè)計(jì)指令系統(tǒng)及分析其指令格式54.1設(shè)計(jì)指令系統(tǒng)54.2分析指令格式74.3 操作數(shù)尋址方式及編碼84.3.1直接地址尋址84.3.2寄存器直接尋址94.3.3寄存器間接尋址94.3.4立即數(shù)尋址105微程序的設(shè)計(jì)及微程序?qū)?/p>

2、現(xiàn)的方法105.1微指令格式的設(shè)計(jì)105.2后續(xù)微地址的產(chǎn)生方法105.3微程序入口地址的形成106模型機(jī)當(dāng)中時(shí)序的設(shè)計(jì)安排137設(shè)計(jì)指令執(zhí)行流程148源程序和程序的指令代碼及微程序168.1源程序168.2程序的指令代碼178.3微程序179使用軟件hkcpt的聯(lián)機(jī)方式的實(shí)現(xiàn)過程199.1主要指令的時(shí)序圖199.2累加器a和有關(guān)寄存器、存儲(chǔ)器的數(shù)據(jù)變化以及數(shù)據(jù)流程2710課程設(shè)計(jì)總結(jié)28本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表29課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院題 目: 基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位的與或運(yùn)算指令的實(shí)現(xiàn)初始條件: 理論:學(xué)完“電工電子學(xué)”、“數(shù)字邏

3、輯”、“匯編語言程序設(shè)計(jì)”、和“計(jì)算機(jī)組成原理”課程,掌握計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái)的使用。 實(shí)踐:計(jì)算機(jī)學(xué)院科學(xué)系實(shí)驗(yàn)中心提供計(jì)算機(jī)、實(shí)驗(yàn)的軟件、硬件平臺(tái),在實(shí)驗(yàn)中心硬件平臺(tái)驗(yàn)證設(shè)計(jì)結(jié)果。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1、基本模型機(jī)系統(tǒng)分析與設(shè)計(jì),利用所學(xué)的計(jì)算機(jī)組成原理課程中的知識(shí)和提供的實(shí)驗(yàn)平臺(tái)完成設(shè)計(jì)任務(wù),從而建立清晰完整的整機(jī)概念。2、根據(jù)課程設(shè)計(jì)題目的要求,編制實(shí)驗(yàn)所需的程序,上機(jī)測(cè)試并分析所設(shè)計(jì)的程序。3、課程設(shè)計(jì)的書寫報(bào)告應(yīng)包括: (1)課程設(shè)計(jì)的題目。 (2)設(shè)計(jì)的目的及設(shè)計(jì)原理。 (3)根據(jù)設(shè)計(jì)要求給出模型機(jī)的邏輯框圖。 (4

4、)設(shè)計(jì)指令系統(tǒng),并分析指令格式。 (5)設(shè)計(jì)微程序及其實(shí)現(xiàn)的方法(包括微指令格式的設(shè)計(jì),后續(xù)微地址的產(chǎn)生方法以及微程序入口地址的形成)。 (6)模型機(jī)當(dāng)中時(shí)序的設(shè)計(jì)安排。 (7)設(shè)計(jì)指令執(zhí)行流程。 (8)給出編制的源程序,寫出程序的指令代碼及微程序。 (9)說明在使用軟件hkcpt的聯(lián)機(jī)方式與脫機(jī)方式的實(shí)現(xiàn)過程(包括編制程序中與或運(yùn)算指令的時(shí)序分析,累加器a和有關(guān)寄存器、存儲(chǔ)器的數(shù)據(jù)變化以及數(shù)據(jù)流程)。 (10)課程設(shè)計(jì)總結(jié)(設(shè)計(jì)的特點(diǎn)、不足、收獲與體會(huì))。時(shí)間安排: 周一:熟悉相關(guān)資料。 周二:系統(tǒng)分析,設(shè)計(jì)程序。 周三、四:編程并上實(shí)驗(yàn)平臺(tái)調(diào)試 周五:撰寫課程設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年

5、月 日系主任(或責(zé)任教師)簽名: 年 月 日課程設(shè)計(jì)報(bào)告書1.題目基本模型機(jī)的設(shè)計(jì)不帶進(jìn)位與或運(yùn)算指令的實(shí)現(xiàn)2.設(shè)計(jì)的目的及設(shè)計(jì)原理2.1設(shè)計(jì)的目的及階段2.1.1 設(shè)計(jì)的目的掌握簡(jiǎn)單運(yùn)算器的數(shù)據(jù)傳輸方式、了解通用寄存器的組成和硬件電路、利用通用寄存器實(shí)現(xiàn)數(shù)據(jù)的置數(shù)等功能、進(jìn)一步熟悉存儲(chǔ)器和總線的硬件電路、掌握微程序控制器的原理、掌握微程序編制、寫入并觀察運(yùn)行狀態(tài)等。掌握了各個(gè)單元模塊的工作原理,進(jìn)一步將其組成完整的系統(tǒng),構(gòu)成1臺(tái)基本的模型機(jī)。在本設(shè)計(jì)中,我們將規(guī)劃讀寫內(nèi)存、寄存器、邏輯運(yùn)算等功能,并且編寫相應(yīng)的微程序。通過使用軟件hkcpt,了解程序編譯、加載的過程,通過微單步、單拍調(diào)試,理

6、解模型機(jī)中的數(shù)據(jù)流向。 本次設(shè)計(jì)的源程序解決的問題是:求解“表達(dá)式(4f30)+23)22)-09)25(十六進(jìn)制)”的值,并將其結(jié)果送入單元號(hào)為30h的內(nèi)存單元。 2.1.2分析階段通過對(duì)計(jì)算機(jī)的基本組成、部件的設(shè)計(jì)、部件間的連接、微程序控制器的設(shè)計(jì)、微指令和微程序的編制與調(diào)試等過程,試著編寫連續(xù)幾個(gè)數(shù)的不帶進(jìn)位的與或運(yùn)算。2.1.3設(shè)計(jì)階段 通過對(duì)微指令格式了解和掌握,把分析階段的連續(xù)的幾個(gè)數(shù)的不帶進(jìn)位的與或運(yùn)算轉(zhuǎn)為成程序。2.1.4驗(yàn)證階段驗(yàn)證設(shè)計(jì)階段的程序代碼結(jié)果和實(shí)際的結(jié)果是否一致來判斷整個(gè)過程的正確性。2.2設(shè)計(jì)的原理計(jì)算機(jī)中cpu是核心,它是通過指令和微指令的執(zhí)行來工作的。指令是

7、計(jì)算機(jī)要完成的某一項(xiàng)功能。它對(duì)應(yīng)到執(zhí)行的過程中是一段微程序。一段微程序含多條為指令,而一條微指令又含多個(gè)微命令。一個(gè)微命令驅(qū)動(dòng)某個(gè)硬件部件執(zhí)行某種操作。通過這樣一個(gè)關(guān)系,從而達(dá)到由計(jì)算機(jī)指令來驅(qū)動(dòng)計(jì)算機(jī)各個(gè)硬部件的協(xié)調(diào)工作以實(shí)現(xiàn)一條指令的執(zhí)行。在各個(gè)模塊中,各模塊的控制的控制信號(hào)都是手動(dòng)模擬產(chǎn)生的。而在真正的實(shí)驗(yàn)系統(tǒng)中,模型機(jī)的運(yùn)行是在微程序的控制下,實(shí)現(xiàn)特定指令的功能。在本實(shí)驗(yàn)平臺(tái)中,模型機(jī)從內(nèi)存中取出、解釋、執(zhí)行機(jī)器指令都將由微指令和之相配合的時(shí)序來完成,即一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。3模型機(jī)的邏輯框圖其中運(yùn)算器由2片74l181構(gòu)成8位字長(zhǎng)的alu單元。2片74ls374作為2個(gè)數(shù)據(jù)鎖存

8、器(dr1、dr2),8芯插座alu-in作為數(shù)據(jù)輸入端,可通過短8芯扁平電纜,把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。數(shù)據(jù)輸入鎖存器dr1的edr1為低電平,并且d1ck有上升沿時(shí),那來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器dr1。同樣使edr2為低電平、d2ck有上升沿時(shí)把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器dr2。4設(shè)計(jì)指令系統(tǒng)及分析其指令格式4.1設(shè)計(jì)指令系統(tǒng)此次實(shí)驗(yàn)涉及的指令有以下幾種:mov a, #data 將立即數(shù)傳遞到將累加器a中;orl a,#data 將累加器a和立即數(shù)相或,結(jié)果送入累加器a中;mov ri,#data 將立即數(shù)傳遞到寄存器ri中;sub a,ri 將累加器a中的內(nèi)容減去寄存器ri中

9、的內(nèi)容,結(jié)果送入累加器a;add a,ri 將累加器a中的內(nèi)容加上寄存器ri中的內(nèi)容,結(jié)果送入累加器a;anl a,#data 將累加器a和立即數(shù)相與,結(jié)果送入累加器a中; sta addr 將寄存器中內(nèi)容寫入存儲(chǔ)器中; halt 停機(jī)指令;指令系統(tǒng)如下表:指令助記符指令功能指令編碼微周期微操作取指指令t0pc-地址總線-ramram-數(shù)據(jù)總線-ir1add a,r0add a,r1add a,r2add a,r3(a+ri) a0c0d0e0ft0t1t2t3adbusdr1ridbusdr2aludbusa、置cy取指微指令sub a,r0sub a,r1sub a,r2sub a,r3(

10、a-ri) a1c1d1e1ft0t1t2t3adbusdr1ridbusdr2aludbusa、置cy取指微指令mov a,#datadataa5ft0t1ramdbusa取指指令mov r0,#datamov r1,#datamov r2,#datamov r3,#datadatari6c6d6e6ft0t1ramdbusa取指指令orl a,#data(a)或dataacft0t1t2t3adbusdr1ramdbusdr2aludbusa取指指令anl a,#data(a)或dataadft0t1t2t3adbusdr1ramdbusdr2aludbusa取指微指令sta addr(a

11、)addr8ft0t1t2ramdbusir2ir2地址總線,aram取指微指令halt停機(jī)fft0停機(jī)4.2分析指令格式一般指令由操作碼和操作碼組成,如下所示:操作碼地址碼 此實(shí)驗(yàn)所涉及指令的格式如下:mov指令采用雙字節(jié)指令,其格式如下:7 6 5 43 21 0操作碼 ridata mov指令采用單字節(jié)指令,其格式如下:7 6 5 43 21 0操作碼a data mov指令采用單字節(jié)指令,其格式如下:7 6 5 43 21 0操作碼ridata add指令采用雙操作數(shù)指令,其格式如下:7 6 5 43 21 0操作碼ari sub指令采用雙操作數(shù)指令,其格式如下:7 6 5 43 21

12、 0操作碼ari orl邏輯或指令采用單字節(jié)指令,其格式如下: 7 6 5 43 21 0操作碼adata anl邏輯與指令采用單字節(jié)指令,其格式如下: 7 6 5 43 21 0操作碼adata sta取數(shù)據(jù)指令,其格式如下:7 6 5 43 21 0操作碼 data addr停機(jī)指令(halt),其格式如下:7 6 5 43 21 0操作碼 4.3 操作數(shù)尋址方式及編碼4.3.1直接地址尋址 如:雙字節(jié)指令 lda addr (addr)-a sta addr (a)-addr 第1字節(jié) 第2字節(jié)i7i6i5i4i3i2i1i0a7a6a5a4a3a2a1 操作碼 操作數(shù)地址addr 4.

13、3.2寄存器直接尋址 指令字節(jié)中含有寄存器選擇碼,決定選哪個(gè)寄存器進(jìn)行操作。 如:?jiǎn)巫止?jié)指令 mov a, ri (ri)-a 單字節(jié)i7i6i5i4i3i2i1i0 操作碼與ri選擇碼 如:雙字節(jié)指令 mov ri, #data data-ri 第1字節(jié) 第2字節(jié)i7i6i5i4i3i2i1i0a7a6a5a4a3a2a1 操作碼及ri選擇碼 data 4.3.3寄存器間接尋址 如:?jiǎn)巫止?jié)指令: mov a,ri (ri)-a ri選擇碼i7i6i5i4i3i2i1i0 操作碼4.3.4立即數(shù)尋址 如:mov a, #data data-a mov ri, data data-ri 第1字節(jié)

14、 第2字節(jié)i7i6i5i4i3i2i1i0a7a6a5a4a3a2a1 操作碼及ri選擇碼 data 5微程序的設(shè)計(jì)及微程序?qū)崿F(xiàn)的方法5.1微指令格式的設(shè)計(jì)一條微指令的一般格式是如下圖:判別測(cè)試下地址操作控制順序控制5.2后續(xù)微地址的產(chǎn)生方法由于本系統(tǒng)中指令系統(tǒng)規(guī)模不大,功能較簡(jiǎn)單,微指令采用全水平、不編碼的方式,每一個(gè)微操作控制信號(hào)由一位微代碼來表示,24位微代碼至少可表示24個(gè)不同的微操作控制信號(hào)。用增量方式來控制微代碼的運(yùn)行順序,每一條指令的微程序連續(xù)存放在微指令存儲(chǔ)器連續(xù)的單元中。在本系統(tǒng)內(nèi),mld為置微地址的控制信號(hào),mck為工作脈沖。當(dāng)mld=0、mck有上沿時(shí),把md0md7的值

15、作為微程序的地址,打入微地址寄存器。當(dāng)mld=1、mck有上升沿時(shí),微地址計(jì)數(shù)器自動(dòng)加1。5.3微程序入口地址的形成在本實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)是采用的24位微指令,若微指令采用全水平不編碼純控制場(chǎng)的格式,那么至多可有24個(gè)微操作控制信號(hào),可由微代碼直接實(shí)現(xiàn)。若采用多組編碼譯碼,那么24位的微代碼通過二進(jìn)制譯碼可實(shí)現(xiàn)2n個(gè)互斥的微操作控制信號(hào)。由于模型機(jī)指令系統(tǒng)規(guī)模較小,功能也不太復(fù)雜,所以采用全水平不編碼純控制場(chǎng)的微指令格式。在模型機(jī)中,用指令操作碼的高4位作為核心擴(kuò)展成8位的微程序入口地址md0-md7。這種方法稱為“按操作碼散轉(zhuǎn)”(如下表所示)。微程序首地址形成md7md6md5md4md3m

16、d2md1md0001716151411按操作碼散轉(zhuǎn)指令操作碼微程序首地址md7、md6i7i6i5i4md1、md0md7md0000001003h000011007h00010100bh00011100fh001001013h001011017h00110101bh00111101fh010001023h010011027h01010102bh01011102fh011001033h011011037h01110103bh01111103fh每條指令由不超過4條的微指令組成,那么可根據(jù)下表組成每條微程序的首地址。微指令的運(yùn)行順序位下地址確定法,即采用計(jì)數(shù)增量方法,每條微指令執(zhí)行過后微地址自

17、動(dòng)加1,指向下一條微指令地址。例如:確定了一條程序的微程序入口地址為07h,那么執(zhí)行完07h這條微指令后微地址加1,指向08h微地址。微地址寄存器由2片74ls161組成,當(dāng)模型機(jī)在停止?fàn)顟B(tài)下,微地址被清零。當(dāng)實(shí)驗(yàn)平臺(tái)開始運(yùn)行時(shí),微地址從00h開始運(yùn)行。且00h放置一條取指指令,根據(jù)程序開始地址從內(nèi)存中讀出第一條指令。00取指微指令010203減法指令微程序(1)04減法指令微程序(2)050607mov指令微程序(1)08mov指令微程序(2)09mov指令微程序(3).此次實(shí)驗(yàn)程序中的微程序指令如下表:指令助記符微地址有效值微指令十六進(jìn)制編碼mov a,#data17h18h19h1ahd

18、dfbff4dfffforl a,#data33h34h35h36hfffcfeddff7efffbbe4dffffmov ri,#data1bh1ch1dh1ehddbfff4dffffadd a,ri03h04h05h06hfffcf9fe7f79fffba94dffffsub a,ri07h08h09h0ahfffcd6fe7f56fffb864dffffanl a,#data37h38h39h3ahfffcfbddff7bfffbbb4dffffsta addr23h24h25h26hd5ffffbbfdff4dffffhalt3fhffdfff6模型機(jī)當(dāng)中時(shí)序的設(shè)計(jì)安排 由于模型機(jī)已

19、經(jīng)確定了指令系統(tǒng),微指令采用全水平不編碼純控制場(chǎng)的格式,微程序的入口地址采用操作碼散轉(zhuǎn)方式,微地址采用計(jì)數(shù)增量方式,所以可確定模型機(jī)中時(shí)序單元中所產(chǎn)生的每一拍的作用。本實(shí)驗(yàn)中為了更好地觀察實(shí)驗(yàn)的各個(gè)中間過程中各寄存器的值,由監(jiān)控單元產(chǎn)生一個(gè)pls-o的信號(hào)來控制時(shí)序產(chǎn)生。pls-o信號(hào)經(jīng)過時(shí)序單元的處理產(chǎn)生了4個(gè)脈沖信號(hào)。4個(gè)脈沖信號(hào)組成一個(gè)微周期,為不同的寄存器提供工作脈沖。 pls1: 微地址寄存器的工作脈沖,用來設(shè)置微程序的首地址及微地址加1。pls2: pc計(jì)數(shù)器的工作脈沖,根據(jù)微指令的控制實(shí)現(xiàn)pc計(jì)數(shù)器加1和重置pc計(jì)數(shù)器(如跳轉(zhuǎn)指令)等功能。pls3: 把24位微指令打入3片微指令

20、鎖存器pls4: 把當(dāng)前總線上的數(shù)據(jù)打入微指令選通的寄存器7設(shè)計(jì)指令執(zhí)行流程在每個(gè)系統(tǒng)中,一條指令從內(nèi)存取出到執(zhí)行完畢,需要若干個(gè)機(jī)器周期,任何指令中都必須有一個(gè)機(jī)器周期作為“取指令周期”,稱為公操作周期。而一條指令共需幾個(gè)機(jī)器周期取決于指令在機(jī)器內(nèi)實(shí)現(xiàn)的復(fù)雜程度。對(duì)于微程序控制的計(jì)算機(jī),在設(shè)計(jì)指令執(zhí)行流程時(shí),要保證每條微指令所含的微操作的必要性和合理性,還應(yīng)知道總線的iab,idb,oab,odb僅是傳輸信息的通路,沒有寄存信息的功能,而且必須保證總線傳輸信息時(shí)信息的唯一性。以下描述取微指令執(zhí)行周期:在模型機(jī)處于停機(jī)狀態(tài)時(shí),模型機(jī)的微地址寄存器被清零,微指令鎖存器輸出無效。在處于停機(jī)狀態(tài)時(shí),

21、脈沖pls1對(duì)微地址寄存器(74ls161)無效,微地址寄存器保持為零。脈沖pls2對(duì)pc計(jì)數(shù)器無效,同時(shí)pls2把halt=1打入啟停單元中的運(yùn)行狀態(tài)寄存器(74ls74)中,把模型機(jī)置為運(yùn)行狀態(tài),使微程序鎖存器輸出有效。pls3把微程序儲(chǔ)存器00h單元中的內(nèi)容打入指令寄存器中。在模型機(jī)處于運(yùn)行狀態(tài)時(shí),脈沖pls1將微地址寄存器(74ls161)加一,脈沖pls2將pc計(jì)數(shù)器加1,pls3把微程序存儲(chǔ)器中的微指令打入微指令鎖存器并且輸出。pls4把當(dāng)前總線上的數(shù)據(jù)打入當(dāng)前微指令所選通的寄存器。 對(duì)于此次實(shí)驗(yàn)每條指令的執(zhí)行流程如下:周期微操作指令助記符t0t1t2t3取指微指令pc-地址總線-

22、ramram-數(shù)據(jù)總線-ir1 mov a,#dataram數(shù)據(jù)總線a取指微指令 orl a,#dataa數(shù)據(jù)總線dr1ram數(shù)據(jù)總線dr2alu數(shù)據(jù)總線a取指微指令mov ri,#data a數(shù)據(jù)總線ri取指微指令 add a,ria數(shù)據(jù)總線dr1ri數(shù)據(jù)總線dr2 alu數(shù)據(jù)總線a 取指微指令sub a,ria數(shù)據(jù)總線dr1ri數(shù)據(jù)總線dr2 alu數(shù)據(jù)總線a 取指微指令anl a,#dataa數(shù)據(jù)總線dr1ram數(shù)據(jù)總線dr2alu數(shù)據(jù)總線a取指微指令sta addrram數(shù)據(jù)總線ir2ir2地址總線,aram取指微指令 halt停機(jī) 8源程序和程序的指令代碼及微程序 8.1源程序mov

23、 a, #4fanl a, #30mov r0, #23add a, r0orl a, #22mov r2, #09sub a, r2anl a, #25sta 30halt該程序的功能是:先將16進(jìn)制數(shù)4f與30進(jìn)行邏輯與運(yùn)算,結(jié)果放入累加器a中;再將16進(jìn)制數(shù)23送入寄存器r0中,然后將23和a中的數(shù)據(jù)進(jìn)行算術(shù)加,結(jié)果放入累加器a中;然后將a中的數(shù)據(jù)與22進(jìn)行邏輯或運(yùn)算,結(jié)果放入累加器a中,再將16進(jìn)制數(shù)09送入寄存器r2中,然后將09和a中的數(shù)據(jù)進(jìn)行算術(shù)減,結(jié)果放入累加器a中;然后將a中的數(shù)據(jù)與25進(jìn)行邏輯與運(yùn)算,結(jié)果放入累加器a中;并且a的值放入內(nèi)存單元30中。8.2程序的指令代碼內(nèi)存

24、地址指令助記符指令碼或立即數(shù)說明00hmov a,#4fh5fh立即數(shù)4fh-a01h4fh02hanl a,#30hdfha和30進(jìn)行與運(yùn)算-a03h30h04hmov r0,#23h05h立即數(shù)23-r005h23h06hadd a,r006ha+r0-a07horl a,#22h07ha和22h進(jìn)行或運(yùn)算-a08hmov r2,#09h08h09h-r209h09h0ahsub a,r21eha-r2-a0bhanl a,#25hdfha和25與-a0chsta 308fh將a寫入ram30h0dh30h0ehhaltffh停機(jī)最后結(jié)果是地址為30h中的結(jié)果是02h8.3微程序mov a

25、,#4f : 00004d,ff,ff 取指指令 0017dd,fb,ff dbusaanl a,#30: 00184d,ff,ff 取指指令 0037ff,fc,fb adbusdr1 0038dd,ff,7b ramdbusdr2 0039ff,fb,bb aluamov r0,#23: 003a4d,ff,ff 取指指令 001bff,bd,ff adbusriadd a,r0 : 001c4d,ff,ff 取指指令 0003ff,fc,f9 adbusdr1 0004ff,7f,79 ridbusa 0005ff,fb,a9 aludbusaorl a,#22 : 00064d,ff,

26、ff 取指指令 0033ff,fc,fe adbusdr1 0034dd,ff,7e ramdbusdr2 0035ff,7b,ff aluamov r0,#23: 00364d,ff,ff 取指指令 001bff,bd,ff adbusrisub a,r0 : 001c4d,ff,ff 取指指令 001dff,7b,ff adbusdr1 001eff,7b,ff ridbusa 001fff,7b,ff aludbusaanl a,#42: 00204d,ff,ff 取指指令 0037fffcfb adbusdr1 0038ddff7b ramdbusdr2 0039fffbbb alua

27、sta 30 : 003a4dffff 取指指令 0023d5ffff dbusir2 0024bbfdff ir2dbus; adbusramhalt : 003e4dffff 取指指令 0003fffdfff 停機(jī)9使用軟件hkcpt的聯(lián)機(jī)方式的實(shí)現(xiàn)過程 9.1主要指令的時(shí)序圖將4f存入累加器a中的時(shí)序圖4f與30進(jìn)行邏輯與運(yùn)算的時(shí)序圖:將23h存入寄存器r0的時(shí)序圖:將累加器a的數(shù)據(jù)r0中數(shù)據(jù)42進(jìn)行算術(shù)加的時(shí)序圖:將累加器a的數(shù)據(jù)與22進(jìn)行邏輯或的時(shí)序圖:將09h存入寄存器r2的時(shí)序圖:將累加器a的數(shù)據(jù)r2中數(shù)據(jù)09進(jìn)行算術(shù)減的時(shí)序圖:將累加器a的數(shù)據(jù)與25進(jìn)行邏輯與的時(shí)序圖:將最后結(jié)

28、果送入地址30h的時(shí)序圖:具體截圖(縮略)mov a,#7fanl a,#45mov r0,#22add a,r0orl a,#37mov r2,#42sub a,r2anl a,#27sta 30halt9.2累加器a和有關(guān)寄存器、存儲(chǔ)器的數(shù)據(jù)變化以及數(shù)據(jù)流程mov a,#4f數(shù)據(jù)流程:ram-dbus-a 執(zhí)行后,a中數(shù)據(jù)值為50h,其他寄存器值無效anl a,#30數(shù)據(jù)流程:adbusdr1,ramdbusdr2,aludbusa 執(zhí)行后,a中的值為00h,dr1中數(shù)據(jù)值為4fh,dr2中數(shù)據(jù)值為30h, 其他寄存器值不變mov r0,#23數(shù)據(jù)流程:ram-dbus-r0 執(zhí)行后,r0

29、中數(shù)據(jù)值為23h,a中值不變,其他寄存器值無效add a,r0數(shù)據(jù)流程:a-dbus-dr1,r0-dbus-dr2,alu-dbus-a 執(zhí)行后,a中值為23h,dr1中數(shù)據(jù)值為00h,dr2中數(shù)據(jù)值為23horl a,#22數(shù)據(jù)流程:adbusdr1,ramdbusdr2,aludbusa 執(zhí)行后,a中的值為23h,dr1中數(shù)據(jù)值為23h,dr2中數(shù)據(jù)值為22h, 其他寄存器值不變mov r2,#09數(shù)據(jù)流程:ram-dbus-r0 執(zhí)行后,r2中數(shù)據(jù)值為09h,a中值不變,其他寄存器值無效sub a,r2數(shù)據(jù)流程:a-dbus-dr1,r0-dbus-dr2,alu-dbus-a 執(zhí)行后,a中值為40h,dr1中數(shù)據(jù)值為50h,dr2中數(shù)據(jù)值為10h,anl a,#25數(shù)據(jù)流程:a-dbus-dr1,r0-dbus-dr2,alu-dbus-a 執(zhí)行后,a中值為02h,dr1中數(shù)據(jù)值為40h,dr2中數(shù)據(jù)值為25h, 其他寄存器值不變sta 30數(shù)據(jù)流程:a-ram 執(zhí)行后,內(nèi)存地址為30h的單元中值為02hh

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論