版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)說(shuō)明書(shū)N0.11顯示數(shù)字對(duì)稱(chēng)等腰三角形1課程設(shè)計(jì)的目的本次課程設(shè)計(jì)為了鞏固和加深課堂所學(xué)知識(shí),將課本上的理論知識(shí)和實(shí)際應(yīng)用有機(jī)的結(jié)合起來(lái),培養(yǎng)我的分析和解決實(shí)際問(wèn)題的能力。通過(guò)對(duì)匯編語(yǔ)言程序代碼的閱讀、修改、設(shè)計(jì),理解和掌握復(fù)雜的匯編語(yǔ)言應(yīng)用程序的編程,提高實(shí)踐編程能力。這個(gè)課程設(shè)計(jì),能夠顯示一個(gè)由從一到八的數(shù)字組成的左右對(duì)稱(chēng)的三角形,給等腰三角形加彩色邊框,并且能在三角形的下方顯示自己的學(xué)號(hào)姓名。2設(shè)計(jì)方案論證2.1開(kāi)發(fā)環(huán)境軟件環(huán)境:操作系統(tǒng): Win dows 8 64位(DirectX 11)、BIOS系統(tǒng)DOS系統(tǒng)硬件環(huán)境:處理器:英特爾 第三代酷睿i3-3110M 2.40G
2、Hz雙核內(nèi)存:4GB(三星 DDR3 1333MHz)主硬盤(pán):希捷 ST500LM012 HN-M500MBB (500GB/5400 轉(zhuǎn)/分)顯示器:三星 SEC3649(14英寸)MASMT發(fā)環(huán)境:Masm是匯編編譯器,是微軟公司開(kāi)發(fā)的匯編開(kāi)發(fā)環(huán)境,擁有可視化的開(kāi)發(fā)界面,使開(kāi)發(fā)人員不必再使用DOS環(huán)境進(jìn)行匯編的開(kāi)發(fā)的優(yōu)點(diǎn),支持偽指令和宏匯編, 最后編譯生成obj文件,通過(guò)link工具連接成可執(zhí)行文件exe。使用步驟為:a使用編輯軟件TE.EXE進(jìn)行源程序的編寫(xiě)。b使用匯編軟件MASM.EXE對(duì)源程序匯編。c使用連接軟件LINK.EXE對(duì)目標(biāo)文件進(jìn)行連接。d使用調(diào)試軟件DEBUG.EXE對(duì)可
3、執(zhí)行程序進(jìn)行調(diào)試。2.2總體設(shè)計(jì)功能本程序分為5個(gè)部分,運(yùn)行程序,首先會(huì)顯示主界面,用戶可依據(jù)提示選擇不同的編號(hào),實(shí) 現(xiàn)不同的功能:當(dāng)用戶通過(guò)鍵盤(pán)輸入1時(shí),程序執(zhí)行顯示數(shù)字對(duì)稱(chēng)三角形功能,在運(yùn)行界面 顯示輸出的對(duì)稱(chēng)三角形。當(dāng)用戶通過(guò)鍵盤(pán)輸入2時(shí),程序執(zhí)行將三角形邊框用彩色顯示功能。2.3詳細(xì)設(shè)計(jì)功能2.3.1輸出數(shù)字對(duì)稱(chēng)三角形功能該子程序能夠?qū)崿F(xiàn)從鍵盤(pán)讀取字符1后輸出數(shù)字等腰三角形圖2輸出數(shù)字對(duì)稱(chēng)三角形程序流程框圖232數(shù)字對(duì)稱(chēng)三角形邊框著色功能該子程序能夠?qū)崿F(xiàn)從鍵盤(pán)讀取字符 2后將輸出數(shù)字等腰三角形外圍數(shù)字用給定顏色顯示 出來(lái)。圖3三角形外圍數(shù)字著色程序流程框圖2.3.3姓名學(xué)號(hào)顯示功能該子
4、程序能夠?qū)崿F(xiàn)從鍵盤(pán)讀取字符3后在輸出數(shù)字等腰三角形下方顯示給定的姓名學(xué)號(hào)。開(kāi)始V從鍵盤(pán)讀取字符N是否為Y在三角形下方輸出姓名學(xué)號(hào)輸出錯(cuò)誤結(jié)束圖4姓名學(xué)號(hào)顯示程序流程框圖234退出功能該子程序能夠?qū)崿F(xiàn)從鍵盤(pán)讀取字符 4后退出運(yùn)行的程序2.3.5提示錯(cuò)誤功能該子程序能夠?qū)崿F(xiàn)從鍵盤(pán)讀取字符不是1 2 3 4后輸出In valid in put !以提示錯(cuò)誤。圖6提示錯(cuò)誤程序流程框圖START標(biāo)志著程序開(kāi)始執(zhí)行;ZHU模塊的功能是從鍵盤(pán)讀取數(shù)據(jù)并判斷函數(shù)的下一步執(zhí)行情況,是最主要的模塊之一; SHUCHU1,SHUCHU2,SHUCHU3,SHUCHU4分別表示按下數(shù)字鍵 1 2 3 4后程序跳到該段
5、開(kāi)始執(zhí)行,屬于主要的分支模塊;DY1實(shí)現(xiàn)了打印數(shù)據(jù)的功能,其中,L0P2F實(shí)現(xiàn)打印左邊數(shù)據(jù),LOP2F0實(shí)現(xiàn)對(duì)左邊邊沿?cái)?shù)據(jù)的 著色L0P2G實(shí)現(xiàn)打印右邊數(shù)據(jù),LOP2G0實(shí)現(xiàn)對(duì)右邊邊沿?cái)?shù)據(jù)的著色;CRLF可以實(shí)現(xiàn)數(shù) 據(jù)輸出前對(duì)磁盤(pán)的初始化,OUTX用于顯示輸出字符,SPACE用于對(duì)數(shù)據(jù)輸出時(shí)輸出數(shù)據(jù) 地址的清空,DISPLAY實(shí)現(xiàn)打印要輸出的字符;CLRSLR的功能是清標(biāo)準(zhǔn)屏子程序;WRITECC為色彩字符輸出子程序。在打印左邊數(shù)據(jù)時(shí),CL、AH用于判斷打印的數(shù)據(jù)是否在左邊邊沿,CL、BH用于判斷打印的數(shù)據(jù)是否屬于左邊數(shù)據(jù)的最后一行;在打印右邊數(shù)據(jù) 時(shí),AH用于判斷打印數(shù)據(jù)是否屬于右邊數(shù)據(jù)的最
6、后一行,BL用于判斷打印的數(shù)據(jù)是否在右邊邊沿;AL用于存放將要打印的數(shù)據(jù);CH用于判斷打印是否該結(jié)束;DL存放打印字符 的ASCLL碼,DH存放打印字符的顏色值。3設(shè)計(jì)結(jié)果與分析3.1調(diào)試程序啟動(dòng) DEBUG : DDEBUG EXAM1.EXEA匯編-A14CA:0000U反匯編:kuL4Gft;0000B8A314MOUAH14A314CA:08033ED9MOUDSAM丄4CA0905B601HOUDllSI140ft;0007B561MOUCHSI14CA:000?B402MOUAHB2000DB700MOUEH001 4CfiH00DB60BMOUDHOF14CA:000FB20&M
7、OUDioee1 4Cfi :0911CD101NJISI 4GA ;9013E8FC0BGRLL8112am.6MOUDM,BS1QL4Gfi:HUI?B4M?nouAH.89091DCD21INI21丄 4GA;001DB401NOURL14Cft!001 pCD211NT21T單步執(zhí)行:FTnK=14A3CH-0409DK-3000SP=0200 BP-0000 SI=0600TI-0000OS =1493 ES =1-193 SS14Afi CS=14CA TP=0003 NU UP El FL NZ NA P0 NC 14CAJ0003 6ED8rtOU DS.AKG執(zhí)行:1 shu
8、jchussin j :Laci 就空 ngHOU14Cft:0019 B409NOUAH網(wǎng)2calor01B CD21INI213name and studentlDHOUmi4quitlnvlid input ._r;I NT213.2運(yùn)行程序?qū)R編源代碼在匯編軟件MASM.EXE的匯編下生產(chǎn) DY.obj文件,用連接軟件LINK.EXE對(duì)目標(biāo)文件DY.obj,進(jìn)行連接生成可執(zhí)行文件 DY.exe文件。其文件生成過(guò)程如圖所示。在DOS的操作環(huán)境下,運(yùn)行模擬顯示這個(gè)匯編程序,運(yùn)行的結(jié)果如圖7所示。(3)當(dāng)用戶輸入字符 2程序執(zhí)行功能2,結(jié)果如下圖所示222 2222111 i t4 1 丄
9、T-I222-2-222shuchusanjiaoxmgco loi*name anil student ID qu it I n ua lid iinpulb !圖9功能2運(yùn)行結(jié)杲(4) 當(dāng)用戶輸入字符 3程序執(zhí)行功能3,結(jié)果如下圖所示圖10功能3運(yùn)行結(jié)果(5) 當(dāng)用戶輸入字符 4程序退出課程設(shè)計(jì)說(shuō)明書(shū)NO.12(6) 當(dāng)用戶輸入除上述字符以外其他鍵,程序提示錯(cuò)誤,結(jié)果如下圖所示EXE-口InuAlid input *Is hue htts anj iaoxiny2co lorand studentLD 4quitJ 圖11提示錯(cuò)誤功能運(yùn)行結(jié)果課程設(shè)計(jì)說(shuō)明書(shū)N0.224總結(jié)在短暫幾天的時(shí)間里
10、,匯編語(yǔ)言課程設(shè)計(jì)結(jié)束了,我的收獲很大。通過(guò)課程設(shè)計(jì)的編程和對(duì) 編程過(guò)程中遇到的問(wèn)題的思考,有效的提高了我對(duì)匯編的認(rèn)識(shí)和理解, 切實(shí)的提高了我的編 程能力,補(bǔ)全了我的不足。通過(guò)這次課程設(shè)計(jì),我鞏固了學(xué)過(guò)的知識(shí),進(jìn)一步掌握了各個(gè)指 令的功能,特別是轉(zhuǎn)向指令,掌握了子程序的定義及調(diào)用,以及正確地運(yùn)用DEBUG指令,進(jìn)一步了解到了匯編語(yǔ)言的一些基本的指令,以及各個(gè)寄存器的功能及使用的方法。在整個(gè) 程序的編寫(xiě)中,調(diào)試占了很大部分的時(shí)間。要想寫(xiě)好匯編語(yǔ)言的程序,必須認(rèn)真對(duì)待代碼的 每一個(gè)細(xì)節(jié),這對(duì)程序的調(diào)試是非常重要的。通過(guò)這次實(shí)際動(dòng)手能力的培養(yǎng),我進(jìn)一步熟悉 了匯編語(yǔ)言的結(jié)構(gòu)和使用方法,基本達(dá)到了能獨(dú)
11、立閱讀、編制和調(diào)試一定規(guī)模的匯編語(yǔ)言程 序的水平。在這次程序設(shè)計(jì)的過(guò)程中,在設(shè)計(jì)的過(guò)程中不斷地修改,改進(jìn),增強(qiáng)了自己分析問(wèn)題 解決問(wèn)題的能力;在不斷地調(diào)試過(guò)程中,不斷的發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,通過(guò)查資料,翻閱相 關(guān)的書(shū)籍,以及向同學(xué)們請(qǐng)教,來(lái)逐一的解決各個(gè)問(wèn)題。同時(shí)也更深的了解到了寄存器,存 儲(chǔ)器等的工作原理以及需要注意的一些問(wèn)題。此次課程設(shè)計(jì)收獲頗多,不僅僅是體會(huì)到了分析問(wèn)題,想出解決方案的重要性,更是 在編寫(xiě)代碼轉(zhuǎn)換這一程序的過(guò)程中,了解到每一個(gè)系統(tǒng)都是由許多的子功能組成的, 我們?cè)?編寫(xiě)的過(guò)程中,可以先把每一個(gè)子功能分開(kāi)編寫(xiě),這樣更容易發(fā)現(xiàn)錯(cuò)誤,盡快的想出解決的 方法,在將每一個(gè)子功能編寫(xiě)完
12、畢后,逐一的將它們嵌入到主菜單中去,實(shí)現(xiàn)一個(gè)完整的系 統(tǒng)。另外,在每一個(gè)子功能的編寫(xiě)過(guò)程中,需要十分的注意到各個(gè)變量名的統(tǒng)一化,以便于將其嵌入到主菜單中去,在編寫(xiě)標(biāo)識(shí)符的名字的時(shí)候,盡量要做到看名字知其含義,使程序的可讀性進(jìn)一步增高。在編寫(xiě)代碼轉(zhuǎn)換程序的過(guò)程中,更是體會(huì)到了科學(xué)的嚴(yán)謹(jǐn)性,每一個(gè)小小的錯(cuò)誤都不 容忽視,再細(xì)小的地方都需要注意,否則將會(huì)導(dǎo)致程序的錯(cuò)誤。不管在做什么,都需要十分 的認(rèn)真和謹(jǐn)慎,將每一步都做到最好。當(dāng)設(shè)計(jì)一步步接近成功,每一個(gè)子功能調(diào)試正確,都會(huì)讓自己感到很高興,從中體會(huì) 到了編程的樂(lè)趣,讓自己更有信心,增強(qiáng)了對(duì)匯編語(yǔ)言程序設(shè)計(jì)的興趣。5參考文獻(xiàn)1楊文顯,宓雙,胡建人新
13、編匯編語(yǔ)言程序設(shè)計(jì)M,北京:清華大學(xué)出版社,2010: 20-582朱玉龍,任文覽等匯編語(yǔ)言程序設(shè)計(jì)M,北京:清華大學(xué)出版社,2003: 67-893吳向軍等.匯編語(yǔ)言程序設(shè)計(jì)M,北京:高等教育出版社,2002: 98-1194沈美明等.IBM-PC匯編語(yǔ)言及程序設(shè)計(jì)實(shí)驗(yàn)教程M,北京:清華大學(xué)出版社,2001:45-67 錢(qián)曉捷等匯編語(yǔ)言程序設(shè)計(jì)M,北京:電子工業(yè)出版社,2000: 1-246李珍香等.匯編語(yǔ)言程序設(shè)計(jì)案例精編M,北京:中國(guó)水利水電出版社,2004:5-167白小明.匯編語(yǔ)言程序設(shè)計(jì)M,北京:中國(guó)鐵道出版社,2009:56-768王成耀,姚琳匯編語(yǔ)言程序設(shè)計(jì)M,北京:機(jī)械工業(yè)出
14、版社,2003:34-469范立南,謝子殿.單片機(jī)原理及應(yīng)用教程M.北京:北京大學(xué)出版社,2006.1: 123-13010沈美明等.IBM-PC匯編語(yǔ)言及程序設(shè)計(jì)實(shí)驗(yàn)教程M,北京:清華大學(xué)出版社,2001.2:101-1136.附錄源代碼:DATASEGMENTNUMnumODB 0AH,0DH,F1459106 lizhiho ng,0ah,0dh,$DB 0AH, 0DH,DB 0AH, 0DH,DB 0AH, 0DH,DB 0AH, 0DH,1shuchusanjiaox in g, 0AH, 0DH2color3n ame and stude ntID4quitnum1DATAdb
15、In valid in put !,$ENDSSTAKSEGMENTSTACKSTAKDW 100H DUPENDSCODESEGMENTSTART:ASSUME CS:CODE,SS:STAK,DS:DA TAMOV AX,DATAMOV DS,AX =MAIN()=MOV DH,1MOV CH,01HZHU:mov ah,02hmov bh,0mov dh,11 ;設(shè)置提示行號(hào)mov dl,6;設(shè)置提示列號(hào)int 10hCALL CRLFMOV DX,offset NUM0mov ah,9int 21h;顯示提示MOV AH,01hINT 21Hmov ah,0hint 16hCMP AL
16、,31hJE SHUCHU1CMP AL,32hJE SHUCHU2CMP AL,33hJE SHUCHU3CMP AL,34hJE overcall clrscrmov ah,02hmov bh,0mov dh,10 ;設(shè)置提示行號(hào) mov dl,0;設(shè)置提示列號(hào)int 10hMOV DX,OFFSET NUM1 mov ah,9int 21hjmp zhuSHUCHU1:mov ah,01hint 21hcmp al,0dh jne zhuCALLCLRSCRCALL CRLFCALL CRLFmov dh,14CALL DY1JMP ZHUSHUCHU2:mov ah,01hint 21
17、hcmp al,0dh jne zhuCALLCLRSCRCALL CRLFCALL CRLF mov dh,0CALL DY1JMP ZHUSHUCHU3:mov ah,01h int 21h cmp al,Odh jne zhuCALLCALLCALLCLRSCRCRLFCRLFmov dh,0CALLDY1MOVDX,OFFSET NUMMOVAH,9INT21H;MOVAH,1;INT21HJMPZHUOVER:MOVAH,4CHINT21HDY1 PROC NEARpushaxpushbxpushexpushdxLOP2:;PRINT SPACEMOVCL,11SUBCL,CHLOP
18、2E: CALLSPACEDECCLJNZLOP2E;PRINT 左-MOVCL,CHmov bh,8mov ah,8;ah 左邊延LOP2F: CMPCL,1JLLOP2FEXITcmp bh,ahje lop2F0cmpbh,el;bh 左下jz lop2F0MOVAL,CLCALLDISPLADECCLJMPLOP2Flop2F0:;mov dh,2mov dl,cl add dl,0 call writecc dec cl dec bh inc ah jmp lop2FLOP2FEXIT:;PRINT 左-E nd- ;PRINT 右MOV CL,CH mov bl,7 ;右邊延 mo
19、v ah,1 ;ah 右下 MOV BH,2LOP2G: DEC CLJZ LOP2GEXIT cmp bl,cl je lop2G0 cmp ah,cl jz lop2G0MOV AL,BH CALL DISPLA INC BHJMP LOP2G lop2G0:mov dl,bh add dl,0 call writecc dec bl dec ah inc bh jmp lop2GLOP2GEXIT:;PRINT 右-E nd-CALLINC CMP JBECRLFCHCH,8LOP2popdxpopexpopbxpopRETaxDY1ENDPCRLFPROCNEARPUSHAXPUSHDXMOVAH,2MOVDL,0AHINT21HMOVDL,0DHINT21HPOPDXPOPRETAXCRLFENDPOUTXPROCNEARPUSHAXPUSHDXMOVAH,2INT21HPOPDXPOPRETAXOUTXENDPSPACEPROCNEARPUSHAXPUSHDXMOVAH,2MOVDL,INT21HSPACEPOPPOPRETENDPDXAXDISPLAPROCNEARPUSHDXMOVDL,ALADDDL,0CALLOUTXPOPDXRETDISPL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六盤(pán)水師范學(xué)院《農(nóng)民畫(huà)綜合材料創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 焦作師范高等專(zhuān)科學(xué)?!睹佬g(shù)課程設(shè)計(jì)與開(kāi)發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新蘇教版一年級(jí)下冊(cè)數(shù)學(xué)第1單元第1課時(shí)《9加幾》作業(yè)
- 華中師范大學(xué)《網(wǎng)球(2)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】第八章 運(yùn)動(dòng)和力+2024-2025學(xué)年人教版(2024)物理八年級(jí)下冊(cè)
- 河套學(xué)院《環(huán)境健康密碼》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶輕工職業(yè)學(xué)院《計(jì)算機(jī)組成及系統(tǒng)結(jié)構(gòu)》2023-2024學(xué)年第一學(xué)期期末試卷
- 駐馬店職業(yè)技術(shù)學(xué)院《制冷與空調(diào)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江藥科職業(yè)大學(xué)《數(shù)值模擬技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工商大學(xué)《多媒體數(shù)據(jù)分析與檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025南方財(cái)經(jīng)全媒體集團(tuán)校園招聘63人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《A機(jī)場(chǎng)公司人力資源管理工作實(shí)踐調(diào)研報(bào)告》2600字(論文)
- 社工人才培訓(xùn)計(jì)劃實(shí)施方案
- 6、水平四+田徑18課時(shí)大單元計(jì)劃-《雙手頭上前擲實(shí)心球》
- 青島版科學(xué)四年級(jí)下冊(cè)課程綱要
- 《無(wú)人機(jī)法律法規(guī)知識(shí)》課件-第1章 民用航空法概述
- 部編人教版六年級(jí)下冊(cè)語(yǔ)文1-6單元作文課件
- NB/T 11434.5-2023煤礦膏體充填第5部分:膠凝材料技術(shù)要求
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 手術(shù)器械與敷料的傳遞
- 提高護(hù)士手衛(wèi)生執(zhí)行率PDCA案例匯報(bào)課件(32張)
評(píng)論
0/150
提交評(píng)論