




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、微機實驗心得體會【篇一:微機原理實驗報告】一、實驗?zāi)康?. 掌握 qtspim 的調(diào)試技術(shù)2. 了解mips匯編語言與機器語言之間的對應(yīng)關(guān)系3. 掌握mips匯編程序設(shè)計4. 了解c 語言語句與匯編指令之間的關(guān)系5. 熟悉常見的mips 匯編指令6. 掌握程序的內(nèi)存映像二、實驗任務(wù)用匯編程序?qū)崿F(xiàn)以下偽代碼:要求采用移位指令實現(xiàn)乘除法運算。int main()7. int k, y ;int z50 ;8. = 56;for(k=0;k50;k+)zk = y - 16 * ( k / 4 + 210) ;三、實驗要求1. 完成匯編語言程序設(shè)計、調(diào)試、測試全過程2. 指出用戶程序的內(nèi)存映像,包括
2、代碼段和數(shù)據(jù)段3. 完成軟件實驗報告四、實驗過程程序源代碼:.data # 定義用戶數(shù)據(jù)段z:.space 200.textmain:la $s0,z #$s0=addrzli $t0,0 #$s1=k=0li $t1,56 #$s2=y=56loop:slti $t2,$t0,50 # 判斷 k 是否小于50beq $t2,$0,done # 當(dāng) k 大于等于50 時跳轉(zhuǎn)srl $t3,$t0,2 #k/4addi $t3,$t3,210 #k/4+210sll $t3,$t3,4 #16*(k/4+210)sub $t3,$t1,$t3 #y-16*(k/4+210)sw $t3,0($s
3、0) # 寫進 zkaddi $s0,$s0,4 # 地址移一位addi $t0,$t0,1 #k 加 1j loop # 循環(huán)done:li $v0 10syscall五、實驗總結(jié)通過這次實驗,加深了我對理論學(xué)習(xí)的代碼書寫規(guī)范的理解,練習(xí)了 qtspim 軟件的使用,對以后的學(xué)習(xí)有很大的幫助。這次實驗的內(nèi)容相對比較簡單,原理容易理解,編譯的過程中遇到了一點困難,不過在同學(xué)的幫助下順利解決了?!酒何C原理與接口技術(shù)實驗總結(jié)】微機原理與接口技術(shù)實驗總結(jié)11107108 徐寒黎一、 實驗內(nèi)容以及設(shè)計思路1、試編寫一程序,比較兩個字符串stringl、string2所含字符是否相同,若相同輸出“
4、 match”, 若不相同輸出“ no match”。設(shè)計思路:定義一個數(shù)據(jù)段,在數(shù)據(jù)段中定義兩個字符串作為string1 、 string2 以及幾個用于輸入提示的和輸出所需內(nèi)容的字符串,定義一個堆棧段用于存放,定義代碼段。關(guān)鍵步驟以及少量語句:第一步將string1 和 string2 都實現(xiàn)用鍵盤輸入,方法是mov dx,offset string2mov ah,0ah并且顯示在顯示器上,顯示方法將0ah 改成 09h ,語句與上面類似。然后進行比較第一個單元,mov al,string1+1cmp al,string2+1jnz nomatch若字符串長度不等,則直接跳轉(zhuǎn),輸出輸出“
5、no match ”;若長度相等再逐個比較lea si,string1+2lea di,string2+2mov cl,string1+1mov ch,0 cldrepe cmpsbjcxz match ,意思是全部相同就跳轉(zhuǎn)match ,輸出“match";不然進入下面的nomatch 。退出。試編寫求級數(shù)1八3+2八3 +3八3 .前幾項和剛大于10000的程序。設(shè)計思路:原先編寫的程序,設(shè)定和為10000 ,結(jié)果是14。但要求高一點的話,可以自己設(shè)置,實現(xiàn)用鍵盤輸入和的值。一個難點是將輸入的ascii 碼字符串,轉(zhuǎn)換成與之相同的十進制數(shù)的數(shù)值。關(guān)鍵的思路部分是:從1 開始求級數(shù)
6、,將和的值存在ax 里,要加下一項級數(shù)前,比如這時已經(jīng)加到4, push 一下ax,然后將5乘三遍,將乘積mov 到 bx 里,再 pop ax ,然后將bx 的值加到ax里,然后將ax 與 n 比較,如果比n 小就繼續(xù)上述步驟,知道剛比n大就輸出數(shù)字。試編寫一程序,完成字符串中各字符出現(xiàn)頻度的統(tǒng)計,統(tǒng)計結(jié)果在屏幕上輸出。設(shè)計思路:因為這個程序需要統(tǒng)計所有的字符,所以首先要定義一個存儲區(qū),用來存放26 個字符以及每個字符出現(xiàn)的個數(shù)。用鍵盤控制輸入字符串以后,將字符串的第一個字符與這二十六個字符逐個比較,若有相同,在存放相應(yīng)次數(shù)的存儲單元的值上加1 。然后比較第二個字符,依次類推,將字符串里的字
7、符全部比較完。將個數(shù)大于 1 的字符以及字符的個數(shù)都輸出到屏幕上。退出語句。缺點和不足:這樣需要定義一個非常繁的存儲區(qū)??梢愿鶕?jù)輸入的字符,然 后進行比較和統(tǒng)計。設(shè)計一個動畫程序。設(shè)計思路:這個程序參考了網(wǎng)上的資料,沒有什么新意,是小鳥的圖形,可以用上下左右鍵進行移動,可以退出。步驟:首先設(shè)置堆棧段,數(shù)據(jù)段,代碼段,設(shè)置顯示方式等一些屬性,設(shè)置背景色,設(shè)置小鳥的初始位置以及寫出小鳥圖形的像素的點。功能性的語句是,用鍵盤接受一個輸入,將其與1bh 比較,用jz 語句跳轉(zhuǎn)到退出。若不是便與48h 比較,看是否為向上,是則跳轉(zhuǎn)到相應(yīng)語句,不是則繼續(xù)與50h 比較;,看是否向下,是則跳轉(zhuǎn)到關(guān)于向下移動
8、的相關(guān)語句,否則再與4bh 比較,看是否向左,依次類推,根據(jù)鍵盤輸入的上下左右跳轉(zhuǎn)到不同的語句。再將小鳥的位置進行與上下左右鍵的輸入相應(yīng)的移動。最后編寫好退出語句。2 、硬件接口主要是了解8255 與 8253 的功能,以及控制字。 i/o 地址譯碼只要對硬件概念清晰,很簡單的?;旧蠜]有什么創(chuàng)造性。收獲:熟悉實驗箱結(jié)構(gòu),了解每部分元件和標(biāo)注的意義。掌握 i/o 地址譯碼電路的工作原理??删幊潭〞r器82531 ,對照實驗電路圖,將計數(shù)器0 設(shè)置為方式0,即數(shù)初值設(shè)為n(n0fh) ,用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并用邏輯筆觀察out0 點平變化。2,將計數(shù)器0、計數(shù)器1 分別
9、設(shè)置為方式3,計數(shù)初值設(shè)為1000用邏輯筆觀察out1 輸出電平的變化。收獲:掌握8253的基本工作原理和編程方法并行接口82552 ,試驗電路如圖所示,8255c 口接邏輯電平開關(guān)k0k7 , a 口接led 顯示電路l0l7 。 3,數(shù)碼管靜態(tài)顯示:按下圖接好電路,將8255a 口 pa0pa6 分別與七段數(shù)碼管的段碼驅(qū)動輸入端ag 相連,位碼驅(qū)動輸入端si接5v (選中),s0和dp接地(關(guān)閉)。編程從鍵盤輸入一位十進制數(shù)(0-9),在七段數(shù)碼管上顯示。4 ,數(shù)碼管動態(tài)顯示:按下圖接好電路,七段數(shù)碼管的連接不變,位碼驅(qū)動輸入端s1 、 s0 接 8255 c 口的 pc1 和 pc0 。
10、編程在兩個數(shù)碼管上顯示“ 56”。動態(tài)顯示時,先送“ 5”的段碼送a 口,再送02h 到 c 口為位碼;經(jīng)一定延時后,送“ 6”的段碼送a 口,再送01h 到 c 口為位碼。循環(huán)完成,可以顯示數(shù)碼。5 ,數(shù)碼管動態(tài)顯示(選做):同圖接好電路,編程在兩個數(shù)碼管上顯示循環(huán)顯示“00-99”。 只要搞清楚各個口的地址,以及選擇適當(dāng)?shù)目刂谱郑鋵嵑芎唵蔚?。收獲:掌握8255 的基本工作原理和編程方法,對方式0 的認(rèn)識加深了。二、 試驗中遇到的問題1 在編寫程序時,我深深體會到,畫程序框圖的重要性,每一步跳轉(zhuǎn)的條件一定要搞清楚,y 和 n 不能搞反了,否則就錯了。2 實驗2,里面涉及的寄存器很多,很容易
11、就會用亂了,還是很需要注意的。3 比如那個小鳥動畫的題目,當(dāng)時在控制左右移動的時候,選擇的起始位置的語句沒寫對位置,每次按一個移位的鍵以后,都從最初的初始位置向某個方向移動。4 硬件方面的,一開始沒搞懂地址什么意思,所以連線時很懵懂,后來清楚了,發(fā)現(xiàn)就沒什么了。三、心得感受微機原理與接口技術(shù)的課程實驗歷時大半個學(xué)期,通過自己編寫、運行程序,不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。以前對于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過一段上機的實踐,對于怎么去排錯、查錯,怎么去看每一步的運行結(jié)果,怎么去了解每個寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高
12、。前四個簡單程序設(shè)計,加深了我們對初學(xué)的匯編語言指令的熟悉和理解,匯編語言直接描述機器指令,比機器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。不僅鞏固了書本所學(xué)的知識,還具有一定的靈活性,發(fā)揮了我們的創(chuàng)造才能。后面幾個實驗是并行輸入輸出接口8255 和計數(shù)器8253 的功能的操作,加深了我們對硬件的熟悉,鍛煉了動手能力,發(fā)揮創(chuàng)造才能。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實際動手能力和獨立
13、思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在自己的思考以及和同學(xué)的討論中,終于迎刃而解。【篇三:匯編語言實驗心得】一實驗內(nèi)容1 .debug 的啟動及其基本命令的使用2. 內(nèi)存操作數(shù)與尋址方式1)利用debug程序中的“e命令,將兩個多字節(jié)數(shù)“12345678h”和fedcba98h ”分別送入起始地址為 ds:0200h 和 ds:0204h 兩個單元中。2)分別用直接尋址方式和寄存器
14、間接尋址方式編寫程序段,實現(xiàn)將ds:0200h 單元和 ds:0204h 單元中的數(shù)據(jù)相加,并將運算結(jié)果存放在 ds:0208h 單元中。3. 順序程序設(shè)計x 、 y 、 z、 v 均為字變量,在x、 y、 z、 v 字單元中存放是16 位帶符號數(shù)。試編寫匯編語言程序完成以下功能:計算表達式值(v-(x*y+z-720 ) ) /x;將上述表達式運算結(jié)果整數(shù)放在sum1 單元,余數(shù)放在sum2 單元。4. 分支程序設(shè)計1)設(shè) x, y 為字變量,假定不溢出,計算x=|x-y| 。2)將num單元中的一位十六進制數(shù)(09, af),轉(zhuǎn)換為對應(yīng)的 ascii 碼值存入asc 單元。3)已知字節(jié)變量
15、x,編程求下列表達式即:當(dāng) x0當(dāng) x=0當(dāng) x05. 循環(huán)程序設(shè)計1)定義 10 個字節(jié)型帶符號數(shù),求其和。2)在內(nèi)存單元data 中定義一個16 位數(shù),統(tǒng)計其16 位中 1 的個數(shù),存入內(nèi)存的字單元count 。3)定義 10 個字型無符號數(shù),編寫程序求其最小值。6. 子程序設(shè)計1)設(shè)計一個子程序,計算1+2+?+n ,其中 n 為給定的正整數(shù),且n小于100 。2)定義 10 個字型帶符號數(shù),編寫子程序求其最大值和統(tǒng)計正數(shù)的個數(shù)。3)從鍵盤接收4 位十進制數(shù),將其轉(zhuǎn)換為十六進制數(shù)并顯示。二 . 實驗心得上學(xué)期學(xué)習(xí)計算機組成原理的時候就對匯編有所了解,但通過這學(xué)期的學(xué)習(xí),使我更加深入了解了
16、其知識體系和計算機組成及內(nèi)部程序執(zhí)行的原理。對于各命令的熟練掌握后,自己親自動手實驗更是體會到了各命令的用途及執(zhí)行的方法。通過各個基本命令可以輕松更改計算機內(nèi)部寄存器的值和讀寫內(nèi)存,磁盤,i/o 端口的值,通過更改觀察其對計算機的影響變化。對于匯編語言的尋址方式,更是多種多樣,通過對各尋址方式的比較,可以感受到各尋址方式的不足與好處,還有是對各尋址方式的注意事項,有的尋址方式需專用的寄存器,有的寄存器是禁止使用的,然而有的就開放的多,對寄存器沒有特殊要求,然而在編程過程中使用較為合適的尋址方式是提高程序運行效率的保障,在對寄存器中的值做運算時要正確書寫各值,在x86 中只支持十六進制數(shù),在運算結(jié)束后值得保存也是很重要的,不能隨意保存。寫數(shù)據(jù)傳送指令時,目的操作
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文-陜西省安康市2025屆高三下學(xué)期第二次質(zhì)量聯(lián)考(安康二模)試題和答案
- 臨漳門樓施工方案
- 樓頂裝修電梯施工方案
- 2025年北京平谷區(qū)高三一模數(shù)學(xué)試題答案詳解
- boot項目合同范本
- 公益林合同范例
- 建立行業(yè)合作提升競爭力計劃
- 急診護理質(zhì)量提升行動計劃
- 基礎(chǔ)心理學(xué)知識培訓(xùn)課件
- 學(xué)校班主任的性別教育引導(dǎo)策略計劃
- 認(rèn)識DS3自動安平水準(zhǔn)儀
- 《語文課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版【原版】
- 某大酒店弱電智能化系統(tǒng)清單報價
- 醫(yī)院傳染病登記簿
- GB/T 30490-2014天然氣自動取樣方法
- GB/T 17313-2009袋成型-充填-封口機通用技術(shù)條件
- 學(xué)習(xí)中國人民解放軍新一代共同條令PPT模板
- 二輪 河流專題(精心)
- 11471勞動爭議處理(第3章)
- 食堂工作人員安全培訓(xùn)內(nèi)容資料
- 患者跌倒的預(yù)防及管理課件
評論
0/150
提交評論