微機實驗心得體會_第1頁
微機實驗心得體會_第2頁
微機實驗心得體會_第3頁
微機實驗心得體會_第4頁
微機實驗心得體會_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機實驗心得領悟【篇一:微機原理實驗報告】一、實驗目的掌握qtspim的調試技術認識mips匯編語言與機器語言之間的對應關系掌握mips匯編程序設計認識c語語言句與匯編指令之間的關系熟悉常有的mips匯編指令掌握程序的內存映像二、實驗任務用匯編程序實現以下偽代碼:要求采用移位指令實現乘除法運算。intmain()intk,y;intz50;y=56;for(k=0;k50;k+)zk=y-16*(k/4+210);三、實驗要求1.完成匯編語言程序設計、調試、測試全過程2.指出用戶程序的內存映像,包括代碼段和數據段3.完成軟件實驗報告四、實驗過程程序源代碼:.data#定義用戶數據段z:.spa

2、ce200.textmain:la$s0,z#$s0=addrzli$t0,0#$s1=k=0li$t1,56#$s2=y=56slti$t2,$t0,50#判斷k可否小于beq$t2,$0,done#當k大于等于srl$t3,$t0,2#k/4addi$t3,$t3,210#k/4+2105050時跳轉sll$t3,$t3,4#16*(k/4+210)sub$t3,$t1,$t3#y-16*(k/4+210)sw$t3,0($s0)#寫進zkaddi$s0,$s0,4#地址移一位addi$t0,$t0,1#k加1jloop#循環(huán)done:li$v010syscall五、實驗總結經過此次實驗,

3、加深了我對理論學習的代碼書寫規(guī)范的理解,練習了qtspim軟件的使用,對今后的學習有很大的幫助。此次實驗的內容相比較較簡單,原理簡單理解,編譯的過程中遇到了一點困難,但是在同學的幫助下順利解決了?!酒何C原理與接口技術實驗總結】微機原理與接口技術實驗總結11107108徐寒黎一、實驗內容以及設計思路1、試編寫一程序,比較兩個字符串string1、string2所含字符可否相同,若相同輸出“match”,若不相同輸出“nomatch”。設計思路:定義一個數據段,在數據段中定義兩個字符串作為string1、string2以及幾個用于輸入提示的和輸出所需內容的字符串,定義一個貨倉段用于存放,定義

4、代碼段。要點步驟以及少量語句:第一步將string1和string2都實現用鍵盤輸入,方法是movdx,offsetstring2movah,0ah而且顯示在顯示器上,顯示方法將0ah改成09h,語句與上面近似。爾后進行比較第一個單元,moval,string1+1cmpal,string2+1jnznomatch若字符串長度不等,則直接跳轉,輸出輸出“nomatch”;若長度相等再逐個比較leasi,string1+2leadi,string2+2movcl,string1+1movch,0cldrepecmpsbjcxzmatch,意思是全部相同就跳轉match,輸出“match”;否則進

5、入下面的nomatch。退出。試編寫求級數13+23+33.前幾項和剛大于10000的程序。設計思路:本來編寫的程序,設定和為10000,結果是14。但要求高一點的話,能夠自己設置,實現用鍵盤輸入和的值。一個難點是將輸入的ascii碼字符串,變換成與之相同的十進制數的數值。要點的思路部分是:從1開始求級數,將和的值存在ax里,要加下一項級數前,比方這時已經加到4,push一下ax,爾后將5乘三遍,將乘積mov到bx里,再popax,爾后將bx的值加到ax里,爾后將ax與n比較,若是比n小就連續(xù)上述步驟,知道剛比n大就輸出數字。試編寫一程序,完成字符串中各字符出現頻度的統(tǒng)計,統(tǒng)計結果在屏幕上輸出

