微機(jī)原理課程設(shè)計(jì)_第1頁
微機(jī)原理課程設(shè)計(jì)_第2頁
微機(jī)原理課程設(shè)計(jì)_第3頁
微機(jī)原理課程設(shè)計(jì)_第4頁
微機(jī)原理課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

茨5衛(wèi)對課程設(shè)計(jì)說明書課程名稱:微機(jī)原理課程設(shè)計(jì)題目數(shù)制轉(zhuǎn)換實(shí)驗(yàn)院系:理學(xué)院專業(yè)班級:應(yīng)用物理13-1學(xué)號:2013305188學(xué)生姓名:李立才指導(dǎo)教師:李聲2016年6月17日

理學(xué)院院系信計(jì)教研室學(xué)號2013305188學(xué)生姓名李立才專業(yè)(班級)應(yīng)物13-1設(shè)計(jì)題目數(shù)制轉(zhuǎn)換實(shí)驗(yàn),小寫轉(zhuǎn)大寫實(shí)驗(yàn)在masmforwindows上經(jīng)debug調(diào)試可運(yùn)行;可滿足設(shè)計(jì)要求。2016年6月17日理學(xué)院院系信計(jì)教研室學(xué)號2013305188學(xué)生姓名李立才專業(yè)(班級)應(yīng)物13-1ASCII為掌握鍵盤接受數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時必須轉(zhuǎn)換為碼的原理,編寫程序,將鍵盤接受到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為等值的二進(jìn)制數(shù)顯示。ASCII為了解小寫字母和大寫字母在計(jì)算機(jī)內(nèi)的表示方法,并學(xué)習(xí)如何進(jìn)行轉(zhuǎn)換,為了解小寫字母和大寫字母在計(jì)算機(jī)內(nèi)的表示方法,并學(xué)習(xí)如何進(jìn)行轉(zhuǎn)換,編寫程序,接受鍵盤字符,并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜福缓箫@示在屏幕上。查閱相關(guān)材料,完成設(shè)計(jì),完成設(shè)計(jì)報告工1.綜2.1.綜2.查閱資料,完成設(shè)計(jì)。3.完成設(shè)計(jì)報告。作

姚燕南薛鈞義主編.《微型計(jì)算機(jī)原理》第四版[M].西安電子科技大學(xué)出版社潘峰主編.《微型計(jì)算機(jī)原理與匯編語言》第三版[M].電子工業(yè)出版社.雛逢興編著.《計(jì)算機(jī)硬件技術(shù)基礎(chǔ)》[M]高等教育出版社.指導(dǎo)教師簽字教研室主任簽字指導(dǎo)教師簽字安徽理工大學(xué)課程設(shè)計(jì)(論文)成績評定表學(xué)生姓名:課程設(shè)計(jì)題目:李立才學(xué)號:2013305188數(shù)制轉(zhuǎn)換實(shí)學(xué)生姓名:課程設(shè)計(jì)題目:李立才學(xué)號:2013305188數(shù)制轉(zhuǎn)換實(shí)專業(yè)班級:應(yīng)物13-1指導(dǎo)教師評語:成績:指導(dǎo)教師:TOC\o"1-5"\h\z課程設(shè)計(jì)實(shí)驗(yàn)?zāi)康呐c要求1從鍵盤輸入數(shù)據(jù)并顯示1將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母1課程設(shè)計(jì)實(shí)驗(yàn)內(nèi)容1從鍵盤輸入數(shù)據(jù)并顯示1將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母2課程設(shè)計(jì)實(shí)驗(yàn)流程圖2從鍵盤輸入數(shù)據(jù)并顯示2將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母3課程設(shè)計(jì)實(shí)驗(yàn)程序4從鍵盤輸入數(shù)據(jù)并顯示4將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母8課程設(shè)計(jì)實(shí)驗(yàn)運(yùn)行結(jié)果12從鍵盤輸入數(shù)據(jù)并顯示12將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母12課程設(shè)計(jì)實(shí)驗(yàn)心得13課程設(shè)計(jì)實(shí)驗(yàn)?zāi)康呐c要求從鍵盤輸入數(shù)據(jù)并顯示掌握鍵盤接受數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時必須轉(zhuǎn)換為ASCII碼的原理,編寫程序,將鍵盤接受到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為等值的二進(jìn)制數(shù)顯示。掌握子程序定義和調(diào)用的方法。掌握循環(huán)移位指令的用法和無符號數(shù)比較大小的方法。將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母了解小寫字母和大寫字母在計(jì)算機(jī)內(nèi)的表示方法,并學(xué)習(xí)如何進(jìn)行轉(zhuǎn)換,編寫程序,接受鍵盤字符,并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜?,然后顯示在屏幕上。熟練掌握匯編語言程序設(shè)計(jì)的方法及上機(jī)步驟掌握將小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母的方法掌握子程序的設(shè)計(jì)方法掌握DOS功能的調(diào)用方法課程設(shè)計(jì)實(shí)驗(yàn)內(nèi)容從鍵盤輸入數(shù)據(jù)并顯示為了解小寫字母和大寫字母在計(jì)算機(jī)內(nèi)的表示方法,并學(xué)習(xí)如何進(jìn)行轉(zhuǎn)換,編寫程序,接受鍵盤字符,并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜?,然后顯示在屏幕上。課程設(shè)計(jì)要求進(jìn)行小寫字母到大寫字母的轉(zhuǎn)換。其實(shí)字母大小寫的區(qū)別在于他們的ASCII碼范圍,它們之間的轉(zhuǎn)換其實(shí)就是加減相應(yīng)的ASCII碼值。在判斷輸入的字母是大寫的還是小寫的(即判斷輸入符號ASCII碼在41H~5AH還是在61H~7AH內(nèi))之后,決定判斷是加上還是減去ASCII碼值

