




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄一、摘要(1二、設計的題目 錯誤!未定義書簽。1圖形轉換(1三、設計目的(1四、設計內容(1程序的內容與要求 錯誤!未定義書簽。程序運行條件(2輸入/輸出描述(2五、設計思路(3六、程序結構 錯誤!未定義書簽。3段定義說明(3子程序功能說明(46.3算法描述(4(1各模塊功能實現(xiàn)(4(2典型指令的應用(4七、程序流程圖(5八、文件的編輯、連接和運行結果(6匯編源程序文件(ASM,MASM(6連接目標文件(LINK(7運行可執(zhí)行文件(7九、程序的調試(8程序結構設計特點(8調試程序心得(8十、小結與體會(8十一、附錄(9①源程序代碼(簡單注釋(9②參考文獻(18③組員分工(18微機原理課程設計任務書2010-2011學年第二學期第19周-19周題目圖形變換程序內容及要求結合微機原理知識,查閱有關資料,完成一個圖形變換的程序編寫,系統(tǒng)具有4種可選擇的功能,按字母“Y”畫一個由點組成的園;按字母“S”畫一個由不同顏色填充的三角形;按字母“Z”畫一個由不同顏色填充的矩形;按字母“Q”退出。進度安排1、查找資料,提出總體方案1天2、分析、設計、調試、實現(xiàn)3天3、檢查、整理、寫設計報告、小結1天學生姓名:指導時間:2011-6-27至2011-7-1指導地點:F樓312室任務下達2011年6月27日任務完成2011年7月1日考核方式1.評閱d2.答辯d3.實際操作d4.其它口指導教師系(部主任一、摘要:《微機原理與接口技術》課程是電氣信息類專業(yè)學生的一門重要基礎課程,同時也是一門實踐性和應用性很強的課程。本課程主要講授微型計算機的基本工作原理、系統(tǒng)組成及接口技術和基本的匯編語言程序設計知識,通過學習從而為學生今后分析和設計微機應用系統(tǒng)打好基礎。在理論教學的同時,如果忽視實踐教學,學生對理論知識不能夠很好的掌握,學習效果就會受到很大的影響。本次課程設計主要是通過應用微機原理中匯編的幾個步驟——編輯、匯編、連接、運行或調試運行,使得在doc界面完成圖形變換。關鍵詞:微型計算機原理接口技術匯編語言實踐教學doc二、設計的題目:圖形變換程序三、設計目的:.鞏固和加深課堂所學知識。.將課本上的理論知識和實際應用有機的結合起來,培養(yǎng)同學們分析和解決實際問題的能力。.通過對匯編語言程序代碼的閱讀、修改、設計,理解和掌握復雜的匯編語言應用程序的編程,提高實踐編程能力。本程序要求按不同的鍵顯示不同的圖形,按^”鍵退出。實質上通過做這道題目可以檢查學生對匯編語言這門課程的基本知識的掌握程度。能用匯編語言熟練地運用順序、選擇、循環(huán)三大結構,進一步掌握各個指令的功能,特別是轉向指令,讓同學熟悉并掌握DOS系統(tǒng)功能調方法用及BIOS系統(tǒng)功能調用方法;同時在程序設計過程中熟悉并掌握各種指令的應用,知道編程的具體流程,以及掌握DEBUG的一系列的功能執(zhí)行命令,及用它進行調試,運行功能。只有掌握匯編語言基本編程方法,掌握程序各部分功能及其相互聯(lián)系、相互作用,才能把程序寫出來,才能把程序寫好。四、設計內容:程序的內容與要求:結合微機原理知識,查閱有關資料,完成一個圖形變換的程序編寫,系統(tǒng)具有4種可選擇的功能,按字母“Y”畫一個由點組成的園;按字母“S”畫一個由不同顏色填充的三角形;按字母“Z”畫一個由不同顏色填充的矩形;按字母“Q”退出。程序運行條件本程序可在windows98,windows2000,windowsxp上運行。所需要工具軟件為MASM2.0及以上版本。輸入/輸出描述①輸入Y②輸入S③輸入Z④輸入q返回到DOS界面。五、設計思路:BIOS調用中并沒有現(xiàn)成的顯示圓、三角形和矩形的功能,故編寫了三個子程序,采用段內調用子程序的方法來實現(xiàn).其中圓用在屏幕上顯示12個小圓點以圍成一個圓來實現(xiàn),12個小圓點的行列坐標事先定義在一個變量中.三角形和矩形的實現(xiàn)原理是采用控制寫點的方式,行、歹列、塊的顏色不是采用變量表示,此處的三角形用寄存器表示,使用了堆棧技術;矩形使用的也是寄存器,但沒有使用堆棧.整個程序的結構如圖所示。六、程序結構:段定義說明分為數(shù)據(jù)段DSEG、堆棧段SSEG和代碼段CSEG。堆棧段是為一些字符串和圖形的光標位置及其他一些數(shù)據(jù)分配空間;數(shù)據(jù)段是記錄程序運行過程中所需的信息,包括字符信息,圖形光標等;代碼段則是程序算法部分,通過對各子程序的調用,實現(xiàn)圖形轉換功能。子程序功能說明子程序包括三個:函數(shù)名為YUAN,SAN和ZHENG,分別具有畫圓、畫三角形和畫矩形的功能。調用關系:根據(jù)指令SA:CALLSANJMPINPUTZHEN:CALLZHENGJMPINPUTYUA:CALLYUANJMPINPUT當轉移到各標號時,調用不同的子程序,從而實現(xiàn)繪制圖形。過程返回指令RET定義在子程序中,當執(zhí)行完子程序后,跳轉到INPUT。參數(shù)傳送方式:程序中用到利用寄存器傳遞參數(shù)和利用約定存儲單元的方法傳遞參數(shù)。即把參數(shù)存放在寄存器或是存儲單元中來實現(xiàn)主程序和子程序間的參數(shù)傳遞。算法描述(1各模塊功能實現(xiàn):a.MAIN模塊功能:這是個主過程,是負責進入和退出圖形轉換程序的入口。利用指令:MOVAH,08;不帶回顯鍵盤輸入,出口參數(shù)alINT21H來實現(xiàn)字符的輸入,從而進入相應的子程序。b.YUAN模塊功能:實現(xiàn)畫圓的功能。圓用在屏幕上顯示12個小圓點以圍成一個圓來實現(xiàn),12個小圓點的行列坐標事先定義在一個變量中。利用CALL指令直接實現(xiàn)從主函數(shù)調用。c.SAN模塊功能:實現(xiàn)畫三角形功能。利用CALL指令直接實現(xiàn)從主函數(shù)調用。d.ZHENG模塊功能:實現(xiàn)畫矩形的功能。通過向四個方向滾屏,來實現(xiàn)繪制四個邊。利用CALL指令直接實現(xiàn)從主函數(shù)調用。(2典型指令的應用:程序中運用了大量的數(shù)據(jù)定義語句、數(shù)據(jù)傳送指令及轉移指令,并用到DOC功能調用和基本輸入輸出系統(tǒng)BIOS中的中斷處理程序。典型的有JZ跳轉指令,中斷指令INT10H,INT21H,如指令:MOVAL,2MOVAH,9MOVBL,0E0HINT10H其中AL存放字符代碼,AL二字符代碼,AH=9表示將字符和屬性寫到光標位置處,BL二屬性。而指令MOVAH,4CH/INT21H,表示返回到DOC操作界面。七、程序流程圖:程序開始運行后,先提示:pleasechoosethelettery,s,z:,inputqtoquit然后操作者選擇一個字母,程序根據(jù)比較:CMPAL,’S’JZSACMPAL,ZJZZHENCMPAL,’Y’JZYUACMPAL,‘q'JZEXITMOVDX,OFFSETINFO2MOVAH,09INT21H若為S,則轉到標號SA,進一步調用子程序SAN來畫出三角形;若為Z,則轉到標號ZHEN,進一步調用子程序ZHENG來畫出矩形;若為Y,則轉到標號YUA,進一步調用子程序YUAN來畫出圓。若為q,則轉至UEXIT,轉至UDOC操作頁面。若不是以上的字符,則提示輸入錯誤,顯示chooseerror![程序流程圖如下所示:][程序流程圖]開始顯示提示信息接收鍵盤輸入是“丫”?是“S”?是“Z"?CallyuanCallsan是“q”?Callzheng顯示出錯信息退出YNNNNY八、文件的編輯、連接和運行結果匯編源程序文件(ASM,MASM由編輯程序所建立的ASM文件只是個文本文件,計算機無法執(zhí)行。需要經(jīng)過匯編程序的匯編,使其轉為目標代碼文件。它是通過調用宏匯編MASM(或匯編程序ASM程序完成這一匯編操作的。匯編程序還將對源文件進行語法檢查,如發(fā)現(xiàn)有錯,將給出錯誤原因。程序設計者可根據(jù)它分析和修改源程序,并再經(jīng)過匯編,直到無錯時為止,此時得到的是一個目標文件(OBJ文件。連接目標文件(LINK目標文件為浮動的相對地址,是不可直接執(zhí)行的。必須經(jīng)過連接,把有關模塊連接在一起,構成統(tǒng)一的編址,從而為運行提供條件。在運行時,裝填到內存中的具體位置由段地址來確定。連接過程是由LINK連接程序實現(xiàn)的,止時得到的是一個可可執(zhí)行文件(EXE文件。運行可執(zhí)行文件得到可執(zhí)行文件后就可以直接調用可執(zhí)行文件名,從盤上調到內存中運行。在出現(xiàn)的提示信息中,按Y鍵畫圓;按S鍵畫三角形;按Z鍵畫正方形;按q鍵退出.九、程序的調試:程序結構設計特點通過設計三個子程序,分別實現(xiàn)畫圓、畫三角形和畫矩形的功能,然后通過比較輸入的字符,調用相應的子程序,完成不同的繪圖。主程序和子程序間通過寄存器和約定內存單元的方法實現(xiàn)參數(shù)傳遞。調試程序心得在調試中發(fā)現(xiàn)很多錯誤都是有于沒注意到一些小細節(jié)而出錯,(例如:注釋說明時忘了加“號,SEGMENT和ENDS、PROC和ENDP不匹配等,因此在寫程序時所有的細節(jié)都要考慮到。程序不足在選擇按鍵時候有一定的時間間隔,要等到出現(xiàn)提示后(即程序轉入到INPUT處時才能再次按鍵,否則就會轉入循環(huán)狀態(tài)。十、小結與體會:在整個設計程中,我分模塊分別設計和調試,完成了最后的總設計。在設計過程中,經(jīng)常會遇到這樣那樣的情況,就是心里想老著這樣的編程可以行得通,但實際運行后,總是實現(xiàn)不了,因此耗費在這上面的時間用去很多。做課程設計同時也是對課本知識的鞏固和加強,由于課本上的知識太多,平時課間的學習并不能很好的理解,而且考試內容有限,所以在這次課程設計過程中,我從根本上理解了很多很多知識點,并且對于它們在實際中的應用有了更多的認識。平時看課本時,有時問題老是弄不懂,做完課程設計,那些問題就迎刃而解了。而且還可以記住很多東西。平時看課本,這次看了,下次就忘了,認識來源于實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標準。所以這個期末測試之后的課程設計對我的作用是非常大的。經(jīng)過一個星期的設計,過程曲折可謂一語難盡。在此期間我也失落過,也曾一度熱情高漲。從開始時滿富盛激情到最后汗水背后的復雜心情,點點滴滴無不令我回味無長。生活就是這樣,汗水預示著結果也見證著收獲。勞動是人類生存生活永恒不變的話題。通過課程設計的編程和對編程過程中遇到的問題的思考,有效的提高了我對匯編的認識和理解,切實的提高了我的編程能力,補全了我的不足。同時我也鞏固所了學過的知識,能用匯編語言熟練地運用順序、選擇、循環(huán)三大結構,進一步掌握了各個指令的功能,特別是轉向指令,掌握了子程序的定義及調用,以及正確地運用DEBUG指令。在整個程序的編寫中,調試占了很大部分的時間,要想寫好匯編語言的程序,必須認真對待代碼的每一個細節(jié),還必須熟練的掌握DEBUG命令,這對程序的調試是非常重要的。通過這次實際動手能力的培養(yǎng),我進一步熟悉了匯編語言的結構和使用方法,基本達到了能獨立閱讀、編制和調試一定規(guī)模的匯編語言程序的水平,也提高了我獨立思考和解決問題的能力。在如今單一的理論學習中,很少有機會能有實踐的機會,而且是一個團隊的任務。大家在一起的工作可以讓我們有說有笑,相互幫助,配合默契,多少人間歡樂在這里灑下,大學里一年的相處還趕不上這十來天的合作,我感覺我和同學們之間的距離更加近了。同時我認為我們的工作是一個團隊的工作,團隊需要個人,個人也離不開團隊,必須發(fā)揚團結協(xié)作的精神。某個人的離群都可能導致導致整項工作的失敗。實習中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導致整個工作失敗。團結協(xié)作是我們實習成功的一項非常重要的保證。而這次實習也正好鍛煉我們這一點,這也是非常寶貴的。對我們而言,知識上的收獲重要,精神上的豐收更加可喜。挫折是一份財富,經(jīng)歷是一份擁有。這次實習必將成為我人生旅途上一個非常美好的回憶!通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。這次課程設計終于順利完成了,在設計中遇到了很多專業(yè)知識問題,最后在老師的辛勤指導下,終于迎刃而解。同時,在老師的身上我們學也到很多實用的知識,在次我們表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!此次課程設計,學到了很多課內學不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應變,和與人合作共同提高,都受益非淺,今后的制作應該更輕松,自己也都能扛的起并高質量的完成項目。在此,感謝彭老師的細心指導,也同樣謝謝其他各組同學的無私幫助!十一、附錄:(1源程序代碼(簡單注釋DSEGSEGMENTINFO1DB0DH,0AH,’pleasechoosethelettery,s,z:’DB0DH,0AH,’inputqtoquit’,’$’INFO2DB0DH,0AH,’chooseerror!’,’$’D3DW0TOTALDB12DOTYXDB50,160DB60,135DB60,185DB75,115DB75,205DB95,110DB95,210DB110,114DB110,210DB130,135DB130,195DB145,165DSEGENDSSSEGSEGMENTSTACKDB200DUP(0SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MAINPROCFARMOVAX,DSEGMOVDS,AXMOVAH,0;設置顯示模式MOVAL,4;顯示模式代號INT10H;10H號中斷,顯示I/O程序INPUT:LEADX,INTO1;要輸出字符串首地址MOVAH,9;在標準輸出上顯示一個字符串INT21HMOVAH,08;不帶回顯鍵盤輸入,出口參數(shù)alINT21HCMPAL,’S’JZSACMPAL,ZJZZHENCMPAL,’Y’JZYUACMPAL,’q’JZEXITMOVDX,OFFSETINFO2MOVAH,09INT21HSA:CALLSANJMPINPUTZHEN:CALLZHENGJMPINPUTYUA:CALLYUANJMPINPUTEXIT:MOVAH,4CHINT21HRETMAINENDPSANPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,0MOVAL,12HINT10H;顯示I/O程序MOVAL,1A0:MOVDX,1MOVD3,1MOVCX,320A1:PUSHCXPUSHD3A2:MOVAH,12PUSHAXINT10H;顯示I/O程序POPAXINCCXSUBD3,1JNZA2POPD3ADDD3,2POPCXINCDXDECCXJNEA1INCA1CMPAL,5JNEA0POPDXPOPCXPOPBXPOPAXRETSANNEDPZHENGPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,0FH;取當前顯示模式INT10HMOVAH,0MOVAL,3INT10H
MOVCX,1;字符數(shù)量MOVAH,2;置光標位置MOVDH,5;5行開始MOVDL,25;25歹列開始INT10H;*****光標向下動;*****光標向下動小小小小小小小小LINE:MOVAH,2INT10HMOVAL,2;字符代碼MOVAH,9LINE:MOVAH,2INT10HMOVAL,2;字符代碼MOVAH,9;將字符和屬性寫到光標位置處MOVBL,0E0H;字符黃色INT10HINCDH;行增加CMPDH,20;20行JNELINEJMPLINE1;****光標向右動*****LINE1:MOVAH,2INT10HMOVAL,2MOVAH,9MOVBL,0E0H;字符為黃色INT10HINCDL;MOVAH,9MOVBL,0E0H;字符為黃色INT10HINCDL;列增加CMPDL,55;55歹列JNELINE1JMPLINE2;*****光標向上動小小小小小小小小小LINE2:MOVAH,2INT10HMOVAL,2MOVAH,9MOVBL,0E0H;字符黃色INT10HDECDH;行減少CMPDH,5;5行JNELINE2JMPLINE3;***光標向左動***LINE3:MOVAH,2INT10HMOVAL,2MOVAH,9MOVBL,0E0H;字符為黃色INT10HDECDL;列減少CMPDL,25;25歹列JNELINE3L00:MOVAH,7;向下滾屏MOVAL,14;下滾行數(shù)MOVBH,20H;綠色,填空白行的屬性MOVCL,26;窗口左上角列號MOVDH,19;窗口右下角行號MOVDL,54;窗口右下角列號INT10H;*****時間控制*****L01:MOVAH,0INT1AH;時鐘管理CMPDL,10JNZL01L1:MOVAH,6;向上滾屏MOVAL,14MOVBH,0F0H;;白色MOVCH,6MOVCL,26MOVDH,19MOVDL,54INT10HL2:MOVAH,0INT1AH;時鐘管理CMPDL,15JNZL2L3:MOVAH,7;向下滾屏MOVAL,14MOVBH,40H;紅色MOVCH,6MOVCL,26MOVDH,19MOVDL,54INT10HL4:MOVAH,0CMPDL,30JNZL4L5:MOVAH,6;向上滾屏MOVAL,14MOVBH,0D0H;品
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安裝消防噴淋工程合同
- 清理生活垃圾合同書
- 技術服務合同含技術培訓技
- 工業(yè)設計委托合同
- 漢字書寫技巧與理解:七年級語文課程專題
- 財務報告分析與說明
- 人工智能在制造業(yè)的應用統(tǒng)計表
- 教育考試得分統(tǒng)計表
- 人防設備施工合同
- 冷凍庫施工方案
- 新版人音版小學音樂一年級下冊全冊教案
- 昆明理工大學物理習題冊帶答案
- 中考英語過去將來時趣味講解動態(tài)課件(43張課件)
- 2024年北京九年級中考英語聽力常見話題高頻詞匯和表達梳理
- hidlibrary使用操作手冊
- 足療店禁止涉黃協(xié)議書模板
- 醫(yī)師定期考核題庫-公衛(wèi)
- 小學數(shù)學教學中數(shù)學邏輯思維的啟蒙與培養(yǎng)
- 港口大數(shù)據(jù)安全與隱私保護
- 校外培訓機構規(guī)范辦學承諾書
- 非遺文化之漆扇介紹課件
評論
0/150
提交評論