6、。設計思路:因為這個程序需要統(tǒng)計全部的字符,所以第一要定義一個儲藏區(qū),用來存放26個字符以及每個字符出現的個數。用鍵盤控制輸入字符串今后,將字符串的第一個字符與這二十六個字符逐個比較,若有相同,在存放相應次數的儲藏單元的值上加1。爾后比較第二個字符,依次類推,將字符串里的字符全部比較完。將個數大于1的字符以及字符的個數都輸出到屏幕上。退出語句。缺點和不足:這樣需要定義一個特別繁的儲藏區(qū)。能夠依照輸入的字符,然后進行比較和統(tǒng)計。設計一個動畫程序。設計思路:這個程序參照了網上的資料,沒有什么新意,是小鳥的圖形,能夠用上下左右鍵進行搬動,能夠退出。步驟:第一設置貨倉段,數據段,代碼段,設置顯示方式等

7、一些屬性,設置背景色,設置小鳥的初始地址以及寫出小鳥圖形的像素的點。功能性的語句是,用鍵盤接受一個輸入,將其與1bh比較,用jz語句跳轉到退出。若不是便與48h比較,看可否為向上,是則跳轉到相應語句,不是則連續(xù)與50h比較;,看可否向下,是則跳轉到關于向下搬動的相關語句,否則再與4bh比較,看可否向左,依次類推,依照鍵盤輸入的上下左右跳轉到不相同的語句。再將小鳥的地址進行與上下左右鍵的輸入相應的搬動。最后編寫好退出語句。2、硬件接口主若是認識8255與8253的功能,以及控制字。i/o地址譯碼只要對硬件看法清楚,很簡單的?;旧蠜]有什么創(chuàng)立性。收獲:熟悉實驗箱結構,認識每部分元件和注明的意義。

8、掌握i/o地址譯碼電路的工作原理??删幊虦蕰r器82531,比較實驗電路圖,將計數器0設置為方式0,即數初值設為n(n0fh),用手動逐個輸入單脈沖,編程使計數值在屏幕上顯示,并用邏輯筆觀察out0點平變化。2,將計數器0、計數器1分別設置為方式3,計數初值設為1000用邏輯筆觀察out1輸出電平的變化。收獲:掌握8253的基本工作原理和編程方法并行接口82551,試驗電路以下列圖,8255c口接邏輯電平開關k0k7,a口接led顯示電路l0l7。3,數碼管靜態(tài)顯示:按以下列圖接好電路,將8255a口pa0pa6分別與七段數碼管的段碼驅動輸入端ag相連,位碼驅動輸入端s1接5v(選中),s0和d

9、p接地(關閉)。編程從鍵盤輸入一位十進制數(0-9),在七段數碼管上顯示。4,數碼管動向顯示:按以下列圖接好電路,七段數碼管的連接不變,位碼驅動輸入端s1、s0接8255c口的pc1和pc0。編程在兩個數碼管上顯示“56”。動向顯示時,先送“5”的段碼送a口,再送02h到c口為位碼;經必然延時后,送“6”的段碼送a口,再送01h到c口為位碼。循環(huán)完成,能夠顯示數碼。5,數碼管動向顯示(選做):同圖接好電路,編程在兩個數碼管上顯示循環(huán)顯示“00-99”。只要搞清楚各個口的地址,以及選擇合適的控制字,其實很簡單的。收獲:掌握8255的基本工作原理和編程方法,對方式0的認識加深了。二、試驗中遇到的問

10、題在編寫程序時,我深深領悟到,畫程序框圖的重要性,每一步跳轉的條件必然要搞清楚,y和n不能夠搞反了,否則就錯了。實驗2,里面涉及的存放器很多,很簡單就會用亂了,還是很需要注意的。3比方那個小鳥動畫的題目,當時在控制左右搬動的時候,選擇的初步地址的語句沒寫對地址,每次按一個移位的鍵今后,都從最初的初始地址向某個方向搬動。硬件方面的,一開始沒搞懂地址什么意思,所以連線時很懵懂,今后清楚了,發(fā)現就沒什么了。三、心得感覺微機原理與接口技術的課程實驗歷時大多數個學期,經過自己編寫、運行程序,不但能夠牢固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。以前關于編程工具的使用還處于一孔之見的狀

