資源描述:
《匯編語言課程設(shè)計報告報告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、WORD格式可編輯匯編語言課程實(shí)習(xí)報告實(shí)習(xí)題目計算比賽成績學(xué)生姓名蔡潔敏班級(學(xué)號)計科1123班201211621301院系信息學(xué)院計算機(jī)系指導(dǎo)老師葉曉霞提交時間2014年5月28日成績專業(yè)技術(shù)資料整理分享WORD格式可編輯目錄1課程實(shí)習(xí)任務(wù)……………………………………………………………………22基本知識…………………………………………………………………………22.1匯編語言程序結(jié)構(gòu)………………………………………………………32.2關(guān)鍵指令分析……………………………………………………………42.3
2、匯編語言上機(jī)過程………………………………………………………43總體分析…………………………………………………………………………53.1程序功能分析……………………………………………………………53.2設(shè)計思路…………………………………………………………………53.3程序框圖…………………………………………………………………64代碼實(shí)現(xiàn)………………………………………………………………………75調(diào)試過程及操作說明…………………………………………………………116總結(jié)…………………………………………………
3、…………………………127參考文獻(xiàn)………………………………………………………………………12專業(yè)技術(shù)資料整理分享WORD格式可編輯1課程實(shí)習(xí)任務(wù)計算比賽成績系統(tǒng)基本功能:(1)有9名評委,每個評委給分范圍為0~10(整數(shù)):由鍵盤輸入;(2)9名評委給分中,去掉一個最高分和一個最低分,剩余7名評委的平均分即為參賽者的得分(精確到小數(shù)點(diǎn)后二位,不考慮四舍五入);(3)將最后得分在光標(biāo)位置處顯示出來。2基本知識2.1匯編語言程序結(jié)構(gòu)匯編語言是計算機(jī)能夠提供給用戶使用的最快而又最有效的語言,也是能夠利用計
4、算機(jī)所有硬件特性并能控制硬件的唯一語言。也因此匯編語言的程序結(jié)構(gòu)也是多種多樣的,我們熟知的結(jié)構(gòu)有循環(huán)、分支程序、子程序和宏匯編。而循環(huán)程序又有簡單循環(huán)和多重循環(huán),最重要的是我們要控制好循環(huán)的次數(shù);分支程序則是由設(shè)定條件不同而跳轉(zhuǎn)到不用的分支,來實(shí)現(xiàn)不同的功能;子程序則是我們?yōu)榱税颜麄€程序模塊化,使得讀程序的人容易理解你的程序功能;宏則是一種另類的子程序,是有些程序?yàn)榱四茉跁r間上達(dá)到嚴(yán)格的要求和一些功能代碼簡短的多參數(shù)傳遞的程序?yàn)榱朔奖銋?shù)傳遞而使用的,而犧牲一點(diǎn)點(diǎn)空間來實(shí)現(xiàn),當(dāng)然宏和子程序的工作機(jī)制
5、也是不同的。2.2關(guān)鍵指令分析2.2.1數(shù)據(jù)傳送指令mov指令:mov指令可以在CPU內(nèi)或CPU和存儲器之間傳送字或者字節(jié)。PUSH和POP指令:這兩條分別是堆棧的進(jìn)棧和出棧指令。XCHG指令:它可以在寄存器之間或者在寄存器和儲存器之間交換信息。2.2.2地址傳送指令LEA指令:將源操作數(shù)的有效地址送到指定的寄存器中。不能使用段寄存專業(yè)技術(shù)資料整理分享WORD格式可編輯器,源操作數(shù)可以使用除立即數(shù)和寄存器外的任一種寄存器尋址方式。2.2.3類型轉(zhuǎn)換指令CBW指令:將AL的內(nèi)容符號擴(kuò)展到AH,形成AX
6、中的字2.2.4算數(shù)指令A(yù)DD指令:進(jìn)行加法操作INC指令:自加1SUB指令:進(jìn)行減法操作DEC指令:自減1CMP指令:將兩個操作數(shù)進(jìn)行減法操作,但不保存結(jié)果,只設(shè)置條件標(biāo)志位MUL指令:進(jìn)行無符號乘法操作DIV指令:進(jìn)行無符號除法操作2.2.5邏輯指令A(yù)ND指令:進(jìn)行邏輯與操作,見0得0OR指令:進(jìn)行邏輯或操作,見1得1XOR指令:進(jìn)行異或操作,相同得0,不同得12.2.6控制轉(zhuǎn)移指令JMP指令:無條件跳轉(zhuǎn)到指定位置條件轉(zhuǎn)移指令:根據(jù)上一條指令所設(shè)置的條件碼來判別測試條件,每一種轉(zhuǎn)移指令有它的測試
7、條件,滿足測試條件則轉(zhuǎn)移到指令指定的位置LOOP指令:當(dāng)測試條件碼CX不為0時,循環(huán)指定程序段CALL指令:把子程序的返回地址存入棧中,以便子程序返回主程序時調(diào)用RET指令:轉(zhuǎn)移到子程序的入口地址去繼續(xù)執(zhí)行2.3匯編語言上機(jī)過程上機(jī)過程是我們編寫好程序后驗(yàn)證的最好手段,也是我們對我們寫得程序進(jìn)行調(diào)試必不可少的一個過程。上機(jī)過程我們首先要把我們編寫的程序在編譯器里對它進(jìn)行編譯看看是否有語法上的錯誤,然后編譯生成.obj文件,最后連接生成可執(zhí)行文件.exe,然后我們要對生成的可執(zhí)行文件進(jìn)行調(diào)試,看看是否
8、有邏輯上的錯誤,如果有邏輯上的錯誤那么我們還要對程序進(jìn)行修改,知道沒有邏輯上的錯誤時,我們就可以運(yùn)行程序,并得到我們想要的結(jié)果了。上機(jī)過程大概課分為四部分:編輯、編譯、調(diào)試、運(yùn)行。專業(yè)技術(shù)資料整理分享WORD格式可編輯只有通過上機(jī)過程你才能發(fā)現(xiàn)你的程序是否有邏輯上或者語法上的錯誤,最重要的是檢測運(yùn)行結(jié)果是不是你理論上的結(jié)果。我們只有在上機(jī)過程中才能發(fā)現(xiàn)問題,然后解決問題,最終得到我們想要的結(jié)果。3.總體分析3.1程序功能分析通過讀取依次從鍵盤輸入的9個兩位的十進(jìn)制數(shù)得