微機原理課設(shè)_加法練習程序.doc_第1頁
微機原理課設(shè)_加法練習程序.doc_第2頁
微機原理課設(shè)_加法練習程序.doc_第3頁
微機原理課設(shè)_加法練習程序.doc_第4頁
微機原理課設(shè)_加法練習程序.doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

課 程 設(shè) 計課程設(shè)計名稱: 微機應(yīng)用系統(tǒng)課程設(shè)計 專 業(yè) 班 級 : 計科1204班 學 生 姓 名 : 張婷婷 學 號 : 201216010433 指 導 教 師 : 王 鋒 課程設(shè)計時間: 2014.12.22-2015.1.3 計算機科學與技術(shù) 專業(yè)課程設(shè)計任務(wù)書學生姓名張婷婷專業(yè)班級計科1204班學號201216010433題 目加法練習程序設(shè)計課題性質(zhì)A.工程設(shè)計課題來源自擬課題指導教師王 鋒同組姓名無主要內(nèi)容隨機給出百位數(shù)以內(nèi)的加法算式,并提示輸入答案,若正確給出正確提示,若錯誤給出錯誤提示,并提示輸入答案;按 R 鍵繼續(xù)下一題,按 Q 鍵返回 DOS.任務(wù)要求一切以設(shè)計內(nèi)容為前提進行課程設(shè)計實驗:1.設(shè)計一個菜單,選項為加法和減法的練習。2.以獲取系統(tǒng)中的秒和百分秒作為兩個隨機數(shù)進行加減運算。3.將輸入的答案和運行結(jié)果比較,若相等給出正確提示,若錯誤給出錯誤提示,并繼續(xù)輸入答案直到正確為止。4.提示是否繼續(xù)下一題,按R鍵繼續(xù)下一題,按Q鍵返回 DOS。參考文獻1.16/32位微機原理、匯編語言及接口技術(shù)(第2版)-(北京電子工業(yè)出版社 2003)錢曉捷,陳濤 編著2.32位微型計算機原理與接口技術(shù)-(北京清華大學出版社 2000)仇玉章等 編著審查意見指導教師簽字:教研室主任簽字: 2015年 1 月 10日 一 課程設(shè)計實驗的目的 課程設(shè)計的目的在于更好的鍛煉我們的實踐能力和考驗平時學習的成果。我們是計算機專業(yè),離不開編寫代碼。平時上課所學的知識來自于課本,上機實驗相對比較少,所能鍛煉的操作能力機會不多。而課程設(shè)計是讓我們綜合平時課本和實驗的知識及經(jīng)驗,自己設(shè)計和構(gòu)造,編寫一個相對完整的程序。這不僅僅是對以前知識的鞏固,更是鍛煉我們的思維,我們的設(shè)計與編寫程序的能力。對于我們以后將會從事的計算機類工作,這能很好的為我們打下堅實的基礎(chǔ),所謂積少成多,每學期都做課程設(shè)計,到畢業(yè)時我們對于編寫一個應(yīng)用軟件或許就能較容易駕馭了。本次微機應(yīng)用系統(tǒng)課程設(shè)計我的題目是加法練習程序設(shè)計,雖然只要求加法運算,但我在該程序里添加了減法運算,使得程序相對不會太單調(diào)。雖然給的編程題目可能會與別人一樣,但每個人的想法不一樣,在設(shè)計時添加自己的想法或許就能使程序更加完善了,這也是課程設(shè)計對我們的一種鍛煉。二 實驗設(shè)計的任務(wù)與要求 加法練習設(shè)計程序的內(nèi)容是:隨機給出百位數(shù)以內(nèi)的加法算式,并提示輸入答案,若正確給出正確提示,若錯誤給出錯誤提示,并提示輸入答案;按 R 鍵繼續(xù)下一題,按 Q 鍵返回 DOS。按照內(nèi)容要求,在所學知識內(nèi)容的基礎(chǔ)上設(shè)計程序,具體的內(nèi)容設(shè)計要求任務(wù)如下:1.設(shè)計一個菜單,選項為加法和減法的練習。2.以獲取系統(tǒng)中的秒和百分秒作為兩個隨機數(shù)進行加減運算。3.將輸入的答案和運行結(jié)果比較,若相等給出正確提示,若錯誤給出錯誤提示,并繼續(xù)輸入答案直到正確為止。4.提示是否繼續(xù)下一題,按R鍵繼續(xù)下一題,按Q鍵返回 DOS。這次課程設(shè)計是在完成設(shè)計要求的基礎(chǔ)上,添加了減法練習運算,以仔細、認真、規(guī)范的態(tài)度完成自己課程設(shè)計。三 實驗設(shè)計的思想加法練習程序設(shè)計,主要工作是產(chǎn)生兩個兩位數(shù)的隨機數(shù)進行加運算,而怎么產(chǎn)生隨機數(shù)是該程序的難點。在搜集了一些資料后發(fā)現(xiàn)很多程序用的隨機數(shù)是偽隨機,是一個比較復雜算法,而不使用算法獲得隨機數(shù)的方法就是獲取系統(tǒng)的時間。在翻閱課本后得知mov ah,2ch int 21h語句可以得到系統(tǒng)時間,在考慮后認為秒和百分秒比較適合,因為在短時間內(nèi)這兩個時間變化的多一些,比較適合用于隨機數(shù)。Dh所存的數(shù)對應(yīng)的是秒,Dl所存的數(shù)對應(yīng)的是百分秒。加法直接將兩個隨機數(shù)相加即可,但減法就相對麻煩些,因為會出現(xiàn)第一個隨機數(shù)比第二個隨機數(shù)小得到結(jié)果為負數(shù)。為了解決這一問題,在數(shù)據(jù)段定義了兩個變量,用來存放減數(shù)和被減數(shù)。在獲取隨機數(shù)時先不顯示運算式,先將隨機數(shù)的值給變量num1和變量mum2,如果相減結(jié)果小于0則轉(zhuǎn)回去繼續(xù)取隨機數(shù),直到取得隨機數(shù)相減記過大于0,則顯示運算式繼續(xù)后面的程序運行。相對較難的部分解決后則是將整個程序流程串起來,先是顯示選擇加或減運算,產(chǎn)生的隨機數(shù)并顯示相應(yīng)的運算式;再是輸入結(jié)果,對結(jié)果進行判斷給出對或錯的提示,錯誤時提示繼續(xù)輸入結(jié)果,對則繼續(xù)下一步;最后選擇是否繼續(xù)下一題,R返回最初加減運算選擇,Q則退出。四 實驗環(huán)境 4.1運行環(huán)境(1)軟件環(huán)境 操作系統(tǒng):Windows 7(2)硬件環(huán)境 處理器:Inter Core i5 內(nèi)存:4.00GB 硬盤空間:500GB4.2開發(fā)工具與編程語言 (1)開發(fā)工具:Masm for Windows集成實驗環(huán)境 V2012 (2)編程語言:匯編五 實驗方案 先是設(shè)計了一個菜單,用于選擇進行加法運算還是減法運算,菜單顯示來自數(shù)據(jù)段的字符串。選擇后變轉(zhuǎn)到j(luò)iafa或jianfa程序段中,調(diào)用產(chǎn)生隨機數(shù)的random1(秒)和random2(百分秒)程序段中并顯示運算式。將輸入的答案通過show程序段將其轉(zhuǎn)換成ASCII碼顯示出來,再由get程序段將輸入的答案轉(zhuǎn)換成對應(yīng)的數(shù),最后轉(zhuǎn)換成數(shù)的答案與計算機運算結(jié)果比較,如果相減為0則對,提示correct,否則輸入的答案是錯的,提示error并讓其繼續(xù)輸入答案直到正確為止。在答案正確后,提示“Continue(R) or Exit(Q)?”是否繼續(xù)下一題,按R繼續(xù)下一題,按Q則返回DOS。開始六 實驗流程圖顯示菜單選擇加法練習算式減法練習算式輸入結(jié)果判斷結(jié)果對錯?否是繼續(xù)下一題?是 否退出七 實驗源代碼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八 實驗結(jié)果圖1 菜單圖2 加法練習運算圖3 減法練習運算圖4 運算錯誤和退出九 實驗總結(jié) 加法練習程序設(shè)計可能較于平時的一些實驗相對簡單些,但這次的課程設(shè)計是由自己構(gòu)思和設(shè)計的,遇到麻煩的地方也要靠自己去解決,不像平時實驗那樣,大家完成的內(nèi)容都

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論