微機原理課程設(shè)計統(tǒng)計字符串長度_第1頁
微機原理課程設(shè)計統(tǒng)計字符串長度_第2頁
微機原理課程設(shè)計統(tǒng)計字符串長度_第3頁
微機原理課程設(shè)計統(tǒng)計字符串長度_第4頁
微機原理課程設(shè)計統(tǒng)計字符串長度_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 微機原理 課程設(shè)計報告題 目: 計算字符串長度 學(xué)生姓名: 學(xué) 號: 專業(yè)班級: 計科13101 同組姓名: 指導(dǎo)教師: 設(shè)計時間:2015.12.28-2015.12.31 指導(dǎo)老師意見:評定成績: 簽名: 日期:目錄目錄2一、需求分析2二、系統(tǒng)設(shè)計31.內(nèi)容32思路3三、系統(tǒng)總體框圖3四、調(diào)試分析4五、 實驗結(jié)果5六、程序設(shè)計7七、總結(jié)10一、需求分析 本程序主要用于,把輸入的一串字符,統(tǒng)計長度并輸出。本程序采用匯編語言編程,定義了宏、統(tǒng)計等等,非常人性化的把統(tǒng)計的結(jié)果顯示出來。比如你輸入一串?dāng)?shù)字“12345”,它會顯示出你輸入的這串?dāng)?shù)字個數(shù)為5。 二、系統(tǒng)設(shè)計1.內(nèi)容從鍵盤輸入任意一個

2、字符串,以回車作為結(jié)束符并顯示,統(tǒng)計并顯示出它字符的個數(shù)。2思路(1).在數(shù)據(jù)段中定義各種字符提示信息以便程序清晰明白。(2).在數(shù)據(jù)段中定義一個str db 100,?,100 dup(?)(3).將數(shù)據(jù)段存到ax寄存器,再將ax寄存器轉(zhuǎn)移到ds寄存器。(4).提示用戶輸入一串字符,以回車結(jié)束。(5).將偏移地址放入dx。(6).輸入數(shù)據(jù),長度不能大于100。(7).將輸出提示語的偏移地址放入dx。(8).統(tǒng)計字符串的長度。(9).將結(jié)果轉(zhuǎn)化成可以顯示的ascii碼,并保存到ax中。(10).將ax中的結(jié)果轉(zhuǎn)移到dx中。顯示dx,以任意鍵退出三、系統(tǒng)總體框圖開始提示輸入一個字符串,以回車結(jié)束

3、輸入統(tǒng)計字符串長度輸出結(jié)束提示語輸出結(jié)果結(jié)束四、調(diào)試分析本程序主要用于,把輸入的一串字符統(tǒng)計字符的個數(shù)。本程序采用匯編語言編程,定義了宏、比較判斷、循環(huán)調(diào)用、統(tǒng)計等等,非常人性化的把統(tǒng)計的結(jié)果顯示出來。比如你輸入一串?dāng)?shù)字“12345”,它會顯示出你輸入的這串?dāng)?shù)字,并顯示數(shù)字的個數(shù)為5。5、 實驗結(jié)果(1)用dosbox 在win7上運行,將文件夾路徑設(shè)為c盤(2) 運行masm,編譯len.asm,生成len.obj文件(3) 連接len,生成len.exe文件(4) 運行l(wèi)en.exe六、程序設(shè)計datas segment;數(shù)據(jù)段定義msg1 db input the string: ,13

4、,10,$;定義了一個字符串,13是回車,10是換行,字符串必須以$結(jié)束msg2 db 13,10,the string lenth is:$str db 100,?,100 dup(?);db 100 dup(?)意思是定義100個未經(jīng)初始化的字節(jié);db 100 意思是定義一個字節(jié),初始化為100;db ?意思是定義一個為初始化的字節(jié)datas endsstacks segment;堆棧段定義,此程序不需要,不定義會有警告,但不影響運行。;此處輸入堆棧段代碼stacks endscodes segment;代碼段開始assume cs:codes,ds:datas,ss:stacks;說明段

