版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> ( 2013—2014年度第一學(xué)期)</p><p> 名 稱: 微機原理及應(yīng)用 </p><p> 題 目:純軟件設(shè)計出題程序</p><p> 院 系: 控計學(xué)院 </p><p&g
2、t; 班 級: </p><p> 學(xué) 號: </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 設(shè)計周數(shù): <
3、/p><p> 同組人: </p><p> 成 績: </p><p> 日期:2014年1月9日</p><p> 一、課程設(shè)計的目的與要求</p><p> 通過純軟件編程實現(xiàn)隨機抽取10道簡單的加減乘除運算題 </p&
4、gt;<p> 要求給出開始答題時間、答題結(jié)束時間以及總用時 </p><p> 要求對題目結(jié)果進行判斷并給出得分</p><p><b> 二、設(shè)計正文</b></p><p> 需求分析 </p><p> 1 . 1 MASM編程軟件</p><p&g
5、t;<b> 總體設(shè)計</b></p><p> 2 . 1 產(chǎn)生兩個隨機運算數(shù)及隨機運算符</p><p> 2 . 2 將運算數(shù)A和B以十進制方式輸入</p><p> 2 . 3 產(chǎn)生一個隨機運算式</p><p> 2 . 4 在屏幕上顯示開始時間、結(jié)束時間及時間差</p><
6、;p> 2 . 5 判斷結(jié)果的正確與否并給出最終得分</p><p><b> 三、課程設(shè)計總結(jié)</b></p><p><b> 個人總結(jié)</b></p><p> 本次課程設(shè)計我們做的課題是利用MASM編程軟件設(shè)計一個自動出題程序,兩人一組。整體設(shè)計構(gòu)想由我們兩人共同完成,我負責主程序框架以及隨機數(shù)、屏
7、幕背景、系統(tǒng)時間讀取這些部分。對于 主程序框架,它是整個程序的骨架,通過組內(nèi)商量,我們最終確定了程序的流程:在進行初始化后,要對屏幕背景進行設(shè)置,接著確定題目數(shù)量、生成隨機運算式,然后根據(jù)系統(tǒng)算出的正確結(jié)果對輸入的結(jié)果進行判斷并給出得分。在程序編寫過程中,我也遇到了許多問題,其中包含有許多的調(diào)用,如屏幕背景設(shè)置、時間的調(diào)用等以及隨機數(shù)的獲得。經(jīng)過反復(fù)的修改、查閱資料、百度,我們的程序最終能夠完成預(yù)期的基本功能。我還負責了程序調(diào)試的部分,
8、由于程序是由兩個人分開來寫的,所以整合在一起后遇到了許多問題,寄存器的使用錯亂是最嚴重的,之后經(jīng)過一次次的調(diào)試,我們的程序最終總算是基本完成了。</p><p> 通過本次課程設(shè)計,我總算學(xué)會了編程,學(xué)會了使用MASM,也終于體會到了什么叫學(xué)以致用。這讓我獲得了很大的滿足感。不過我們的程序還存在不少缺點,對于除法運算,當結(jié)果不是整數(shù)時,做題時它的結(jié)果該怎么書寫尚未找到方法,因此我們的程序中只涉及了加減乘這三種運
9、算。</p><p><b> 團體總結(jié)</b></p><p> 本次課程設(shè)計,我們是兩人一組,由于人數(shù)的原因,我們沒有做太難的課題,只是受網(wǎng)上模擬考試的啟發(fā)想到了這個課題。兩人合作中,互相配合顯得尤為重要,在課程設(shè)計過程中,我們明確分工又彼此配合,遇到問題積極討論,或是查閱書籍,或是上網(wǎng)搜索,或是找人詢問。在我們的通力合作下,我們解決了許多問題。</p&
10、gt;<p> 對于本次課程設(shè)計的結(jié)果我們還是比較滿意的,我們在此收獲了很多。不過,我們的程序還有</p><p> 不足的地方,那就是其中沒有除法運算。為了解決問題,我們也進行過積極的討論,遺憾的是仍然沒有解決這一問題。</p><p><b> 四、參考文獻</b></p><p> [1]李繼燦.《新編16/32位微
11、型計算機原理及應(yīng)用》.清華大學(xué)出版社.第4版.2008.7</p><p> [2]馬力妮.《80x86匯編語言程序設(shè)計》.機械工程出版社.第2版.2009.6(2012.1重?。?lt;/p><p> 附錄(設(shè)計流程圖、程序、表格、數(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十進制輸出 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 ;時間的輸出 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é)果十進制輸出 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,符號為Z。運算結(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 ? ;開始時間</p><
45、p><b> M DB ?</b></p><p><b> S DB ?</b></p><p> WH DB ?;時間差</p><p><b> WM DB ?</b></p><p><b> WS DB ?</b></p&g
46、t;<p> HA DB ?;結(jié)束時間</p><p><b> MA DB ?</b></p><p><b> SA DB ?</b></p><p> A DB ? ;第一運算數(shù)</p><p> B DB ? ;第二運算數(shù)</p><p>
47、R DW ? ;正確結(jié)果的存儲</p><p> FUHAO DB ?;符號</p><p> BUFF DB 6,?,6 DUP(?);用來寫輸入的結(jié)果 </p><p> R1 DW 0;存寫入的結(jié)果</p><p> ;ARRAY DB 10 DUP(?),'$';存儲每題的結(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 ;用符號’S’表示開始做題</p><p><b> JE STAR</b></p><p>
55、CMP AL,45H ;用符號’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 ;答題界面,淡藍底黑字</p><p><b> INT 10H</b></p><p> CALL TIME ;開始時間</p><p> MOV AH,2 ;設(shè)置光標位置</p>
58、<p> MOV BX,0 ;頁號</p><p> MOV DH,2 ;行號</p><p> MOV DL,25 ;列號</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 ;輸出開始時間</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;出十個題</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é)束時間,并算出時間差</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è)置光標位置</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é)束時間</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è)置光標位置</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、輸出時間差</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隨機數(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的隨機數(shù)</p><p><b> DIV DL</b&
80、gt;</p><p> MOV BL,AH ;隨機數(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隨機數(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的隨機數(shù)</p><p><b>
85、DIV DL</b></p><p> MOV BL,AH ;隨機數(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 ;+-*/運算符的隨機,存到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 ; 得到算式達式 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,如果小,就交換,為了保證永遠是正數(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 ;計算并把結(jié)果存入R中</p>
104、;<p> CALL PANDUAN ;判斷對錯 </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、 ;做下標,用來判斷每道題</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 ;錯誤的話不做操作</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 ;得到開始時間</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é)束時間,并且算出時間差</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 ;綠底藍字</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 ;隱藏光標</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> 程序運行圖:</b></p><p><b> 綠底藍字</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件設(shè)計模式課程設(shè)計
- java課程設(shè)計報告----計算器軟件設(shè)計
- 《軟件設(shè)計基礎(chǔ)(c++)》課程設(shè)計報告書
- 《基于android的簡單聊天通信軟件設(shè)計》課程設(shè)計報告
- 軟件工程課程設(shè)計小論文之軟件設(shè)計
- c_課程設(shè)計---模擬抽獎軟件設(shè)計
- 軟件設(shè)計課程設(shè)計---圖書管理系統(tǒng)設(shè)計
- 《軟件開發(fā)》課程設(shè)計報告-屏幕鎖定程序
- 軟件課程設(shè)計報告--局域網(wǎng)聊天程序
- c#課程設(shè)計—模擬抽獎軟件設(shè)計
- 課程設(shè)計--超市庫存管理軟件設(shè)計
- c-課程設(shè)計—模擬抽獎軟件設(shè)計
- 軟件課程設(shè)計報告
- 軟件課程設(shè)計報告
- 系統(tǒng)軟件程序設(shè)計報告(linux下c語言程序課程設(shè)計報告)
- 產(chǎn)品供貨商維護軟件設(shè)計課程設(shè)計
- c_課程設(shè)計—備忘錄軟件設(shè)計
- c_課程設(shè)計--—個人單詞薄軟件設(shè)計
- 程序設(shè)計課程設(shè)計報告
- 程序設(shè)計課程設(shè)計報告
評論
0/150
提交評論