




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱(chēng): 微機(jī)應(yīng)用系統(tǒng)課程設(shè)計(jì) 專(zhuān) 業(yè) 班 級(jí) : 計(jì)科1204班 學(xué) 生 姓 名 : 張婷婷 學(xué) 號(hào) : 201216010433 指 導(dǎo) 教 師 : 王 鋒 課程設(shè)計(jì)時(shí)間: 2014.12.22-2015.1.3 計(jì)算機(jī)科學(xué)與技術(shù) 專(zhuān)業(yè)課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名張婷婷專(zhuān)業(yè)班級(jí)計(jì)科1204班學(xué)號(hào)201216010433題 目加法練習(xí)程序設(shè)計(jì)課題性質(zhì)A.工程設(shè)計(jì)課題來(lái)源自擬課題指導(dǎo)教師王 鋒同組姓名無(wú)主要內(nèi)容隨機(jī)給出百位數(shù)以?xún)?nèi)的加法算式,并提示輸入答案,若正確給出正確提示,若錯(cuò)誤給出錯(cuò)誤提示,并提示輸入答案;按 R 鍵繼續(xù)下一題,按 Q 鍵返回 DOS.任務(wù)要求一切以設(shè)計(jì)內(nèi)容為前提進(jìn)行課程設(shè)計(jì)實(shí)驗(yàn):1.設(shè)計(jì)一個(gè)菜單,選項(xiàng)為加法和減法的練習(xí)。2.以獲取系統(tǒng)中的秒和百分秒作為兩個(gè)隨機(jī)數(shù)進(jìn)行加減運(yùn)算。3.將輸入的答案和運(yùn)行結(jié)果比較,若相等給出正確提示,若錯(cuò)誤給出錯(cuò)誤提示,并繼續(xù)輸入答案直到正確為止。4.提示是否繼續(xù)下一題,按R鍵繼續(xù)下一題,按Q鍵返回 DOS。參考文獻(xiàn)1.16/32位微機(jī)原理、匯編語(yǔ)言及接口技術(shù)(第2版)-(北京電子工業(yè)出版社 2003)錢(qián)曉捷,陳濤 編著2.32位微型計(jì)算機(jī)原理與接口技術(shù)-(北京清華大學(xué)出版社 2000)仇玉章等 編著審查意見(jiàn)指導(dǎo)教師簽字:教研室主任簽字: 2015年 1 月 10日 一 課程設(shè)計(jì)實(shí)驗(yàn)的目的 課程設(shè)計(jì)的目的在于更好的鍛煉我們的實(shí)踐能力和考驗(yàn)平時(shí)學(xué)習(xí)的成果。我們是計(jì)算機(jī)專(zhuān)業(yè),離不開(kāi)編寫(xiě)代碼。平時(shí)上課所學(xué)的知識(shí)來(lái)自于課本,上機(jī)實(shí)驗(yàn)相對(duì)比較少,所能鍛煉的操作能力機(jī)會(huì)不多。而課程設(shè)計(jì)是讓我們綜合平時(shí)課本和實(shí)驗(yàn)的知識(shí)及經(jīng)驗(yàn),自己設(shè)計(jì)和構(gòu)造,編寫(xiě)一個(gè)相對(duì)完整的程序。這不僅僅是對(duì)以前知識(shí)的鞏固,更是鍛煉我們的思維,我們的設(shè)計(jì)與編寫(xiě)程序的能力。對(duì)于我們以后將會(huì)從事的計(jì)算機(jī)類(lèi)工作,這能很好的為我們打下堅(jiān)實(shí)的基礎(chǔ),所謂積少成多,每學(xué)期都做課程設(shè)計(jì),到畢業(yè)時(shí)我們對(duì)于編寫(xiě)一個(gè)應(yīng)用軟件或許就能較容易駕馭了。本次微機(jī)應(yīng)用系統(tǒng)課程設(shè)計(jì)我的題目是加法練習(xí)程序設(shè)計(jì),雖然只要求加法運(yùn)算,但我在該程序里添加了減法運(yùn)算,使得程序相對(duì)不會(huì)太單調(diào)。雖然給的編程題目可能會(huì)與別人一樣,但每個(gè)人的想法不一樣,在設(shè)計(jì)時(shí)添加自己的想法或許就能使程序更加完善了,這也是課程設(shè)計(jì)對(duì)我們的一種鍛煉。二 實(shí)驗(yàn)設(shè)計(jì)的任務(wù)與要求 加法練習(xí)設(shè)計(jì)程序的內(nèi)容是:隨機(jī)給出百位數(shù)以?xún)?nèi)的加法算式,并提示輸入答案,若正確給出正確提示,若錯(cuò)誤給出錯(cuò)誤提示,并提示輸入答案;按 R 鍵繼續(xù)下一題,按 Q 鍵返回 DOS。按照內(nèi)容要求,在所學(xué)知識(shí)內(nèi)容的基礎(chǔ)上設(shè)計(jì)程序,具體的內(nèi)容設(shè)計(jì)要求任務(wù)如下:1.設(shè)計(jì)一個(gè)菜單,選項(xiàng)為加法和減法的練習(xí)。2.以獲取系統(tǒng)中的秒和百分秒作為兩個(gè)隨機(jī)數(shù)進(jìn)行加減運(yùn)算。3.將輸入的答案和運(yùn)行結(jié)果比較,若相等給出正確提示,若錯(cuò)誤給出錯(cuò)誤提示,并繼續(xù)輸入答案直到正確為止。4.提示是否繼續(xù)下一題,按R鍵繼續(xù)下一題,按Q鍵返回 DOS。這次課程設(shè)計(jì)是在完成設(shè)計(jì)要求的基礎(chǔ)上,添加了減法練習(xí)運(yùn)算,以仔細(xì)、認(rèn)真、規(guī)范的態(tài)度完成自己課程設(shè)計(jì)。三 實(shí)驗(yàn)設(shè)計(jì)的思想加法練習(xí)程序設(shè)計(jì),主要工作是產(chǎn)生兩個(gè)兩位數(shù)的隨機(jī)數(shù)進(jìn)行加運(yùn)算,而怎么產(chǎn)生隨機(jī)數(shù)是該程序的難點(diǎn)。在搜集了一些資料后發(fā)現(xiàn)很多程序用的隨機(jī)數(shù)是偽隨機(jī),是一個(gè)比較復(fù)雜算法,而不使用算法獲得隨機(jī)數(shù)的方法就是獲取系統(tǒng)的時(shí)間。在翻閱課本后得知mov ah,2ch int 21h語(yǔ)句可以得到系統(tǒng)時(shí)間,在考慮后認(rèn)為秒和百分秒比較適合,因?yàn)樵诙虝r(shí)間內(nèi)這兩個(gè)時(shí)間變化的多一些,比較適合用于隨機(jī)數(shù)。Dh所存的數(shù)對(duì)應(yīng)的是秒,Dl所存的數(shù)對(duì)應(yīng)的是百分秒。加法直接將兩個(gè)隨機(jī)數(shù)相加即可,但減法就相對(duì)麻煩些,因?yàn)闀?huì)出現(xiàn)第一個(gè)隨機(jī)數(shù)比第二個(gè)隨機(jī)數(shù)小得到結(jié)果為負(fù)數(shù)。為了解決這一問(wèn)題,在數(shù)據(jù)段定義了兩個(gè)變量,用來(lái)存放減數(shù)和被減數(shù)。在獲取隨機(jī)數(shù)時(shí)先不顯示運(yùn)算式,先將隨機(jī)數(shù)的值給變量num1和變量mum2,如果相減結(jié)果小于0則轉(zhuǎn)回去繼續(xù)取隨機(jī)數(shù),直到取得隨機(jī)數(shù)相減記過(guò)大于0,則顯示運(yùn)算式繼續(xù)后面的程序運(yùn)行。相對(duì)較難的部分解決后則是將整個(gè)程序流程串起來(lái),先是顯示選擇加或減運(yùn)算,產(chǎn)生的隨機(jī)數(shù)并顯示相應(yīng)的運(yùn)算式;再是輸入結(jié)果,對(duì)結(jié)果進(jìn)行判斷給出對(duì)或錯(cuò)的提示,錯(cuò)誤時(shí)提示繼續(xù)輸入結(jié)果,對(duì)則繼續(xù)下一步;最后選擇是否繼續(xù)下一題,R返回最初加減運(yùn)算選擇,Q則退出。四 實(shí)驗(yàn)環(huán)境 4.1運(yùn)行環(huán)境(1)軟件環(huán)境 操作系統(tǒng):Windows 7(2)硬件環(huán)境 處理器:Inter Core i5 內(nèi)存:4.00GB 硬盤(pán)空間:500GB4.2開(kāi)發(fā)工具與編程語(yǔ)言 (1)開(kāi)發(fā)工具:Masm for Windows集成實(shí)驗(yàn)環(huán)境 V2012 (2)編程語(yǔ)言:匯編五 實(shí)驗(yàn)方案 先是設(shè)計(jì)了一個(gè)菜單,用于選擇進(jìn)行加法運(yùn)算還是減法運(yùn)算,菜單顯示來(lái)自數(shù)據(jù)段的字符串。選擇后變轉(zhuǎn)到j(luò)iafa或jianfa程序段中,調(diào)用產(chǎn)生隨機(jī)數(shù)的random1(秒)和random2(百分秒)程序段中并顯示運(yùn)算式。將輸入的答案通過(guò)show程序段將其轉(zhuǎn)換成ASCII碼顯示出來(lái),再由get程序段將輸入的答案轉(zhuǎn)換成對(duì)應(yīng)的數(shù),最后轉(zhuǎn)換成數(shù)的答案與計(jì)算機(jī)運(yùn)算結(jié)果比較,如果相減為0則對(duì),提示correct,否則輸入的答案是錯(cuò)的,提示error并讓其繼續(xù)輸入答案直到正確為止。在答案正確后,提示“Continue(R) or Exit(Q)?”是否繼續(xù)下一題,按R繼續(xù)下一題,按Q則返回DOS。開(kāi)始六 實(shí)驗(yàn)流程圖顯示菜單選擇加法練習(xí)算式減法練習(xí)算式輸入結(jié)果判斷結(jié)果對(duì)錯(cuò)?否是繼續(xù)下一題?是 否退出七 實(shí)驗(yàn)源代碼DATAS SEGMENT msg db *,0dh,0ah,$addp db * 1. Addition to practice *: ,0dh,0ah,$subp db * 2. Subtraction to practice *: ,0dh,0ah,$sele db Input your chioce: ,$corr db 20h,20h,Correct!,0dh,0ah,$erro db 20h,20h,Error!,0dh,0ah,$rorq db Continue(R) or Exit(Q)?,0dh,0ah,$exit db 0dh,0ah, Press any key to quit.,0dh,0ah,$sum dw 0 num1 dw 0 num2 dw 0DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXagain: mov dx,offset msgmov ah,09hint 21hmov dx,offset addpmov ah,09hint 21h mov dx,offset subpmov ah,09hint 21h mov dx,offset msgmov ah,09hint 21hselect:call huanmov dx,offset selemov ah,09hint 21hmov ah,1int 21hcmp al,31hjz jiafa cmp al,32hcall huanjz jianfa gono: mov dx,offset rorqmov ah,09hint 21hkey:mov ah,1int 21hcmp al,72hjz selectcmp al,71hjnz keycall huanmov dx,offset exitmov ah,09hint 21hmov ah,4chint 21hjiafa:call huancall random1mov sum,axcall showmov dl,+mov ah,2int 21hcall random2add sum,axcall showjmp nextjianfa:call random1mov sum,axmov num1,axcall random2sbb sum,axmov num2,axcmp sum,0jl jianfamov ax,num1call showmov dl,-mov ah,2int 21hmov ax,num2call showjmp nextnext:mov dl,=mov ah,2int 21hcall inputcmp bp,sumjz donemov dx,offset erromov ah,09hint 21hjmp nextdone:mov dx,offset corrmov ah,9int 21hjmp gonorandom1:mov ah,2chint 21hmov al,dhmov ah,0retrandom2:mov ah,2chint 21hmov al,dlmov ah,0retshow:mov ax,axaam or ax,3030h xchg ah,almov dx,axmov ah,2int 21hmov dl,dhint 21hretinput:mov bp,0mov cx,3get: mov ah,0int 16hcmp al,0dhjz okcmp al,0jb getcmp al,9ja getmov ah,0eh int 10hand ax,0fhxchg bp,axmov bx,10mul bxadd bp,axloop getok:cmp cx,3rethuan: mov dl,0dh mov ah,2int 21hmov dl,0ahmov ah,2int 21hret MOV AH,4CHINT 21HCODES ENDS END START八 實(shí)驗(yàn)結(jié)果圖1 菜單圖2 加法練習(xí)運(yùn)算圖3 減法練習(xí)運(yùn)算圖4 運(yùn)算錯(cuò)誤和退出九 實(shí)驗(yàn)總結(jié) 加法練習(xí)程序設(shè)計(jì)可能較于平時(shí)的一些實(shí)驗(yàn)相對(duì)簡(jiǎn)單些,但這次的課程設(shè)計(jì)是由自己構(gòu)思和設(shè)計(jì)的,遇到麻煩的地方也要靠自己去解決,不像平時(shí)實(shí)驗(yàn)?zāi)菢樱蠹彝瓿傻膬?nèi)容都
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 垃圾焚燒發(fā)電行業(yè)報(bào)告
- 三農(nóng)村水資源管理方案手冊(cè)
- 三農(nóng)市場(chǎng)推廣策略與技巧指南
- 生態(tài)旅游度假區(qū)開(kāi)發(fā)項(xiàng)目可行性研究報(bào)告
- 框架、技術(shù)與最佳實(shí)踐指南
- 餐飲連鎖店運(yùn)營(yíng)管理及拓展策略
- 施工安全管理考核細(xì)則
- 發(fā)改委立項(xiàng)可行性分析報(bào)告
- 農(nóng)業(yè)技術(shù)推廣創(chuàng)新模式指南
- 低空經(jīng)濟(jì)合作
- 不動(dòng)產(chǎn)登記中心服務(wù)行為規(guī)范辦法(試行)
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專(zhuān)業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024C0)【第1部分:1-130】
- 軟件資格考試嵌入式系統(tǒng)設(shè)計(jì)師(基礎(chǔ)知識(shí)、應(yīng)用技術(shù))合卷(中級(jí))試卷與參考答案(2024年)
- 2024年下半年杭州黃湖鎮(zhèn)招考編外工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 浙江省第五屆初中生科學(xué)競(jìng)賽初賽試題卷
- 雷鋒精神在2024:新時(shí)代下的學(xué)習(xí)
- 竣工驗(yàn)收流程培訓(xùn)課件
- 2024年上海中考化學(xué)終極押題密卷三含答案
- DB14∕T 1334-2017 波形鋼腹板預(yù)應(yīng)力混凝土組合結(jié)構(gòu)橋梁懸臂施工與驗(yàn)收規(guī)范
- ECharts數(shù)據(jù)可視化課件 第4章 雷達(dá)圖、旭日?qǐng)D和關(guān)系圖
- 幸福女人課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論