計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告_第4頁
計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.....下載可編輯.計(jì)算機(jī)組成原理與匯編實(shí)驗(yàn)報(bào)告姓名:學(xué)號:學(xué)院:信息科學(xué)與工程學(xué)院班級:實(shí)驗(yàn)1存儲器實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康恼莆侦o態(tài)存儲隨機(jī)存儲器RAM的工作特性掌握靜態(tài)存儲隨機(jī)存儲器RAM的讀寫方法實(shí)驗(yàn)設(shè)備74LS273(一片),靜態(tài)存儲器MEMORY6116(一片),與門(一片),與非門(一片),單脈沖(一片),開關(guān)若干,燈泡若干實(shí)驗(yàn)原理在微機(jī)系統(tǒng)中,常用的靜態(tài)RAM有6116、6264、62256等。在本實(shí)驗(yàn)中使用的是6116。6116為2K╳8位的靜態(tài)RAM,其邏輯圖3.1如下:圖3.16116邏輯圖其中A0~10為11根地址線,I/O0~7為8根數(shù)據(jù)線,CS為片選端,OE為數(shù)據(jù)輸出選通端,WR為寫信號端。其工作方式見下表3-1:表3-1工作方式表控制信號CSOEWR數(shù)據(jù)線讀LLH輸入寫LXL輸出非選HXX高阻態(tài)實(shí)驗(yàn)所用的半導(dǎo)體靜態(tài)存儲器電路原理如圖3.2所示,實(shí)驗(yàn)中的靜態(tài)存儲器一片6116(2K×8)構(gòu)成,其數(shù)據(jù)線接至數(shù)據(jù)總線,地址線由地址鎖存器(74LS273)給出。地址燈AD0—AD7與地址線相連,顯示地址線內(nèi)容。數(shù)據(jù)開關(guān)經(jīng)一三態(tài)門(74LS245)連至數(shù)據(jù)總線,分時(shí)給出地址和數(shù)據(jù)。圖3.2存儲器實(shí)驗(yàn)原理圖因地址寄存器為8位,接入6116的地址A7—A0,而高三位A8—A10接地,所以其實(shí)際容量為256字節(jié)。6116有三個(gè)控制線:CE(片選線)、OE(讀線)、WE(寫線)。當(dāng)片選有效(CE=0)時(shí),OE=0時(shí)進(jìn)行讀操作,WE=0時(shí)進(jìn)行寫操作。本實(shí)驗(yàn)中將OE常接地,在此情況下,當(dāng)CE=0、WE=0時(shí)進(jìn)行讀操作,CE=0、WE=1時(shí)進(jìn)行寫操作,其寫時(shí)間與T3脈沖寬度一致。控制信號SW-B為低電平有效,控制信號LDAR為高電平有效。實(shí)驗(yàn)步驟1.選擇實(shí)驗(yàn)設(shè)備:根據(jù)實(shí)驗(yàn)原理圖,將所需要的組件從組件列表中拖到實(shí)驗(yàn)設(shè)計(jì)流程欄中。搭建實(shí)驗(yàn)流程:將已選擇的組件進(jìn)行連線(鼠標(biāo)從一個(gè)引腳的端點(diǎn)拖動(dòng)到另一組件的引腳端,即完成連線)。搭建好的實(shí)驗(yàn)流程圖如圖3.3所示圖3.3存儲器實(shí)驗(yàn)流程圖2.初始化各芯片的控制信號,仔細(xì)檢查無誤后點(diǎn)擊【電源開/關(guān)】按鈕接通電源。3.寫存儲器。給存儲器的00、01、02、03、04地址單元中分別寫入數(shù)據(jù)11H、12H、13H、14H、15H。 由圖3.2存儲器實(shí)驗(yàn)原理圖看出,由于數(shù)據(jù)和地址全由一個(gè)數(shù)據(jù)開關(guān)給出,因此要分時(shí)地給出。下面的寫存儲器要分兩個(gè)步驟,第一步寫地址,先關(guān)掉存儲器的片選(CE=1),打開地址鎖存器門控信號(LDAR=1),打開數(shù)據(jù)開關(guān)三態(tài)門(SW-B=0),由開關(guān)給出要寫入的存儲單元的地址,雙擊單脈沖產(chǎn)生T3脈沖將地址輸入到地址鎖存器;第二步寫數(shù)據(jù),關(guān)掉地址鎖存器門控信號(LDAR=0),打開存儲器片選,使之處于寫狀態(tài)(CE=0,WE=1),由開關(guān)給出此單元要寫入的數(shù)據(jù),,雙擊單脈沖產(chǎn)生T3脈沖將數(shù)據(jù)寫入到當(dāng)前的地址單元中。寫其他單元依次循環(huán)上述步驟。寫存儲器流程如圖3.4所示(以向00號單元寫入11H為例)。圖3.4寫存儲器流程圖4.讀存儲器。依次讀出第00、01、02、03、04號單元中的內(nèi)容,觀察上述各單元中的內(nèi)容是否與前面寫入的一致。同寫操作類似,讀每個(gè)單元也需要兩步,第一步寫地址,先關(guān)掉存儲器的片選(CE=1),打開地址鎖存器門控信號(LDAR=1),打開數(shù)據(jù)開關(guān)三態(tài)門(SW-B=0),由開關(guān)給出要寫存儲單元的地址,雙擊單脈沖產(chǎn)生T3脈沖將地址輸入到地址鎖存器;第二步讀存儲器,關(guān)掉地址鎖存器門控信號(LDAR=0),關(guān)掉數(shù)據(jù)開關(guān)三態(tài)門(SW-B=1),片選存儲器,使它處于讀狀態(tài)(CE=0,WE=0),此時(shí)數(shù)據(jù)總線上顯示的數(shù)據(jù)即為從存儲器當(dāng)前地址中讀出的數(shù)據(jù)內(nèi)容。讀其他單元依次循環(huán)上述步驟。讀存儲器操作流程如圖3.5所示(以從00號單元讀出11H數(shù)據(jù)為例)圖3.5讀存儲器流程圖思考與分析由兩片6116(2K*8)怎樣擴(kuò)展成(2K*16)或(4K*8)的存儲器?怎樣連線?觀察思考按圖4.4-5連接實(shí)驗(yàn)線路,向存儲器中指定的地址單元輸入數(shù)據(jù),地址先輸入AR寄存器,在地址燈上顯示;再將數(shù)據(jù)送入總線后,存到指定的存儲單元,數(shù)據(jù)在數(shù)據(jù)顯示燈和數(shù)碼顯示管顯示。從存儲器中指定的地址單元讀出數(shù)據(jù),地址先輸入AR寄存器,在地址燈顯示;讀出的數(shù)據(jù)送入總線,通過數(shù)據(jù)顯示燈和數(shù)碼顯示管顯示。(1)將時(shí)序電路模塊中的Φ和H23排針相連。將時(shí)序電路模塊中的二進(jìn)制開關(guān)“STOP”設(shè)置為“RUN”狀態(tài)、將“STEP”設(shè)置為“STEP”狀態(tài)。(2)準(zhǔn)備排線13條:8芯4條,2芯9條。按圖4.4-5連接實(shí)驗(yàn)線路,仔細(xì)查線無誤后接通電源。圖4.4-5存儲器實(shí)驗(yàn)接線圖(3)向存儲器指定的地址送入數(shù)據(jù),如:向00單元中輸入11,步驟如圖4.4-6:圖4.4-6向地址寄存器AR中輸入地址00的流程圖操作步驟:SW-B=1從輸入開關(guān)輸入:00000000打開輸入三態(tài)門:SW-B=0將地址打入地址鎖存器中:LDAR=1按START發(fā)T3脈沖觀察并記錄地址燈的變化:地址燈由11010011→11111111(4)輸入要存放的數(shù)據(jù)“11”,步驟如圖4.4-7:圖4.4-7輸入要存放的數(shù)據(jù)“11”的流程圖操作步驟:SW-B=1從輸入開關(guān)輸入:00010001打開輸入三態(tài)門:SW-B=0關(guān)閉地址寄存器:LDAR=0將數(shù)據(jù)寫入存儲單元:CE=0WE=1按START發(fā)T3脈沖輸入數(shù)據(jù)在數(shù)碼管上顯示:LED-B=0發(fā)W/R脈沖觀察并記錄數(shù)據(jù)顯示燈和數(shù)碼顯示管的變化:數(shù)據(jù)顯示燈變?yōu)?0010001數(shù)碼管顯示11(5)按照“(3)、(4)”的步驟繼續(xù)向“00”下面的4個(gè)地址中輸入下述數(shù)據(jù):地址數(shù)據(jù)備注0011已輸入0112已輸入0213已輸入0314已輸入0415已輸入數(shù)據(jù)顯示燈變?yōu)?0010010數(shù)碼管顯示12數(shù)據(jù)顯示燈變?yōu)?0010011數(shù)碼管顯示13數(shù)據(jù)顯示燈變?yōu)?0010100數(shù)碼管顯示14數(shù)據(jù)顯示燈變?yōu)?0010101數(shù)碼管顯示15(6)從存儲器指定的地址中讀出數(shù)據(jù)。步驟如圖4.4-8:圖4.4-8從00中讀出數(shù)據(jù)的流程圖操作步驟:SW-B=1禁止存儲器讀寫:CE=1從輸入開關(guān)輸入:00000000打開輸入三態(tài)門:SW-B=0將地址打入地址鎖存器中:LDAR=1按START發(fā)T3脈沖關(guān)閉輸入三態(tài)門:SW-B=1關(guān)閉地址寄存器:LDAR=0從存儲器中讀出數(shù)據(jù):CE=0WE=0數(shù)據(jù)在數(shù)碼顯示管顯示:LED-B=0發(fā)W/R脈沖同樣從其它4個(gè)地址:01,02,03,04中讀出數(shù)據(jù),觀察地址顯示燈、數(shù)據(jù)顯示燈和數(shù)碼顯示管的變化,并檢查是否和輸入的數(shù)據(jù)一致。地址顯示燈11111111在T3脈沖變?yōu)?0000000數(shù)據(jù)顯示燈0000000在SW-B=1后變?yōu)?1111111數(shù)碼顯示管發(fā)W/R脈沖之后變?yōu)镕F在進(jìn)行存儲器操作(寫/讀)是不是必須先往地址寄存器(AR)存入所訪問的存儲器單元地址?答:是,從存儲器中指定的地址單元讀出數(shù)據(jù),地址先輸入AR寄存器才能進(jìn)行讀寫操作。T3在本實(shí)驗(yàn)中起了哪些作用,如何區(qū)分它們?答:T3可以進(jìn)行手動(dòng)發(fā)脈沖。根據(jù)在此之前所進(jìn)行的操作進(jìn)行區(qū)分。在進(jìn)行存儲器讀寫操作時(shí),CE和WE信號有沒有先后順序?為什么?答:有,應(yīng)先對CE進(jìn)行操作,再對WE進(jìn)行操作。因?yàn)镃E禁止存儲器讀寫,只有將CE=0時(shí)WE=0時(shí)才能從存儲器中讀出數(shù)據(jù)。六、試驗(yàn)心得本次實(shí)驗(yàn)中,首先連接線路時(shí)應(yīng)該著重注意接線端口的對應(yīng),避免出現(xiàn)排線方向錯(cuò)誤對實(shí)驗(yàn)結(jié)果的影響,同時(shí)要仔細(xì)對照輸入的0或1。通過此次實(shí)驗(yàn)我們對存儲器有一個(gè)重新整體的認(rèn)識,同時(shí)也是自己在課堂上的知識得使實(shí)踐和理解,為以后更深的學(xué)習(xí)打下基礎(chǔ)。實(shí)驗(yàn)二(匯編語言): 從鍵盤接受用戶所輸入的不超過20個(gè)的0~99的數(shù),在用戶完成輸入后對用戶所輸入的數(shù)據(jù)進(jìn)行排序并輸出。要求定義子程序。實(shí)驗(yàn)要求:在虛擬實(shí)驗(yàn)平臺中選擇元器件并搭建存儲實(shí)驗(yàn)完成匯編語言程序設(shè)計(jì)、編寫、調(diào)試、運(yùn)行。撰寫實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告模板:實(shí)驗(yàn)?zāi)康耐瓿蓮逆I盤接受用戶所輸入的不超過20個(gè)的0~99的數(shù),在用戶完成輸入后對用戶所輸入的數(shù)據(jù)進(jìn)行排序并輸出。并定義子程序。實(shí)驗(yàn)平臺簡介模塊層次圖int_chardec_divmainchar_intcrlfinputbubblesortoutputint_chardec_divmainchar_intcrlfinputbubblesortoutput實(shí)驗(yàn)原理、步驟及分析本次實(shí)驗(yàn)值輸入10個(gè)數(shù)作為測試系統(tǒng)結(jié)構(gòu)圖結(jié)束調(diào)用子程序output調(diào)用子程序bubblesortax中內(nèi)容是否等于10000?調(diào)用子程序inputmain結(jié)束調(diào)用子程序output調(diào)用子程序bubblesortax中內(nèi)容是否等于10000?調(diào)用子程序inputmainYN(2)冒泡排序子程序流程圖bubblesort將10放到cx中deccx將(cx)放到di中初始化si等于0buf[si]大于buf[si+2]嗎?將buf[si]和buf[si+2]內(nèi)容交換,si+2cx-1(di)存入cx返回cx=0?bubblesort將10放到cx中deccx將(cx)放到di中初始化si等于0buf[si]大于buf[si+2]嗎?將buf[si]和buf[si+2]內(nèi)容交換,si+2cx-1(di)存入cx返回cx=0?deccx,cx=0?3.功能模塊設(shè)計(jì)說明(1)main模塊輸入:從鍵盤輸入十個(gè)有符號十進(jìn)制整數(shù)輸出:在屏幕上顯示排好序的十個(gè)十進(jìn)制整數(shù)功能:通過對input,bubblesort,output三個(gè)模塊的調(diào)用實(shí)現(xiàn)將屏幕上輸入的10個(gè)十進(jìn)制有符號整數(shù)進(jìn)行冒泡排序,然后將排好序的10個(gè)十進(jìn)制有符號整數(shù)顯示在屏幕上。(2)input模塊輸入:從鍵盤上輸入十個(gè)有符號十進(jìn)制整數(shù)。各個(gè)整數(shù)之間用逗號隔開,最后以‘回車’符結(jié)束。輸出:把這十個(gè)有符號十進(jìn)制整數(shù)存入buf數(shù)組里面。功能:屏幕上首先顯示一行提示信息:“Pleaseinputtendecimalintegersandusethecommaasseparation:”。意思就是要求用戶輸入10個(gè)十進(jìn)制有符號整數(shù),并且用逗號作為分隔符。用戶開始輸入,如果用戶輸入了除數(shù)字、逗號、以及負(fù)號以外的符號,屏幕上將顯示:“error!”。然后自動(dòng)退出程序,不繼續(xù)執(zhí)行。如果用戶沒有輸滿10個(gè)數(shù),其余數(shù)將為0代替。輸完后按回車鍵表示輸入完畢。(3)bubblesort模塊輸入:從buf數(shù)組里面取數(shù)。輸出:將排好序的數(shù)存到buf數(shù)組里。功能:利用冒泡排序法對輸入的數(shù)進(jìn)行排序。冒泡排序法的基本思想就是讓相鄰的兩個(gè)數(shù)進(jìn)行比較,如果前面的比后面的大,就將兩個(gè)數(shù)調(diào)換次序,如果小,就不調(diào)換,這樣每一次參加排序的數(shù)中最大的數(shù)就到了最后面,通過n-1次排序就可以完成對所有的數(shù)的排序。(4)output模塊輸入:從buf數(shù)組里面取出排好序的數(shù)。輸出:把排好序的數(shù)在屏幕上顯示出來,各整數(shù)之間用逗號隔開。功能:屏幕上首先顯示一行提示信息:“Theresultis:”。然后換一行顯示排序好的數(shù)。(5)char_int模塊輸入:從鍵盤取得一個(gè)有符號十進(jìn)制整數(shù)。輸出:把該數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)并存入bx寄存器。功能:把從鍵盤取得的一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),并將該數(shù)存入bx寄存器中。(6)int_char模塊輸入:從bx寄存器取出一個(gè)二進(jìn)制數(shù)。輸出:在屏幕上顯示一個(gè)有符號十進(jìn)制整數(shù)。功能:把bx寄存器中的一個(gè)二進(jìn)制數(shù)通過模塊dec_div轉(zhuǎn)換為十進(jìn)制數(shù),并在屏幕上顯示出來。(7)dec_div模塊輸入:從bx寄存器中取得需轉(zhuǎn)換為十進(jìn)制的數(shù)。輸出:在屏幕上顯示一位十進(jìn)制數(shù)。功能:把bx寄存器中的二進(jìn)制數(shù)除以相應(yīng)的十的冪,并在屏幕上顯示一位商。余數(shù)保存在bx寄存器中。(8)crlf模塊輸出:向系統(tǒng)發(fā)出回車、換行符。功能:起到回車、換行的作用。實(shí)驗(yàn)代碼datareasegmentbufdw100dup(?)count=10flagdb0mess1db'Pleaseinputtendecimalintegersandusethecommaasseparation:$'mess2db'error!$'mess3db'Theresultis:$'datareaends;----------------------------------------prognamsegmentassumecs:prognam,ds:datareastart:pushdssubax,axpushaxmovax,datareamovds,axcallinput cmpax,10000djeendall callbubblesortcalloutputendall:movah,4ch int21h;----------------------------------------inputprocleadx,mess1movah,09int21h callcrlfmovsi,0 movcx,countenter:callchar_intdeccxcmpdl,','jestorecmpdl,13jeexit2jneerrorstore:movbuf[si],bxaddsi,2 jmpentererror:callcrlfleadx,mess2movah,09int21h movax,10000d jmpexit3exit2:movbuf[si],bxcallcrlfexit3:retinputendp;-----------------------------------------bubblesortprocmovcx,countdeccxlg4:movdi,cxmovsi,0lg2:movax,buf[si]cmpax,buf[si+2]jlelg3lg5:xchgax,buf[si+2]movbuf[si],axlg3:addsi,2looplg2movcx,dilooplg4retbubblesortendp;--------------------------------------outputprocleadx,mess3movah,09int21h callcrlfmovsi,0movdi,countnext1:movbx,buf[si]cmpbl,0 jgenext4 movdl,'-'movah,2 int21h negbxnext4:callint_charmovdl,','movah,02int21haddsi,2decdijnznext1callcrlfretoutputendp;---------------------------------------char_intprocmovbx,0 movflag,0newchar:movah,1int21hmovdl,alcmpal,2dhjnznext2 movflag,1 jmpnewcharnext2:subal,30hjlnext3cmpal,9djgnext3cbwxchgax,bxmovcx,10dmulcxxchgax,bxaddbx,axjmpnewcharnext3:cmpflag,1jneexit1negbxexit1:retchar_intendp;-----------------------------------int_charprocpushbx

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論