第一步是實(shí)現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換,主要利用小寫字母比大寫字母大20H的關(guān)系。第二部要鍵盤輸入,顯示輸出。課程設(shè)計(jì)實(shí)驗(yàn)流程圖從鍵盤輸入數(shù)據(jù)并顯示圖3-1實(shí)驗(yàn)流程圖■、itHrt圖3-2實(shí)驗(yàn)流程圖課程設(shè)計(jì)實(shí)驗(yàn)程序從鍵盤輸入數(shù)據(jù)并顯示datasegment;數(shù)據(jù)區(qū)定義開始strrdb'pleaseinputhexadecimalnumber:$'errrdb'thisisanerrornumber!$';數(shù)據(jù)區(qū)定義結(jié)束dataendsstacksegmentstack;堆棧區(qū)定義開始db100dup();堆棧區(qū)定義結(jié)束stackendscodesegment;代碼區(qū)定義開始assumecs:code,ds:data,ss:stackstart:movax,datamovds,axmovax,stackmovss,ax;設(shè)定區(qū)址movcx,00hxorbx,bxcallgetnum;按提示輸入四個字符,存入BX中movcx,10h;用于下面的loopnex處,因?yàn)锽X共有16位callnewline;轉(zhuǎn)到新行movdl,0ahmovah,02hint21h;換行movdl,0dhmovah,02hint21h;回車next:rolbx,1;把BX所存字符的二進(jìn)制的最高位移到最低位movdl,blanddl,01h;獲取最低位adddl,30h;將最低位轉(zhuǎn)成數(shù)字,即字符’0或’1'movah,02hint21h;即將之前BX的最高位輸出到屏幕loopnext;循環(huán),將BX的每一位都輸出來movah,4chint21h;完成;功能:接受四個字符,必須輸入0-9A-F,否則提示錯要重輸;假設(shè)先后輸入1234則最后BX為0x1234getnumprocnear;子過程getnum開始again:pushcxmovcl,4shlbx,cl;把BX左移四位,空出了低四位again1:callnewline;轉(zhuǎn)到新行l(wèi)eadx,strrmovah,09hint21h;輸出"pleaseinputhexadecimalnumber:"movah,01hint21h;接受輸入字符cmpal,46hjadone;如果字符比’歐則轉(zhuǎn)到donecmpal,41hjbnext1;如果字符比’A小則轉(zhuǎn)到next1subal,07h;如果字符在^和’F間,則減七;提示:數(shù)字1-9為0x31-0x39,字符A-F處理后為0x3A-0x3F,正好接在數(shù)字后jmpttnextl:cmpal,39hjadone;如果字符比’9大則轉(zhuǎn)到donett:cmpal,30hjbdone;如果字符比’0小則轉(zhuǎn)到donesubal,30h;減0x30,于是原字符0-9A-F變成相應(yīng)的十六進(jìn)制數(shù)0x0-0xFmovah,00haddbx,ax;把0x0-0xF存到bx的低四位popcxinccxcmpcx,04h;是否循環(huán)了四次jett2;是的話就跳到tt2結(jié)束jmpagain;否則跳到agair再來一次done:callnewlineleadx,errrmovah,09hint21h;如果輸入的字符不符合要求,輸出錯誤提示jmpagain1;轉(zhuǎn)到againl#次接受輸入tt2:ret;子過程getnum結(jié)束getnumendp;功能:輸出回車換行符,即轉(zhuǎn)到新行newlineprocnear;子過程newline開始movdl,0ah;設(shè)輸出字符為0x0A,即換行符movah,02hint21hmovdl,0dh;設(shè)輸出字符為0x0D,即回車符movah,02hint21hret;子過程newline結(jié)束newlineendp;;代碼區(qū)定義結(jié)束codeends;指定執(zhí)行起點(diǎn)endstart將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母DATASSEGMENTMESSAGEDB'Welcometothesystem!',13,10,13,10DB'Thefunctionoftheprogramischangingsmallletterstocapitalletters.',13,10DB'Ifyouentercapitallettersornumberstherewillbenochanges.',13,10,13,10DB'Pleaseenterastring?’,13,10,'$'CRDB13,10,'$'回車換行STRINGDB100DB0DB80DUP(0)定;義緩沖區(qū)AGAINDB'Doyouwanttotryagain(YorN)',13,10,'$'CRERRORDB'ERROR!',13,10,'Pleaseentertherightcommomds.',13,10擇都;誤提示DATASENDSSTACKSSEGMENTDB200DUP()STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:HEAD:MOVAX,DATASMOVDS,AXLEADX,MESSAGE輸出;提示語MOVAH,09HINT21HLEADX,STRINGMOVAH,0AHINT21H把字符串輸入到BUF區(qū)LEADX,CRMOVAH,09HINT21H以上為回車換行LEASI,STRING+2把;字符串首地址存入BXMOVCL,STRING+1把;字符個數(shù)存CXMOVCH,0NEXT1:MOVDL,[SI]CMPDL,'a'JBNEXT2CMPDL,'z'JANEXT2;ASCII碼小a和大于z的跳過,其余的減32SUBDL,20H;大小寫字母的ASCII碼32差NEXT2:MOVAH,02HINT21HINCSI;BX自加,判斷下一個字符DECCX;CX自減,最終將是0JNENEXT1;CX非零時,跳回NEXT1MOVDX,OFFSETCR輸出回車換行MOVAH,09HINT21HJMPEXITOVERFLOW:;錯誤提示LEADX,CRMOVAH,09HINT21HLEADX,ERRORMOVAH,09HINT21HEXIT:LEADX,CRMOVAH,09HINT21HLEADX,AGAIN提;示是否再試一次MOVAH,09HINT21HMOVAH,01HINT21HPUSHAXLEADX,CRMOVAH,09HINT21HPOPAXCMPAL,'Y'JZHEADCMPAL,'y'JZHEADCMPAL,'N'JZOVERCMPAL,'n'JZOVERJMPOVERFLOWOVER:MOVAH,4CHINT21HCODESENDSENDSTART5.課程設(shè)計(jì)實(shí)驗(yàn)運(yùn)行結(jié)果從鍵盤輸入數(shù)據(jù)并顯示圖5-1實(shí)驗(yàn)運(yùn)行結(jié)果將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母圖5-2實(shí)驗(yàn)運(yùn)行結(jié)果6.課程設(shè)計(jì)實(shí)驗(yàn)心得通過這次課程設(shè)計(jì),使我認(rèn)識到自己理論知識掌握不夠,對于許多指令和一些基本的編程方法都掌握不清晰。為了順利完成課程設(shè)計(jì),我重新拿起課本,用心閱讀,問題才一一解決。由此看來,知識只有在實(shí)踐中才能真正掌握。難怪人們說匯編語言編程必須在使用中慢慢理解。本學(xué)期做了許多微機(jī)原理的實(shí)驗(yàn),開始以為這次課程設(shè)計(jì)會像前幾次實(shí)驗(yàn)簡單。直到要編寫程序?qū)崿F(xiàn)的時候,才發(fā)現(xiàn)自己對匯編程序的了解確實(shí)還不夠,尤其是編程方面的能力有待提高。在不斷地再次學(xué)習(xí)和理解過程中,我慢慢掌握了更多匯編語言的應(yīng)用知識,最終寫出了大小寫字母轉(zhuǎn)換的程序。把編寫好的程序輸入軟件時候,也出現(xiàn)了許多小問題,比如沒有定義變量等等。歸納起來都是因?yàn)榫幊陶莆詹焕喂?,寫程序沒有條理,加上自己粗心大意的惡習(xí)依舊沒改正造成的,以后需要努力改正。總的來說,這次課程設(shè)計(jì),自己受益匪淺。不但加固了微機(jī)原理知識的理解,而且加強(qiáng)了對匯編語言的應(yīng)用能力。同時,非常感謝指導(dǎo)老師與同學(xué)給予我在編程方面的幫助,讓我能夠完成這次設(shè)計(jì)。參考文獻(xiàn)姚燕南薛鈞義主編微型計(jì)算機(jī)原理第四版)M],西安:西安電子科技大學(xué)出版社,2003潘峰主編微型計(jì)算機(jī)原理與匯編語言第三版)M],西安電子工業(yè)出版社,2003雛逢興編著計(jì)算機(jī)硬件技術(shù)基礎(chǔ)M],北京:高等教育出版社,1998王永山等編著微型計(jì)算機(jī)原理與應(yīng)用?],西安:電子科技大學(xué)出版社,1999舒貞權(quán)等編著.Intel8086/808系列微型計(jì)算機(jī)原理[M]西安:西安交通大學(xué)出版社,1993[6]HwangS,ChoiS.Ironbird

溫馨提示

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

評論

0/150

提交評論