5、寄存器和定義寄存器的關(guān)系start:mov ax,datas;數(shù)據(jù)段到ax寄存器mov ds,ax;ax寄存器到ds寄存器,不能數(shù)據(jù)段直接到dslea dx,msg1;加載定義字符的有效地址msg1mov ah,9;調(diào)用dos顯示字符串功能int 21h;此處輸入代碼段代碼lea dx,str;傳偏移地址mov ah,0ah;0ah 表示鍵盤輸入到緩沖區(qū)int 21h;讀數(shù)據(jù);mov傳送的是地址所指的內(nèi)容,而lea只是地址。lea dx,msg2mov ah,9int 21hlea si,strmov al,si+1mov ah,0;把ah變成0mov bl,10div bl;除法指令,除數(shù)有

6、8位和16位兩種,如果除數(shù)是8位,那么除法的結(jié)果al保存上,ah保存余數(shù);如果除數(shù)是16位,那么除法的結(jié)果ax保存商,dx保存余數(shù)。;被除數(shù)默認(rèn)存放在ax中(10位以內(nèi))或ax和dx中(32位,dx存放高16位,ax存放低16位)add ax,3030h;把兩字節(jié)的非壓縮bcd碼轉(zhuǎn)成可以顯示的ascii碼mov dx,axmov ah,2;顯示輸出int 21hmov dl,dhint 21hmov ah,7;點擊enter程序退出,應(yīng)該是任意鍵退出int 21h;mov ah,4ch;程序結(jié)束,控制權(quán)返回int 21hcodes endsend start七、總結(jié)微機原理與接口技術(shù)是一門很有

7、趣的課程,任何一個計算機系統(tǒng)都是一個復(fù)雜的整體,學(xué)習(xí)計算機原理是要涉及到整體的每一部分。討論某一部分原理時又要涉及到其它部分的工作原理。這樣一來,不僅不能在短時間內(nèi)較深入理解計算機的工作原理,而且也很難孤立地理解某一部分的工作原理。所以,在循序漸進的課堂教學(xué)過程中,我總是處于“學(xué)會了一些新知識,弄清了一些原來保留的問題,又出現(xiàn)了一些新問題”的循環(huán)中,直到課程結(jié)束時,才把保留的問題基本搞清楚。學(xué)習(xí)該門課程知識時,其思維方法也和其它課程不同,該課程偏重于工程思維,具體地說,在了解了微處理器各種芯片的功能和外部特性以后,剩下額是如何將它們用于實際系統(tǒng)中,其創(chuàng)造性勞動在于如何用計算機的有關(guān)技術(shù)和廠家提

8、供的各種芯片,設(shè)計實用的電路和系統(tǒng),再配上相應(yīng)的應(yīng)用程序,完成各種實際應(yīng)用項目。這次實驗并不是很難,主要的困難來自對程序的理解。功夫不負(fù)有心人,經(jīng)過四個人的合作和努力,我們最后對實驗的原理有了清晰的認(rèn)識。雖然實驗臺上的很多模塊單元沒有用到,但是就系統(tǒng)功能來說,我覺得我們做的還是不錯的。這次課設(shè)卻讓我們對實驗臺有了足夠的了解,讓我們知道了實驗臺上各個模塊的用法;而且它還讓我們對自己動手寫程序來控制實驗臺的運作有了一定的基礎(chǔ)。雖然實驗臺只是一個小型的模擬平臺,但是通過對它的學(xué)習(xí)和操作,我們對有關(guān)接口的知識將會有一個更廣泛的認(rèn)識,而且它對我們以后的學(xué)習(xí)也會有幫助的。實驗中個人的力量是不及群體的力量的,我們四個人分工合作,做事的效率高了很多。雖然有時候會為了一些細(xì)節(jié)爭論不休,但最后得出的總是最好的結(jié)論。而且實驗也教會我們在團隊中要善于與人相處,與人共事,不要一個人解決所有問題??傊?,這次課程設(shè)計對于我們有很大的幫助,通過課程設(shè)計,我更加深入地理解了,微機原理課程上講到的各種芯片的功能,以及引腳的作用,同時加深了對于主要芯片的應(yīng)用的認(rèn)識,同時在試驗室的環(huán)境里熟悉了匯編程序的編寫過程和運行過程,最后還提高了自己的動手能力。感謝老師的悉心指導(dǎo)。對課程設(shè)計的建議本次課程設(shè)計的三個實驗相對都比較簡單,而且經(jīng)過老師的講解以及實驗書上的指導(dǎo),幾乎

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論