歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

匯編 判斷閏年 課程設(shè)計報告.doc

  • 資源ID:26925603       資源大小:1.61MB        全文頁數(shù):17頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

匯編 判斷閏年 課程設(shè)計報告.doc

課程設(shè)計說明書題目: 判斷閏年 院 系: 計算機(jī)科學(xué)與工程學(xué)院 專業(yè)班級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 2010 年 12 月 30 日安徽理工大學(xué)課程設(shè)計(論文)任務(wù)書 計算機(jī)科學(xué)與工程學(xué)院 硬件 教研室學(xué) 號 學(xué)生姓名 專業(yè)(班級) 設(shè)計題目題目一:判斷閏年題目二: 簡單計算器題目三: 代碼轉(zhuǎn)換程序題目四:字符圖形程序題目五: 學(xué)生成績管理題目六: 打字練習(xí) (注:請在自己選做的題目后打)設(shè)計技術(shù)參數(shù)1 熟悉匯編指令、宏匯編語言的編程方法 2 BIOS中斷調(diào)用、系統(tǒng)功能中斷調(diào)用方法 3 磁盤文件、及文件內(nèi)容操作設(shè)計要求題目的選擇是根據(jù)匯編語言的特點(diǎn)主要針對系統(tǒng)內(nèi)部的一些中斷調(diào)用、系統(tǒng)功能調(diào)用、系統(tǒng)數(shù)據(jù)處理、文件數(shù)據(jù)處理而設(shè)計的,是對所學(xué)課程知識較為系統(tǒng)的應(yīng)用。 由于匯編語言編程相對其他語言編程比較復(fù)雜,因此,在設(shè)計上應(yīng)把重點(diǎn)放在程序的功能實現(xiàn)上,不要太在意程序的結(jié)構(gòu)和顯示界面的設(shè)計。不要局限于題目所規(guī)定的要求,可以靈活裁減,設(shè)計出功能更完善的程序。 另外,也可以自己設(shè)計題目,同時,提出詳細(xì)的功能描述,經(jīng)指導(dǎo)老師審查同意后也可作為課程設(shè)計的題目。 工作量1. 完成所選題目的軟件設(shè)計;2. 課程設(shè)計說明書1000字(不包括程序源代碼)左右。工作計劃第1次熟悉軟件環(huán)境。第2次繪制程序流程圖。第3次用編寫程序。第4次用調(diào)試運(yùn)行程序。第5次編寫課程設(shè)計說明書參考資料1.李敬兆 8086/8088和arm核匯編語言程序設(shè)計 中國科技大學(xué)出版社 2.沈美明,溫冬嬋 編著IBMPC匯編語言程序設(shè)計(第二版) 清華大學(xué)出版社出版3. 沈美明,溫冬嬋,張赤紅 編著IBMPC 匯編語言程序設(shè)計實驗教程 清華大學(xué)出版社出版指導(dǎo)教師簽字教研室主任簽字2010年 12月 17 日安徽理工大學(xué)課程設(shè)計(論文)成績評定表指導(dǎo)教師評語:成績: 指導(dǎo)教師: 年 月 日摘要本程序是用匯編語言編寫的簡單的判斷閏年的小程序。在運(yùn)行后,屏幕會提示輸入年份,輸入后程序會自動判斷輸入的年份是否為閏年。判斷某年為閏年的匯編語言表達(dá)式為:(AX) MOD 4 EQ 0) AND (AX) MOD 100 EQ 0) OR (AX) MOD 400 EQ 0)其中,(AX)中存放的是從鍵盤輸入的年份值。在本程序運(yùn)行后,只要輸入年份就能判斷是否為閏年。完成的主要功能1、在屏幕上顯示提示信息,輸入年份。2、判斷輸入的年份是否為閏年。3、判斷完后返回。關(guān)鍵詞: AX,BUF,CALL,DATACATE,IFYEARS目錄1設(shè)計目的12概要設(shè)計22.1 系統(tǒng)總體分析22.2 主模塊框圖及說明23 詳細(xì)設(shè)計33.1 主模塊及子模塊說明33.2 各模塊詳細(xì)設(shè)計34程序調(diào)試74.1 運(yùn)行界面分析74.2 算法的分析74.3 調(diào)試過程及分析85心得體會95.1 設(shè)計體會95.2 系統(tǒng)改進(jìn)9參考文獻(xiàn)10I安徽理工大學(xué)課程設(shè)計(論文)1設(shè)計目的本次課程設(shè)計是關(guān)于判斷閏年的程序,既輸入具體的年份,輸出本年是否為閏年的提示信息,然后退出此程序。 本次課程設(shè)計的目的主要是將課堂上所學(xué)的知識學(xué)以致用,通過程序的制作過程學(xué)習(xí)課外的新知識,并加強(qiáng)加深對舊知識的理解與掌握。2概要設(shè)計2.1 系統(tǒng)總體分析總體設(shè)計思想本程序是用匯編語言編寫的簡單的判斷閏年的小程序。在運(yùn)行后,屏幕會提示輸入年份,輸入后程序會自動判斷輸入的年份是否為閏年。判斷某年為閏年的匯編語言表達(dá)式為:(AX) MOD 4 EQ 0) AND (AX) MOD 100 EQ 0) OR (AX) MOD 400 EQ 0)其中,(AX)中存放的是從鍵盤輸入的年份值。在本程序運(yùn)行后,只要輸入年份就能判斷是否為閏年。完成的主要功能1、在屏幕上顯示提示信息,輸入年份。2、判斷輸入的年份是否為閏年。3、判斷完后返回。2.2 主模塊框圖及說明主模塊框圖如圖2-1圖2-1本框圖列出了此次課程設(shè)計的總流程,顯示信息,輸入數(shù)據(jù),判斷格式,判斷閏年和結(jié)束程序??陀^顯示了設(shè)計的順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)及分支結(jié)構(gòu)。3 詳細(xì)設(shè)計3.1 主模塊及子模塊說明判斷輸入模塊:模塊是對輸入的年份的格式的判斷,若是錯誤則退出本程序,正確則進(jìn)行下面的操作。字符串轉(zhuǎn)換格式模塊:此模塊是將數(shù)字字符串轉(zhuǎn)換成數(shù)字,以便進(jìn)行下面的模塊。判斷閏年模塊:此模塊是判斷輸入的年份是否為閏年,若是則輸出“This is a leap year!”,若不是則輸出“This is not a leap year!”,然后退出。3.2 各模塊詳細(xì)設(shè)計定義數(shù)據(jù)段,將輸入的數(shù)據(jù)放到buf中。data segment ;定義數(shù)據(jù)段 infon db 0dh,0ah,Please input a year: $ i db 0dh,0ah,quit"q" $ Y db 0dh,0ah,This is a leap year! $ N db 0dh,0ah,This is not a leap year! $ e db 0dh,0ah,no year! $ w dw 0 buf db 8 db ? db 8 dup(?)data ends將地址放到al中,然后取出字符串里面的每一個字符與回車鍵比較相等則跳轉(zhuǎn)到a5,不等與9比較,比9大跳轉(zhuǎn)到a0,不等與0比較,比0小,跳轉(zhuǎn),否則指向下一個字符。zm: mov al,di cmp al,0dh jz a5 cmp al,9 jg a0 cmp al,0 jl a0 inc di jmp zm 將zm跳轉(zhuǎn)的字符串放到a5中通過 datacate和ifyears兩個子程序 檢驗其是否為閏年,是(CF=1)執(zhí)行a1,否(CF=0)執(zhí)行a2,然后跳轉(zhuǎn)到結(jié)束段。 a5: call datacate call ifyears jnc a2 ;有進(jìn)位 jc a1 ;無進(jìn)位 a1: lea dx,y a2: lea dx,n輸出“q”,執(zhí)行退出功能,結(jié)束本實驗。 exit: mov ah,0 int 16h cmp ah,71h mov ah,4ch int 21h retdatacate子程序?qū)⒆址D(zhuǎn)換為數(shù)字存到w變量中。datacate proc near ;用于把表示年份的字符串轉(zhuǎn)換為數(shù)值 push cx; ;進(jìn)棧操作,保存cx,即字符個數(shù) dec cx ;讓cx寄存器自減1 lea si,buf+2 ;把字符串的首地址保存在源地址寄存器SI中 tt1: inc si ;si寄存器中內(nèi)容增1 loop tt1 ;loop是循環(huán)語句 pop cx ;出棧操作,與55行進(jìn)棧操作相呼應(yīng) mov dh,30h mov bl,10 mov ax,1 l1:push ax ;入棧操作, sub byte ptr si,dh ;由于字符是ASCII碼表示的,因此減去30H后即可轉(zhuǎn)換為十六進(jìn)制數(shù) mul byte ptr si ;計算ax乘以字符數(shù)字 add w,ax ;把計算結(jié)果累加,并保存在w中 pop ax ;出棧操作,去除上一次操作后的倍數(shù) mul bl ;乘以bl,計算當(dāng)前的倍數(shù) dec si ;修改源地址寄存器si的值 loop l1 ;循環(huán)直到所有字符處理完畢 ret ;子程序返回指令datacate endpifyears子程序是判斷閏年的模塊,將數(shù)據(jù)與“4”相除,若dx不為“0”跳轉(zhuǎn)到la1,令CF=1否與“100”,相除,若dx不為“0”跳轉(zhuǎn)到la2,令CF=0否與“400” 相除,若dx為“0”跳轉(zhuǎn)到la2,令CF=1否則CF=0 ifyears proc near ;此子程序用來判斷年份是否為閏年 push bx ;將寄存器實行入棧操作是為了保存寄存器狀態(tài) push cx push dx mov ax,w ;把轉(zhuǎn)換后的年份的數(shù)值存入AX mov cx,ax ;把AX中存儲的年份的數(shù)值存入CX,作用是復(fù)制一個年份數(shù)值, mov dx,0 ;把0存放到寄存器dx中 mov bx,4 ;把4存放到寄存器bx中(除數(shù)) div bx ;除法指令 cmp dx,0 ;將dx中的余數(shù)與0進(jìn)行比較,看似否整除 jnz lab1 ;JNZ用來判斷比較的結(jié)果,如果有不等的數(shù)據(jù)則跳轉(zhuǎn)。(zf=1則轉(zhuǎn)移) mov ax,cx ;將前面復(fù)制到cx寄存器中的年份的數(shù)值傳給ax mov bx,100 ;將100賦給bx寄存器,做div的源操作數(shù) mov dx,0 div bx cmp dx,0 ;將dx中的余數(shù)與0進(jìn)行比較,看似否整除 jnz lab2 ;JNZ用來判斷比較的結(jié)果,如果有不等的數(shù)據(jù)則跳轉(zhuǎn)。(zf=1則轉(zhuǎn)移) ;判斷年份是否位400的整數(shù)倍 mov ax,cx mov bx,400 mov dx,0 div bx cmp dx,0 jz lab2 lab1: clc ;清除進(jìn)位標(biāo)志,即非閏年(進(jìn)位標(biāo)志用于標(biāo)志是否為閏年) jmp lab3 ;jmp無條件轉(zhuǎn)移 lab2: stc ;設(shè)置進(jìn)位標(biāo)志,即閏年 lab3: pop dx ;出棧操作,寄存器狀態(tài)。 pop cx pop bx ret ;子程序返回指令 ifyears endp4程序調(diào)試4.1 運(yùn)行界面分析初始界面:如圖4-1圖4-1按照提示輸入年份如2004按回車執(zhí)行程序,界面如圖4-2圖4-2顯示“This is a leap year!”若不是閏年則顯示,如圖4-3圖4-3若輸入錯誤則顯示如圖4-4圖4-4最后按提示輸入“q”退出本程序。4.2算法的分析 本程序主要是將各個模塊組合來完成一個目標(biāo)及判斷閏年。通過主程序的調(diào)集子程序,將各個子程序的功能整合起來,完成實驗?zāi)康摹?.3 調(diào)試過程及分析 (1)此程序中隊buf的地址地存放了解不夠,它是從第二位開始的,在編譯過程中,使顯示總是錯誤。(2)本程序用了很多的跳轉(zhuǎn),如:jz、jg、jl等,使用時要注意防止它們跳轉(zhuǎn)的格式,使用范圍,如:jg、jl它們是帶符號位比較轉(zhuǎn)移指令。5心得體會5.1 設(shè)計體會將近一周的課程設(shè)計,使我了解了匯編語言的基本的編程,雖然這次設(shè)計的只是一個小程序,但是這其間我還是學(xué)到了不少東西。在這次課程設(shè)計的過程,我得到來自老師以及同學(xué)們的幫助和鼓勵,致使最后圓滿完成預(yù)期任務(wù)。在設(shè)計過程中在做這個課程設(shè)計過程中,我深深感受到自己所掌握知識還是不足,已掌握也不牢固是遇到的一些棘手的問題不能解決,比如,buf地址的移動,年份的字符串轉(zhuǎn)換為數(shù)值,判斷閏年的語法實現(xiàn)等問題,但是,我通過詢問同學(xué),以及查詢資料最終獲得了解決,由此我們深刻體會到,只有在實際編程我們才能認(rèn)識到自己的不足,才能進(jìn)而進(jìn)行彌補(bǔ)來使自己的編程水平有所提高。這次課程設(shè)計也加深了對匯編語言這門課的認(rèn)識,匯編語言課程主要是研究軟件到硬件的程序設(shè)計問題,它是計算機(jī)能夠提供給用戶使用的最快而又最有效的用語言,也是能夠利用計算機(jī)所有硬件特性并直接控制硬件的唯一語言。并且通過本次課程設(shè)計,我的思維能力、綜合應(yīng)用能力和專業(yè)素質(zhì)得到提高。本程序雖然已經(jīng)完成了課程設(shè)計的需求,但是就應(yīng)用上來說還是不完整的。由于時間倉促,故只提出一些改進(jìn)的思想。最后,感謝老師,以及同學(xué)們對我的幫助。5.2 系統(tǒng)改進(jìn)由于時間比較緊,對程序的設(shè)計還不夠完美,只是設(shè)計出了程序的大體功能。對于界面還有待繼續(xù)設(shè)計。在以后完善程序的過程中,可以加上運(yùn)行一次程序多次判斷閏年等功能,此功能可通過利用選擇語句來判斷程序是否繼續(xù)執(zhí)行跳轉(zhuǎn)來重新進(jìn)行本程序,并且系統(tǒng)還有很多地方需要去改善,使其更為簡潔易懂。參考文獻(xiàn)1 李敬兆, 8086/8088和arm核匯編語言程序設(shè)計 中國科技大學(xué)出版社2 陳夠喜等著,微機(jī)原理應(yīng)用實驗教程. 北京:人民郵電出版社,2006.3 劉全忠,匯編語言實用程序.天津:天津大學(xué)出版社,1991.6.4 劉樂善,微型計算機(jī)接口技術(shù)及應(yīng)用.武漢:華中科技大學(xué)出版社,2004.5 譚硫安 張雪蘭,windows匯編語言程序設(shè)計教程:電子工業(yè)大學(xué)出版社,2005.46 張光長,匯編語言程序設(shè)計:北京大學(xué)出版社,2009.77 沈美明,溫冬嬋 編著IBMPC匯編語言程序設(shè)計(第二版) 清華大學(xué)出版社8 周荷琴,微型計算機(jī)與接口技術(shù).合肥:中國科學(xué)技術(shù)大學(xué)出版社,2004.12.-10-

注意事項

本文(匯編 判斷閏年 課程設(shè)計報告.doc)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!