11、態(tài)上,但是經過一段上機的實踐,關于怎么去排錯、查錯,怎么去看每一步的運行結果,怎么去認識每個存放器的內容以保證程序的正確性上都有了很大程度的提高。前四個簡單程序設計,加深了我們對初學的匯編語言指令的熟悉和理解,匯編語言直接描述機器指令,比機器指令簡單記憶和理解。經過學習和使用匯編語言,向上為理解各樣軟件系統(tǒng)的原理,打下技術理論基礎;向下為掌握硬件系統(tǒng)的原理,打下實踐應用基礎。不但牢固了書本所學的知識,還擁有必然的靈便性,發(fā)揮了我們的創(chuàng)立才能。后邊幾個實驗是并行輸入輸出接口8255和計數器8253的功能的操作,加深了我們對硬件的熟悉,鍛煉了著手能力,發(fā)揮創(chuàng)立才能。經過此次課程設計使我懂得了理論與

12、實質相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真切提高自己的實質著手能力和獨立思慮的能力。在設計的過程中遇到問題,能夠說得是困難重重,這畢竟第一次做的,難免會遇到過各樣各樣的問題,同時在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。此次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在自己的思慮以及和同學的談論中,終于瓜熟蒂落?!酒簠R編語言實驗心得】一實驗內容1.debug的啟動及其基本命令的使用內存操作數與尋址方式利用debug程序中的“e”命令,將兩個多字節(jié)數“12345678h

13、”和“fedcba98h”分別送入初步地址為ds:0200h和ds:0204h兩個單元中。分別用直接尋址方式和存放器間接尋址方式編寫程序段,實現將ds:0200h單元和ds:0204h單元中的數據相加,并將運算結果存放在ds:0208h單元中。序次程序設計x、y、z、v均為字變量,在x、y、z、v字單元中存放是16位帶符號數。試編寫匯編語言程序完成以下功能:計算表達式值(v(x*y+z-720)/x;將上述表達式運算結果整數放在sum1單元,余數放在sum2單元。分支程序設計1)設x,y為字變量,假定不溢出,計算x=|x-y|。將num單元中的一位十六進制數(09,af),變換為對應的asci

14、i碼值存入asc單元。已知字節(jié)變量x,編程求以下表達式即:當x0當x=0當x0循環(huán)程序設計定義10個字節(jié)型帶符號數,求其和。在內存單元data中定義一個16位數,統(tǒng)計其16位中1的個數,存入內存的字單元count。定義10個字型無符號數,編寫程序求其最小值。子程序設計設計一個子程序,計算1+2+?+n,其中n為給定的正整數,且n小于100。定義10個字型帶符號數,編寫子程序求其最大值和統(tǒng)計正數的個數。從鍵盤接收4位十進制數,將其變換為十六進制數并顯示。.實驗心得上學期學習計算機組成原理的時候就對匯編有所認識,但經過這學期的學習,使我更加深入認識了其知識系統(tǒng)和計算機組成及內部程序執(zhí)行的原理。關于

15、各命令的熟練掌握后,自己親自著手實驗更是領悟到了各命令的用途及執(zhí)行的方法。經過各個基本命令能夠輕松更正計算機內部存放器的值和讀寫內存,磁盤,i/o端口的值,經過更正觀察其對計算機的影響變化。關于匯編語言的尋址方式,更是多種多樣,經過對各尋址方式的比較,能夠感覺到各尋址方式的不足與好處,還有是對各尋址方式的注意事項,有的尋址方式需專用的存放器,有的存放器是禁止使用的,但是有的就開放的多,對存放器沒有特別要求,但是在編程過程中使用較為合適的尋址方式是提高程序運行效率的保障,在對寄存器中的值做運算時要正確書寫各值,在x86中只支持十六進制數,在運算結束后值得保存也是很重要的,不能夠隨意保存。寫數據傳達指令時,目的操作數和源操作數的種類必然要般配,

溫馨提示

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

評論

0/150

提交評論