版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> ( 2013—2014年度第一學(xué)期)</p><p> 名 稱: 微機(jī)原理及應(yīng)用 </p><p> 題 目:純軟件設(shè)計(jì)出題程序</p><p> 院 系: 控計(jì)學(xué)院 </p><p&g
2、t; 班 級(jí): </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 設(shè)計(jì)周數(shù): <
3、/p><p> 同組人: </p><p> 成 績: </p><p> 日期:2014年1月9日</p><p> 一、課程設(shè)計(jì)的目的與要求</p><p> 通過純軟件編程實(shí)現(xiàn)隨機(jī)抽取10道簡單的加減乘除運(yùn)算題 </p&
4、gt;<p> 要求給出開始答題時(shí)間、答題結(jié)束時(shí)間以及總用時(shí) </p><p> 要求對題目結(jié)果進(jìn)行判斷并給出得分</p><p><b> 二、設(shè)計(jì)正文</b></p><p> 需求分析 </p><p> 1 . 1 MASM編程軟件</p><p&g
5、t;<b> 總體設(shè)計(jì)</b></p><p> 2 . 1 產(chǎn)生兩個(gè)隨機(jī)運(yùn)算數(shù)及隨機(jī)運(yùn)算符</p><p> 2 . 2 將運(yùn)算數(shù)A和B以十進(jìn)制方式輸入</p><p> 2 . 3 產(chǎn)生一個(gè)隨機(jī)運(yùn)算式</p><p> 2 . 4 在屏幕上顯示開始時(shí)間、結(jié)束時(shí)間及時(shí)間差</p><
6、;p> 2 . 5 判斷結(jié)果的正確與否并給出最終得分</p><p><b> 三、課程設(shè)計(jì)總結(jié)</b></p><p><b> 個(gè)人總結(jié)</b></p><p> 本次課程設(shè)計(jì)我們做的課題是利用MASM編程軟件設(shè)計(jì)一個(gè)自動(dòng)出題程序,兩人一組。整體設(shè)計(jì)構(gòu)想由我們兩人共同完成,我負(fù)責(zé)主程序框架以及隨機(jī)數(shù)、屏
7、幕背景、系統(tǒng)時(shí)間讀取這些部分。對于 主程序框架,它是整個(gè)程序的骨架,通過組內(nèi)商量,我們最終確定了程序的流程:在進(jìn)行初始化后,要對屏幕背景進(jìn)行設(shè)置,接著確定題目數(shù)量、生成隨機(jī)運(yùn)算式,然后根據(jù)系統(tǒng)算出的正確結(jié)果對輸入的結(jié)果進(jìn)行判斷并給出得分。在程序編寫過程中,我也遇到了許多問題,其中包含有許多的調(diào)用,如屏幕背景設(shè)置、時(shí)間的調(diào)用等以及隨機(jī)數(shù)的獲得。經(jīng)過反復(fù)的修改、查閱資料、百度,我們的程序最終能夠完成預(yù)期的基本功能。我還負(fù)責(zé)了程序調(diào)試的部分,
8、由于程序是由兩個(gè)人分開來寫的,所以整合在一起后遇到了許多問題,寄存器的使用錯(cuò)亂是最嚴(yán)重的,之后經(jīng)過一次次的調(diào)試,我們的程序最終總算是基本完成了。</p><p> 通過本次課程設(shè)計(jì),我總算學(xué)會(huì)了編程,學(xué)會(huì)了使用MASM,也終于體會(huì)到了什么叫學(xué)以致用。這讓我獲得了很大的滿足感。不過我們的程序還存在不少缺點(diǎn),對于除法運(yùn)算,當(dāng)結(jié)果不是整數(shù)時(shí),做題時(shí)它的結(jié)果該怎么書寫尚未找到方法,因此我們的程序中只涉及了加減乘這三種運(yùn)
9、算。</p><p><b> 團(tuán)體總結(jié)</b></p><p> 本次課程設(shè)計(jì),我們是兩人一組,由于人數(shù)的原因,我們沒有做太難的課題,只是受網(wǎng)上模擬考試的啟發(fā)想到了這個(gè)課題。兩人合作中,互相配合顯得尤為重要,在課程設(shè)計(jì)過程中,我們明確分工又彼此配合,遇到問題積極討論,或是查閱書籍,或是上網(wǎng)搜索,或是找人詢問。在我們的通力合作下,我們解決了許多問題。</p&
10、gt;<p> 對于本次課程設(shè)計(jì)的結(jié)果我們還是比較滿意的,我們在此收獲了很多。不過,我們的程序還有</p><p> 不足的地方,那就是其中沒有除法運(yùn)算。為了解決問題,我們也進(jìn)行過積極的討論,遺憾的是仍然沒有解決這一問題。</p><p><b> 四、參考文獻(xiàn)</b></p><p> [1]李繼燦.《新編16/32位微
11、型計(jì)算機(jī)原理及應(yīng)用》.清華大學(xué)出版社.第4版.2008.7</p><p> [2]馬力妮.《80x86匯編語言程序設(shè)計(jì)》.機(jī)械工程出版社.第2版.2009.6(2012.1重?。?lt;/p><p> 附錄(設(shè)計(jì)流程圖、程序、表格、數(shù)據(jù)等)</p><p><b> 1、程序流程圖</b></p><p><b
12、> 2、程序代碼</b></p><p> HUICHE MACRO ;回車換行</p><p> MOV DL,0DH</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p>
13、MOV DL,0AH</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> ENDM</b></p><p> DISP1 MACRO X ;將數(shù)字A,B十進(jìn)制輸出 AL</p>
14、<p><b> LOCAL SHI</b></p><p><b> LOCAL GEE</b></p><p><b> PUSHA</b></p><p><b> MOV AL,X</b></p><p><b>
15、 MOV AH,0</b></p><p><b> CMP AX,10</b></p><p><b> JAE SHI</b></p><p><b> CMP AX,0</b></p><p><b> JAE GEE</b>&l
16、t;/p><p><b> SHI:</b></p><p><b> MOV BX,10</b></p><p><b> DIV BL</b></p><p><b> MOV CH,AH</b></p><p><b
17、> MOV DL,AL</b></p><p> ADD DL,30H</p><p> MOV AH,2 ;屏幕顯示</p><p><b> INT 21H</b></p><p><b> MOV AL,CH</b></p><p>
18、 MOV AH,0 </p><p><b> GEE: </b></p><p><b> MOV DL,AL</b></p><p> ADD DL,30H</p><p><b> MOV AH,2</b></p><p><
19、b> INT 21H </b></p><p><b> POPA</b></p><p><b> ENDM</b></p><p> DISP3 MACRO X ;時(shí)間的輸出 AL</p><p> LOCAL SHI2</p><p>
20、 LOCAL GEE2</p><p><b> PUSHA</b></p><p><b> MOV AL,X</b></p><p><b> MOV AH,0</b></p><p><b> SHI2:</b></p>&l
21、t;p><b> MOV BX,10</b></p><p><b> DIV BL</b></p><p><b> MOV CH,AH</b></p><p><b> MOV DL,AL</b></p><p> ADD DL,30H
22、</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> MOV AL,CH</b></p><p> MOV AH,0 </p><p><b> GE
23、E2: </b></p><p><b> MOV DL,AL</b></p><p> ADD DL,30H</p><p><b> MOV AH,2</b></p><p><b> INT 21H </b></p><p>&
24、lt;b> POPA</b></p><p><b> ENDM</b></p><p> DISP2 MACRO Y ;將結(jié)果十進(jìn)制輸出 AX,先判斷結(jié)果是幾位數(shù)</p><p> LOCAL QIAN1</p><p> LOCAL BAI1</p><p>
25、 LOCAL SHI1</p><p> LOCAL GEE1</p><p><b> PUSHA</b></p><p><b> MOV AX,Y</b></p><p> CMP AX,1000</p><p><b> JAE QIAN1<
26、/b></p><p> CMP AX,100</p><p><b> JAE BAI1</b></p><p><b> CMP AX,10</b></p><p><b> JAE SHI1</b></p><p><b>
27、 CMP AX,0</b></p><p><b> JAE GEE1</b></p><p><b> QIAN1:</b></p><p> MOV BX,1000</p><p><b> MOV DX,0</b></p><p&
28、gt;<b> DIV BX</b></p><p> MOV SI,DX ;YUSHU</p><p><b> MOV DX,AX</b></p><p> ADD DL,30H</p><p><b> MOV AH,2</b></p>
29、<p><b> INT 21H</b></p><p><b> MOV AX,SI</b></p><p><b> MOV DX,0</b></p><p><b> BAI1:</b></p><p> MOV BX,100&l
30、t;/p><p><b> DIV BL</b></p><p> MOV CH,AH ;YUSHU</p><p><b> MOV DL,AL</b></p><p> ADD DL,30H</p><p><b> MOV AH,2<
31、/b></p><p><b> INT 21H</b></p><p><b> MOV AL,CH</b></p><p> MOV AH,0 </p><p><b> SHI1:</b></p><p><b>
32、 MOV BX,10</b></p><p><b> DIV BL</b></p><p> MOV CH,AH ;YUSHU</p><p><b> MOV DL,AL</b></p><p> ADD DL,30H</p><p&g
33、t;<b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> MOV AL,CH</b></p><p><b> MOV AH,0</b></p><p><b> GEE1: &
34、lt;/b></p><p><b> MOV DL,AL</b></p><p> ADD DL,30H</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b&g
35、t; POPA</b></p><p><b> ENDM</b></p><p> YUNSUAN MACRO X,Y,Z ;其中,A=X,B=Y,符號(hào)為Z。運(yùn)算結(jié)果存到R中</p><p> LOCAL JIA1</p><p> LOCAL JIAN1</p><p>
36、 LOCAL CHENG1</p><p> LOCAL CHU1</p><p> LOCAL EXIT1</p><p><b> PUSHA</b></p><p><b> MOV AL,X</b></p><p><b> MOV CL,Y&l
37、t;/b></p><p><b> MOV BL,Z</b></p><p> CMP BL,'+'</p><p><b> JE JIA1</b></p><p> CMP BL,'-'</p><p><b>
38、 JE JIAN1</b></p><p> CMP BL,'*'</p><p><b> JE CHENG1</b></p><p> CMP BL,'/'</p><p><b> JE CHU1</b></p><p&g
39、t;<b> JIA1:</b></p><p><b> ADD AL,CL</b></p><p><b> MOV AH,0</b></p><p><b> MOV R,AX </b></p><p><b> JMP EXIT
40、1</b></p><p><b> JIAN1:</b></p><p><b> SUB AL,CL</b></p><p><b> MOV AH,0</b></p><p><b> MOV R,AX</b></p>
41、<p><b> JMP EXIT1</b></p><p><b> CHENG1:</b></p><p><b> MOV AH,0</b></p><p><b> MUL CL</b></p><p><b>
42、MOV R,AX</b></p><p><b> JMP EXIT1</b></p><p><b> CHU1:</b></p><p><b> MOV AH,0</b></p><p><b> DIV CL</b></p
43、><p><b> MOV AH,0</b></p><p><b> MOV R,AX</b></p><p><b> EXIT1:</b></p><p><b> POPA</b></p><p><b>
44、ENDM</b></p><p> DATAS SEGMENT</p><p> ;此處輸入數(shù)據(jù)段代碼 </p><p><b> X DW 0</b></p><p> Y DW 0 ;用來存得分</p><p> H DB ? ;開始時(shí)間</p><
45、p><b> M DB ?</b></p><p><b> S DB ?</b></p><p> WH DB ?;時(shí)間差</p><p><b> WM DB ?</b></p><p><b> WS DB ?</b></p&g
46、t;<p> HA DB ?;結(jié)束時(shí)間</p><p><b> MA DB ?</b></p><p><b> SA DB ?</b></p><p> A DB ? ;第一運(yùn)算數(shù)</p><p> B DB ? ;第二運(yùn)算數(shù)</p><p>
47、R DW ? ;正確結(jié)果的存儲(chǔ)</p><p> FUHAO DB ?;符號(hào)</p><p> BUFF DB 6,?,6 DUP(?);用來寫輸入的結(jié)果 </p><p> R1 DW 0;存寫入的結(jié)果</p><p> ;ARRAY DB 10 DUP(?),'$';存儲(chǔ)每題的結(jié)果</p><p
48、> TIT DB 'Children Answering System','$'</p><p> STA DB ' 1.start to test','$'</p><p> DERE DB 'Do you want to check detailed results Y/N','$&
49、#39;</p><p> QU DB ' 2.are you ready,please press "S"to begin','$'</p><p> STATIME DB 'Start Time: ','$'</p><p> ENDTIME DB 'End Ti
50、me: ','$'</p><p> TTIME DB 'Total Time: ','$'</p><p> INFO1 DB 'Please input correct number','$'</p><p> TIMU DB ' Question :
51、 ','$'</p><p> TP DB 'Total Points: ','$' </p><p> TMGS DB 'Qing shu ru ti mu ge shu : ','$' </p><p> DATAS ENDS</p><p>
52、 STACKS SEGMENT</p><p> ;此處輸入堆棧段代碼</p><p> STACKS ENDS</p><p> CODES SEGMENT</p><p> ASSUME CS:CODES,DS:DATAS,SS:STACKS</p><p><b> START:</b
53、></p><p> MOV AX,DATAS</p><p><b> MOV DS,AX</b></p><p> ;此處輸入代碼段代碼</p><p><b> INI:</b></p><p> CALL INITIAL ;跳轉(zhuǎn)到背景設(shè)置&
54、lt;/p><p> MOV AH,7 ;鍵盤輸入(無回顯)</p><p><b> INT 21H</b></p><p> CMP AL,53H ;用符號(hào)’S’表示開始做題</p><p><b> JE STAR</b></p><p>
55、CMP AL,45H ;用符號(hào)’E’表示結(jié)束做題</p><p><b> JE EXIT9</b></p><p><b> JMP WR</b></p><p><b> STAR:</b></p><p> MOV AH,7 ;屏幕下滾</
56、p><p><b> MOV AL,0</b></p><p><b> MOV CH,0</b></p><p><b> MOV CL,0</b></p><p><b> MOV DH,24</b></p><p><
57、;b> MOV DL,79</b></p><p> MOV BH,00110000B ;答題界面,淡藍(lán)底黑字</p><p><b> INT 10H</b></p><p> CALL TIME ;開始時(shí)間</p><p> MOV AH,2 ;設(shè)置光標(biāo)位置</p>
58、<p> MOV BX,0 ;頁號(hào)</p><p> MOV DH,2 ;行號(hào)</p><p> MOV DL,25 ;列號(hào)</p><p><b> INT 10H</b></p><p> LEA DX, STATIME</p><p><b&g
59、t; MOV AH,9</b></p><p><b> INT 21H </b></p><p> MOV DL,H ;輸出開始時(shí)間</p><p><b> DISP3 DL</b></p><p> MOV DL,':'</p><p&
60、gt; MOV AH,2 ;顯示一字符</p><p><b> INT 21H</b></p><p><b> MOV DL,M</b></p><p><b> DISP3 DL</b></p><p> MOV DL,':'</p&
61、gt;<p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> MOV DL,S</b></p><p><b> DISP3 DL</b></p><p><b&g
62、t; HUICHE</b></p><p> MOV CX,10;出十個(gè)題</p><p><b> HUICHE</b></p><p><b> LOOP1:</b></p><p> LEA DX,TIMU</p><p><b> M
63、OV AH,9</b></p><p><b> INT 21H</b></p><p> CALL SUANSHI</p><p> LOOP LOOP1 </p><p><b> MOV AH,2</b></p><p><b> MOV
64、 BX,0</b></p><p><b> MOV DH,15</b></p><p><b> MOV DL,25</b></p><p><b> INT 10H</b></p><p><b> LEA DX,TP</b><
65、;/p><p><b> MOV AH,9</b></p><p><b> INT 21H</b></p><p> MOV DX,Y ;最后得分</p><p><b> DISP2 DX</b></p><p>
66、<b> HUICHE</b></p><p> CALL TIME1 ;結(jié)束時(shí)間,并算出時(shí)間差</p><p><b> MOV AH,2</b></p><p><b> MOV BX,0</b></p><p><b> M
67、OV DH,16</b></p><p><b> MOV DL,25</b></p><p> INT 10H ;設(shè)置光標(biāo)位置</p><p> LEA DX,ENDTIME </p><p><b> MOV AH,9</b>&l
68、t;/p><p> INT 21H ;輸出字符串“End Time :”</p><p> MOV DL,HA </p><p><b> DISP3 DL</b></p><p> MOV DL,':'</p><p>
69、;<b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> MOV DL,MA</b></p><p><b> DISP3 DL</b></p><p> MOV DL,':'
70、;</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p><b> MOV DL,SA</b></p><p> DISP3 DL ;輸出結(jié)束時(shí)間</p>&
71、lt;p><b> HUICHE</b></p><p><b> MOV AH,2</b></p><p><b> MOV BX,0</b></p><p><b> MOV DH,17</b></p><p><b> MO
72、V DL,25</b></p><p> INT 10H ;設(shè)置光標(biāo)位置</p><p> LEA DX,TTIME</p><p><b> MOV AH,9</b></p><p> INT 21H ;輸出字符串“Total Ti
73、me : ”</p><p> MOV DL,WM </p><p><b> DISP3 DL</b></p><p> MOV DL,':'</p><p><b> MOV AH,2</b></p><p><
74、;b> INT 21H</b></p><p><b> MOV DL,WS</b></p><p> DISP3 DL </p><p><b> MOV AH,7</b></p><p> INT 21H ;
75、輸出時(shí)間差</p><p><b> EXIT10:</b></p><p><b> MOV Y,0</b></p><p> JMP INI;返回去</p><p><b> WR:</b></p><p><b> HUICHE
76、</b></p><p> LEA DX,INFO1</p><p><b> MOV AH,9</b></p><p><b> INT 21H</b></p><p> JMP EXIT10</p><p><b> EXIT9:</
77、b></p><p> MOV AH,4CH</p><p> INT 21H ;程序結(jié)束</p><p> RAND1 PROC ;A隨機(jī)數(shù)1,A</p><p><b> PUSH AX</b></p><p><b> PUSH
78、BX</b></p><p><b> PUSH CX</b></p><p><b> PUSH DX</b></p><p> STI </p><p><b> MOV AH,0 </b></p><p>
79、<b> INT 1AH</b></p><p><b> MOV AX,DX</b></p><p> AND AH,03H ;清空高六位,防止溢出</p><p> MOV DL,50 ;得到1~100的隨機(jī)數(shù)</p><p><b> DIV DL</b&
80、gt;</p><p> MOV BL,AH ;隨機(jī)數(shù)給到BL中</p><p><b> MOV BH,0</b></p><p><b> INC BX</b></p><p><b> MOV A,BL</b></p><p>&l
81、t;b> POP DX</b></p><p><b> POP CX</b></p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b> RET</b></p
82、><p> RAND1 ENDP</p><p> RAND2 PROC ;B隨機(jī)數(shù)2,B</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b></p><p><b> PUSH CX</b
83、></p><p><b> PUSH DX</b></p><p> STI </p><p><b> MOV AH,0 </b></p><p><b> INT 1AH</b></p><p><b>
84、; MOV AX,DX</b></p><p><b> NOT AL</b></p><p> AND AH,03H ;清空高六位,防止溢出</p><p> MOV DL,31 ;得到1~100的隨機(jī)數(shù)</p><p><b>
85、DIV DL</b></p><p> MOV BL,AH ;隨機(jī)數(shù)給到BL中</p><p><b> MOV BH,0</b></p><p><b> INC BX</b></p><p><b> MOV B,BL</b>
86、</p><p><b> POP DX</b></p><p><b> POP CX</b></p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b&g
87、t; RET</b></p><p> RAND2 ENDP </p><p> RAND3 PROC ;+-*/運(yùn)算符的隨機(jī),存到FUHAO</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b><
88、;/p><p><b> PUSH DX</b></p><p><b> PUSH CX</b></p><p><b> MOV AL,A</b></p><p><b> MOV AH,0</b></p><p><
89、b> MOV BL,8</b></p><p><b> DIV BL</b></p><p><b> CMP AH,0</b></p><p><b> JE JIA</b></p><p><b> CMP AH,1</b>
90、;</p><p><b> JE JIAN</b></p><p><b> CMP AH,2</b></p><p><b> JE CHENG</b></p><p><b> CMP AH,3</b></p><p>
91、;<b> JE CHENG</b></p><p><b> CMP AH,4</b></p><p><b> JE JIA</b></p><p><b> CMP AH,5</b></p><p><b> JE JIAN<
92、;/b></p><p><b> CMP AH,6</b></p><p><b> JE CHENG</b></p><p><b> CMP AH,7</b></p><p><b> JE JIA</b></p><
93、;p> JIA: MOV DL,'+'</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> MOV FUHAO,'+'</p><p><b> JMP END1</b
94、></p><p> JIAN:MOV DL,'-'</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> MOV FUHAO,'-'</p><p><b&
95、gt; JMP END1</b></p><p> CHENG:MOV DL,'*'</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> MOV FUHAO,'*'</p&
96、gt;<p><b> JMP END1</b></p><p> CHU: MOV DL,'/'</p><p><b> MOV AH,2</b></p><p><b> INT 21H </b></p><p> MOV FUHA
97、O,'/' </p><p><b> END1:</b></p><p><b> POP CX</b></p><p><b> POP DX</b></p><p><b> POP BX</b></p>&l
98、t;p><b> POP AX</b></p><p><b> RET</b></p><p> RAND3 ENDP</p><p> SUANSHI PROC ; 得到算式達(dá)式 A+B</p><p><b> PUSH DX</b>
99、</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b></p><p> CALL RAND1</p><p> CALL RAND2</p><p><b> MOV AH,A</b></p
100、><p><b> MOV AL,B</b></p><p> CMP AH,AL ;比較A,B,如果小,就交換,為了保證永遠(yuǎn)是正數(shù)</p><p><b> JB CHANGE</b></p><p><b> JAE NEXT1</b></p&
101、gt;<p><b> CHANGE:</b></p><p><b> MOV BL,AH</b></p><p><b> MOV AH,AL</b></p><p><b> MOV AL,BL</b></p><p><
102、b> MOV A,AH</b></p><p><b> MOV B,AL</b></p><p> NEXT1: </p><p> DISP1 A ;輸出</p><p> CALL RAND3</p><p><b>
103、DISP1 B</b></p><p> MOV DL,'='</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> YUNSUAN A,B,FUHAO ;計(jì)算并把結(jié)果存入R中</p>
104、;<p> CALL PANDUAN ;判斷對錯(cuò) </p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b> POP DX</b></p><p><b> RET&
105、lt;/b></p><p> SUANSHI ENDP </p><p> PANDUAN PROC ;判斷結(jié)果是否正確,正確的,總分Y+10</p><p><b> PUSH AX</b></p><p><b> PUSH CX</b></p&g
106、t;<p><b> PUSH DX</b></p><p><b> PUSH SI</b></p><p><b> PUSH DI</b></p><p><b> PUSH BP</b></p><p> MOV BP,X
107、 ;做下標(biāo),用來判斷每道題</p><p> LEA DX,BUFF</p><p> MOV AH,0AH </p><p><b> INT 21H</b></p><p> MOV CL,BUFF[1]</p><p><b> MOV CH,0<
108、;/b></p><p><b> MOV BX,1</b></p><p> LOOP5: ;將輸入的結(jié)果轉(zhuǎn)為數(shù)字</p><p> MOV AL,BUFF[1+BX]</p><p> SUB AL,30H</p><p><b>
109、 MOV AH,0</b></p><p><b> MOV SI,AX</b></p><p><b> MOV AX,R1</b></p><p><b> MOV DL,10</b></p><p><b> MUL DL</b>
110、;</p><p><b> ADD AX,SI</b></p><p><b> MOV R1,AX</b></p><p><b> INC BX</b></p><p> LOOP LOOP5</p><p> MOV DL,0DH
111、 ;換行</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> MOV SI,R1 ;輸入的結(jié)果</p><p> MOV DI,R ;正確結(jié)果</p>
112、;<p><b> CMP SI,DI</b></p><p> JE CORRECT</p><p> JNE WRONG ;錯(cuò)誤的話不做操作</p><p><b> CORRECT:</b></p><p> ADD Y,10
113、 ;正確,加十分</p><p> MOV DL,54H</p><p><b> MOV AH,2</b></p><p><b> INT 21H</b></p><p> ;MOV ARRAY[BP],'Y'</p><p><b&
114、gt; JMP EXIT4</b></p><p><b> WRONG:</b></p><p><b> MOV AH,2</b></p><p> MOV DL,46H</p><p><b> INT 21H</b></p><
115、p> ;MOV ARRAY[BP],'N'</p><p><b> EXIT4:</b></p><p> MOV R1,0 ;置零,</p><p><b> ADD BP,1</b></p><p><b> MOV X,BP&
116、lt;/b></p><p><b> HUICHE</b></p><p><b> POP BP</b></p><p><b> POP DI</b></p><p> POP SI </p><p><b
117、> POP DX</b></p><p><b> POP CX</b></p><p><b> POP AX</b></p><p><b> RET</b></p><p> PANDUAN ENDP</p><p>
118、 TIME PROC ;得到開始時(shí)間</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b></p><p><b> PUSH CX</b></p><p><b> PUSH DX
119、</b></p><p><b> PUSH SI</b></p><p><b> PUSH DI</b></p><p> MOV AH,2CH</p><p><b> INT 21H</b></p><p><b>
120、 MOV H,CH</b></p><p><b> MOV M,CL</b></p><p><b> MOV S,DH</b></p><p><b> POP DI</b></p><p><b> POP SI</b><
121、/p><p><b> POP DX</b></p><p><b> POP CX</b></p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b>
122、RET</b></p><p><b> TIME ENDP</b></p><p> TIME1 PROC ;得到結(jié)束時(shí)間,并且算出時(shí)間差</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b&g
123、t;</p><p><b> PUSH CX</b></p><p><b> PUSH DX</b></p><p><b> PUSH SI</b></p><p><b> PUSH DI</b></p><p>
124、 MOV AH,2CH</p><p><b> INT 21H</b></p><p><b> MOV HA,CH</b></p><p><b> MOV MA,CL</b></p><p><b> MOV SA,DH</b></p&
125、gt;<p><b> MOV AH,H</b></p><p><b> MOV AL,M</b></p><p><b> MOV BH,S</b></p><p> CMP DH,BH ;比較SECOND</p><p><b&g
126、t; JAE NEXT6</b></p><p><b> JB NEXT7</b></p><p><b> NEXT6:</b></p><p><b> SUB DH,BH</b></p><p><b> MOV WS,DH</b&
127、gt;</p><p><b> JMP NEXT8</b></p><p><b> NEXT7:</b></p><p><b> DEC CL</b></p><p><b> ADD DH,60</b></p><p&g
128、t;<b> SUB DH,BH</b></p><p><b> MOV WS,DH</b></p><p><b> NEXT8:</b></p><p> CMP CL,AL ;比較MINUTES</p><p><b> JAE
129、NEXT9</b></p><p><b> JB NEXT10</b></p><p><b> NEXT9:</b></p><p><b> SUB CL,AL</b></p><p><b> MOV WM,CL</b><
130、/p><p> JMP NEXT11</p><p><b> NEXT10:</b></p><p><b> DEC DH</b></p><p><b> ADD CL,60</b></p><p><b> SUB CL,AL&l
131、t;/b></p><p><b> MOV WM,CL</b></p><p> NEXT11: </p><p><b> POP DI</b></p><p><b> POP SI</b></p><p><b>
132、 POP DX</b></p><p><b> POP CX</b></p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b> RET</b></p>&l
133、t;p> TIME1 ENDP</p><p> INITIAL PROC</p><p><b> PUSH AX</b></p><p><b> PUSH BX</b></p><p><b> PUSH CX</b></p><p&g
134、t;<b> PUSH DX</b></p><p><b> PUSH SI</b></p><p><b> PUSH DI</b></p><p> MOV AH,7 ;背景</p><p><b> MOV AL,0
135、</b></p><p><b> MOV CH,0</b></p><p><b> MOV CL,0</b></p><p><b> MOV DH,24</b></p><p><b> MOV DL,79</b></p&g
136、t;<p> MOV BH,00100001B ;綠底藍(lán)字</p><p><b> INT 10H</b></p><p> MOV AH,2 ;title</p><p><b> MOV BX,0</b></p><p&g
137、t;<b> MOV DH,1</b></p><p><b> MOV DL,25</b></p><p><b> INT 10H</b></p><p> LEA DX,TIT</p><p><b> MOV AH,9</b></p
138、><p><b> INT 21H </b></p><p> MOV AH,2 ;1,開始答題</p><p><b> MOV BX,0</b></p><p><b> MOV DH,3</b></p><p&g
139、t;<b> MOV DL,1</b></p><p><b> INT 10H</b></p><p> LEA DX,STA</p><p><b> MOV AH,9</b></p><p><b> INT 21H</b></p&g
140、t;<p> MOV AH,2 ;3,退出</p><p><b> MOV BX,0</b></p><p><b> MOV DH,5</b></p><p><b> MOV DL,1</b></p><p>&l
141、t;b> INT 10H</b></p><p><b> LEA DX,QU</b></p><p><b> MOV AH,9</b></p><p><b> INT 21H </b></p><p><b> MOV AH,1<
142、;/b></p><p> MOV CX,2000H</p><p> INT 10H ;隱藏光標(biāo)</p><p><b> POP DI</b></p><p><b> POP SI</b></p><p><b
143、> POP DX</b></p><p><b> POP CX</b></p><p><b> POP BX</b></p><p><b> POP AX</b></p><p><b> RET</b></p>
144、;<p> INITIAL ENDP</p><p> CODES ENDS</p><p><b> END START</b></p><p><b> 程序運(yùn)行圖:</b></p><p><b> 綠底藍(lán)字</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件設(shè)計(jì)模式課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告----計(jì)算器軟件設(shè)計(jì)
- 《軟件設(shè)計(jì)基礎(chǔ)(c++)》課程設(shè)計(jì)報(bào)告書
- 《基于android的簡單聊天通信軟件設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 軟件工程課程設(shè)計(jì)小論文之軟件設(shè)計(jì)
- c_課程設(shè)計(jì)---模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 軟件設(shè)計(jì)課程設(shè)計(jì)---圖書管理系統(tǒng)設(shè)計(jì)
- 《軟件開發(fā)》課程設(shè)計(jì)報(bào)告-屏幕鎖定程序
- 軟件課程設(shè)計(jì)報(bào)告--局域網(wǎng)聊天程序
- c#課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 課程設(shè)計(jì)--超市庫存管理軟件設(shè)計(jì)
- c-課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 軟件課程設(shè)計(jì)報(bào)告
- 軟件課程設(shè)計(jì)報(bào)告
- 系統(tǒng)軟件程序設(shè)計(jì)報(bào)告(linux下c語言程序課程設(shè)計(jì)報(bào)告)
- 產(chǎn)品供貨商維護(hù)軟件設(shè)計(jì)課程設(shè)計(jì)
- c_課程設(shè)計(jì)—備忘錄軟件設(shè)計(jì)
- c_課程設(shè)計(jì)--—個(gè)人單詞薄軟件設(shè)計(jì)
- 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論