匯編課設(shè)報告 考試系統(tǒng)_第1頁
匯編課設(shè)報告 考試系統(tǒng)_第2頁
匯編課設(shè)報告 考試系統(tǒng)_第3頁
匯編課設(shè)報告 考試系統(tǒng)_第4頁
匯編課設(shè)報告 考試系統(tǒng)_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計報告 ( 2014-2015年度第二學(xué)期)名 稱: 匯編語言課程設(shè)計 題 目: 考試系統(tǒng)(A類) 院 系 班 級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 蘇林萍 設(shè)計周數(shù): 一周 成 績: 日期:2015年 7月7日 課程設(shè)計報告一、設(shè)計正文1 需求分析11 用文件保存試題庫。(每個試題包括題干、4個備選答案、標準答案)12 試題錄入:可隨時增加試題到試題庫中13 試題抽取:每次從試題庫中可以隨機抽出N道題及每題的得分K(N、K由鍵盤輸入)。14 可以設(shè)置考試時間。15 用戶可以選擇“考試”和“練習(xí)”兩種方式。16 答題:用戶可實現(xiàn)輸入自己的答案,“考試”時系統(tǒng)不能顯示答案?!熬毩?xí)”時每

2、一題都可以通過查看“按鈕”顯示標準答案。可以用“上一題”、“下一題”翻頁。選擇“交卷”按鈕則顯示得分。17 自動判卷:系統(tǒng)可根據(jù)用戶答案與標準答案的對比實現(xiàn)判卷并給出成績。18 考試開始系統(tǒng)顯示倒計時。時間為零自動交卷。2 總體設(shè)計21 設(shè)計思路程序開始進入首頁,有4個功能選項,包括1、考試選項“TEST”,2、練習(xí)選項“PRCETICE“,3、系統(tǒng)設(shè)置”SYSTEMSET”,4、考試題錄入”INTO”。其中設(shè)置里包含考試時間,考試題數(shù),每題分數(shù)的設(shè)置。設(shè)置完了會進行可行性檢查,檢查通過完成設(shè)置。選擇相應(yīng)的功能項進入相應(yīng)的功能頁面。使用相應(yīng)的功能。程序全程使用鍵盤方向鍵和回車ESC鍵進行操作。

3、頁面友好。22 系統(tǒng)功能結(jié)構(gòu) 首頁考試 練習(xí) 系統(tǒng)設(shè)置 考題錄入 時間設(shè)置 題數(shù)設(shè)置 分數(shù)設(shè)置23 技術(shù)路線或?qū)崿F(xiàn)方法首頁的大背景是用編寫的UI宏刷新的。UI宏就是刷新出整個系統(tǒng)不管什么功能下的大背景界面的。 考試和練習(xí)功能的題目讀入,是從tiku.txt讀入的,將讀到TEXTDATA中,寫是將存題目數(shù)據(jù)的幾個變量寫入打tiku.txt。 考試功能和練習(xí)功能比較相近,差別在于考試需要提交給出分數(shù),練習(xí)需要顯示正確答案。通過自己編寫的STRING-_OUT 宏把題目和相應(yīng)功能選項輸出到屏幕利用方向鍵選擇答案,方向鍵控制選擇項是通過編寫的FOCUS宏配合標志變量完成的。系統(tǒng)設(shè)置中改變設(shè)置不是通過鍵

4、盤直接輸入,而是通過上下鍵來改變相應(yīng)變量并刷新屏幕實現(xiàn)的。3 詳細設(shè)計模塊劃分、流程圖開始進入相應(yīng)的功能選擇功能功能結(jié)束回到開始選擇功能退出結(jié)束首頁考題錄入系統(tǒng)設(shè)置考試練習(xí)31 數(shù)據(jù)分析與定義 SMenu1 DB 'TEST$' ;首頁4個功能選項 SMenu2 DB 'PRACTICE$' SMenu3 DB 'SYSTEMSET$' SMenu4 DB 'INTO$' STR1 DB 'Test System$' ;所有STR都是輸入的屏幕的提示信息或功能選項 STR2 DB 'Design by ma

5、$' STR3 DB 'My Choose:A B C D' STR4 DB 'Correct Answer:$' STR5 DB 'FRONT' STR6 DB 'NEXT' STR7 DB 'SUBMIT' STR8 DB 'YOUR SCORE IS:$' STR9 DB 'SHOW ANSWER' STR10 DB 'The Number Of Test Is:$' STR11 DB 'Time: min$' STR12 DB '

6、;TIME IS UP!$' STR13 DB 'THANK YOU FOR USE!$' STR14 DB 'press(ESC)to exit$' STR15 DB 'INPUT TEST:$' STR16 DB 'INPUT A:$' STR21 DB 'INPUT B:$' STR22 DB 'INPUT C:$' STR23 DB 'INPUT D:$' STR24 DB 'INPUT CORRECT ANSWER:$' STR25 DB '

7、SUCCESS !$' STR17 DB 'TEST NUMBER:$' STR18 DB 'SCORE:$' STR19 DB ' number: $' STR20 DB ' | score is: $' STRF DB 'FAILURE!$' HCHH DB 13,10 ;寫入文件的回車換行的ASCII碼 TESTSTR DB 100,?,100 DUP(?) ;存試題錄入時的題干 OPA DB 50,?,50 DUP(?) ;存A選項答案 OPB DB 50,?,50 DUP(?) ;存B選項答案 O

8、PC DB 50,?,50 DUP(?) ;C OPD DB 50,?,50 DUP(?) ;D FLAGE DW 50 DUP(0) ;用以存儲每道題的起始位置在txtdata中的偏移量 FLAGE2 DB 50 DUP(-1) ;用以存儲用戶選擇的答案 ALLSCORE DB 0 ;用以存儲總分數(shù) SINGESCORE DB 50 DUP(2) ;用以保存每道題的分數(shù) CORRANSWER DB 50 DUP(0) ;用來保存每道題的正常答案 CONUT DW 1 ;用以記錄當(dāng)前所處的題數(shù) MENUNUM DB 0 ;用以記錄首頁所選的功能項 ANNUM DB ?;用以記錄當(dāng)前所選的ABC

9、D OPTNUM DB 0;用以記錄所選的功能FRONT NEXT SUBMIT SHOW ANSWER TESTNUM DW 4 ;用以記錄本次考試題量 TESTTIME DB 10 ;用以記錄本次考試的時間 STTIMEMIN DB ? ;用以保存進入考試時的系統(tǒng)時間分鐘 STTIMEHOUR DB ? ;用以保存進入考試時的系統(tǒng)時間小時,用以計算考試剩余時間 SETNUM DB 0 ;用以記錄當(dāng)前所選的設(shè)置項,時間,分數(shù),或題數(shù) HANDLE DW ? ;文件句柄 FILENAME DB 'tiku.txt',0 TXTDATA DB 1000 DUP(?); 保存考試題

10、32 界面設(shè)計(如下) 4 編碼實現(xiàn)(源程序,有必要注釋)CLEAR MACRO x1,y1,x2,y2,pre ;清屏宏MOV AL,0MOV CH,x1MOV CL,y1MOV DH,x2MOV DL,y2MOV BH,preMOV AH,6INT 10HENDMUI MACRO page ; 生成主頁面宏CLEAR 0,0,24,79,70HCLEAR 0,0,1,79,34HCLEAR 23,0,24,79,34HMOV BH,pageMOV DH,1MOV DL,30MOV AH,2INT 10HMOV DX,OFFSET STR1MOV AH, 9INT 21HMOV BH,pag

11、eMOV DH,24MOV DL,66MOV AH,2INT 10HMOV DX,OFFSET STR2MOV AH, 9INT 21HENDMCURSOR_POS MACRO x,y,pageMOV BH,pageMOV DH,xMOV DL,yMOV AH,2INT 10HENDMSTRING_OUT MACRO STR ;以21H9號功能輸出字符串STRMOV DX,STRMOV AH,9INT 21HENDM STRING_OUT2 MACRO st,x,y,num,page,pre ;以10H 13H號功能輸出字符串st,其位置為x,y輸出字符數(shù)為num,屬性為preMOV BP,s

12、tMOV AH,13HMOV AL,1MOV BH,pageMOV BL,preMOV DL,yMOV DH,xMOV CX,numINT 10HENDMFOCUS MACRO pre,num ;所以FOCUS 都是用以實現(xiàn)變化功能項時刷新相應(yīng)選項的底色,以實現(xiàn)用方向鍵變換功能選項的效果LOCAL NEXT1,NEXT2,NEXT3,EXITCMP num,0JNZ NEXT1CLEAR 12,21,12,24,preCURSOR_POS 12,21,0STRING_OUT OFFSET SMenu1JMP EXITNEXT1:CMP num,1JNZ NEXT2CLEAR 12,28,12,

13、35,preCURSOR_POS 12,28,0STRING_OUT OFFSET SMenu2JMP EXITNEXT2:CMP num,2JNZ NEXT3CLEAR 12,39,12,47,preCURSOR_POS 12,39,0STRING_OUT OFFSET SMenu3JMP EXITNEXT3:CMP num,3CLEAR 12,52,12,55,preCURSOR_POS 12,52,0STRING_OUT OFFSET SMenu4EXIT:ENDMFOCUS2 MACRO pre,num,pageLOCAL NEXT1,NEXT2,NEXT3,EXITCMP num,0

14、JNZ NEXT1CLEAR 12,10,12,10,preCURSOR_POS 12,10,pageMOV DL,'A'MOV AH,6INT 21HJMP EXITNEXT1:CMP num,1JNZ NEXT2CLEAR 12,13,12,13,preCURSOR_POS 12,13,pageMOV DL,'B'MOV AH,6INT 21HJMP EXITNEXT2:CMP num,2JNZ NEXT3CLEAR 12,16,12,16,pre,0CURSOR_POS 12,16,pageMOV DL,'C'MOV AH,6INT 21H

15、JMP EXITNEXT3:CMP num,3CLEAR 12,19,12,19,pre,0CURSOR_POS 12,19,pageMOV DL,'D'MOV AH,6INT 21HEXIT:ENDMFOCUS3 MACRO pre,numLOCAL NEXT1,NEXT2,EXITCMP num,0JNZ NEXT1CLEAR 15,14,15,18,preCURSOR_POS 15,14,0STRING_OUT2 (OFFSET STR5),15,14,5,0,preJMP EXITNEXT1:CMP num,1JNZ NEXT2CLEAR 15,35,15,38,pre

16、CURSOR_POS 15,35,0STRING_OUT2 (OFFSET STR6),15,35,4,0,preJMP EXITNEXT2:CMP num,2CLEAR 15,58,15,63,preCURSOR_POS 15,58,0STRING_OUT2 (OFFSET STR7),15,58,6,0,preEXIT:ENDMFOCUS4 MACRO pre,numLOCAL NEXT1,NEXT2,EXITCMP num,0JNZ NEXT1CLEAR 15,14,15,18,preCURSOR_POS 15,14,0STRING_OUT2 (OFFSET STR5),15,14,5,

17、0,preJMP EXITNEXT1:CMP num,1JNZ NEXT2CLEAR 15,35,15,38,preCURSOR_POS 15,35,0STRING_OUT2 (OFFSET STR6),15,35,4,0,preJMP EXITNEXT2:CMP num,2CLEAR 15,58,15,68,preCURSOR_POS 15,58,0STRING_OUT2 (OFFSET STR9),15,58,11,0,preEXIT:ENDMFOCUS5 MACRO pre,numLOCAL NEXT1,NEXT2,EXITCMP num,0JNZ NEXT1STRING_OUT2 (O

18、FFSET STR11),10,9,5,0,preJMP EXITNEXT1:CMP num,1JNZ NEXT2STRING_OUT2 (OFFSET STR17),14,9,12,0,preJMP EXITNEXT2:CMP num,2STRING_OUT2 (OFFSET STR18),18,9,6,0,preEXIT:ENDMNUMOUT MACRO num ;輸出3位數(shù)字MOV AL,numXOR AH,AHMOV BL,10DIV BLMOV CL,AHXOR AH,AHDIV BLMOV BL,AHMOV DL,ALOR DL,30HMOV AH,2INT 21HMOV DL,B

19、LOR DL,30HMOV AH,2INT 21HMOV DL,CLOR DL,30HMOV AH,2INT 21HENDMDATAS SEGMENTSMenu1 DB 'TEST$'SMenu2 DB 'PRACTICE$'SMenu3 DB 'SYSTEMSET$'SMenu4 DB 'INTO$'STR1 DB 'Test System$'STR2 DB 'Design by ma$'STR3 DB 'My Choose:A B C D'STR4 DB 'Correct

20、 Answer:$'STR5 DB 'FRONT'STR6 DB 'NEXT'STR7 DB 'SUBMIT'STR8 DB 'YOUR SCORE IS:$'STR9 DB 'SHOW ANSWER'STR10 DB 'The Number Of Test Is:$'STR11 DB 'Time: min$'STR12 DB 'TIME IS UP!$'STR13 DB 'THANK YOU FOR USE!$'STR14 DB 'p

21、ress(ESC)to exit$'STR15 DB 'INPUT TEST:$'STR16 DB 'INPUT A:$'STR21 DB 'INPUT B:$'STR22 DB 'INPUT C:$'STR23 DB 'INPUT D:$'STR24 DB 'INPUT CORRECT ANSWER:$'STR25 DB 'SUCCESS !$'STR17 DB 'TEST NUMBER:$'STR18 DB 'SCORE:$'STR19 D

22、B ' number: $'STR20 DB ' | score is: $'STRF DB 'FAILURE!$'HCHH DB 13,10TESTSTR DB 100,?,100 DUP(?)OPA DB 50,?,50 DUP(?)OPB DB 50,?,50 DUP(?)OPC DB 50,?,50 DUP(?)OPD DB 50,?,50 DUP(?)FLAGE DW 50 DUP(0) ;用以存儲每道題的起始位置在txtdata中的偏移量FLAGE2 DB 50 DUP(-1) ;用以存儲用戶選擇的答案ALLSCORE DB 0 ;用

23、以存儲總分數(shù)SINGESCORE DB 50 DUP(2)CORRANSWER DB 50 DUP(0)CONUT DW 1 ;用以記錄當(dāng)前所處的題數(shù)MENUNUM DB 0 ;用以記錄首頁所選的功能項ANNUM DB ?;用以記錄當(dāng)前所選的ABCDOPTNUM DB 0;用以記錄所選的功能FRONT NEXT SUBMIT SHOW ANSWERTESTNUM DW 4 ;用以記錄本次考試題量TESTTIME DB 10 ;用以記錄本次考試的時間STTIMEMIN DB ?STTIMEHOUR DB ?SETNUM DB 0HANDLE DW ?FILENAME DB 'tiku.t

24、xt',0TXTDATA DB 1000 DUP(?)DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART: ;主程序,接收鍵盤消息,調(diào)配不同的功能子程序MOV AX,DATASMOV DS,AXMOV ES,AXAGN:UI 0CURSOR_POS 12,28,0STRING_OUT OFFSET SMenu2CURSOR_POS 12,39,0STRING_OUT OFFSET SMenu3CURSOR_POS 12,52,0STRING_OUT OFFSET SMenu4CURSOR_POS 12,21,0STRING_OUT

25、OFFSET SMenu1CURSOR_POS 20,56,0STRING_OUT OFFSET STR14MOV CH,10H ;隱藏光標MOV CL,00HMOV AH,1INT 10HFOCUS 40H,MENUNUMLAUNCH:MOV AH,0INT 16HCMP AH,4BHJZ LEFTCMP AH,4DHJZ RIGHTCMP AH,1CHJZ ENTER_SCMP AH,1JZ EXITJMP LAUNCHLEFT:FOCUS 70H,MENUNUMCMP MENUNUM,0JNZ NOMMOV AL,4MOV MENUNUM,ALNOM:DEC MENUNUMFOCUS 4

26、0H,MENUNUMJMP LAUNCHRIGHT:FOCUS 70H,MENUNUMCMP MENUNUM,3JNZ NOM2MOV AL,-1MOV MENUNUM,ALNOM2:INC MENUNUMFOCUS 40H,MENUNUMJMP LAUNCHENTER_S:CMP MENUNUM,0JNZ NT1CALL TESTPJMP AGNNT1:CMP MENUNUM,1JNZ NT2CALL PRCTICEPJMP AGNNT2:CMP MENUNUM,2JNZ NT3CALL SYSSETPJMP AGNNT3:CALL INTOTESTPJMP AGNEXIT:UI 0CURS

27、OR_POS 12,30,0STRING_OUT OFFSET STR13MOV AH,4CHINT 21HTESTP PROC ;進入測試功能的子程序LEA DX,FILENAME ;讀入題目MOV AL,0MOV AH,3DHINT 21HJC EXITMOV BX,AXLEA DX,TXTDATAMOV CX,1000MOV AH,3FHINT 21HJC EXITMOV AH,3EHINT 21HMOV CONUT,1 ;進行一些變量的初始化MOV BX,0CS1:MOV FLAGE2BX,-1INC BXCMP BX,50JNZ CS1MOV ALLSCORE,0MOV BX,0MO

28、V DI,2MOV SI,0MOV AX,TESTNUMADD AX,AXMOV CL,TXTDATASIMOV CORRANSWERSI,CLINC SIAGN1:;循環(huán)以處理讀入txtdata的題目,將每道題的起始偏移地址存入flage中,同時將每道題的正確答案存入corranswer中CMP TXTDATABX,'$'JNZ FLGINC BXMOV CL,TXTDATABXMOV CORRANSWERSI,CLMOV FLAGEDI,BXADD DI,2INC SIFLG:INC BXCMP DI,AXJNZ AGN1UI 0MOV AH,2INT 1AHMOV STT

29、IMEHOUR,CHMOV STTIMEMIN,CLAGN2: ;循環(huán)以刷新題CURSOR_POS 3,10,0STRING_OUT OFFSET STR10NUMOUT BYTE PTR TESTNUMCURSOR_POS 3,60,0STRING_OUT OFFSET STR11MOV AH,2INT 1AHSUB CH,STTIMEHOURSUB CL,STTIMEMINMOV AL,60MUL CHADD CL,ALMOV AH,TESTTIMESUB AH,CLMOV CH,AHCURSOR_POS 3,65,0NUMOUT CHCMP CH,0JG CONTIUEUI 0CURSO

30、R_POS 12,30,0STRING_OUT OFFSET STR12MOV AH,0INT 16HJMP NX2CONTIUE:MOV BX,CONUTMOV AL,FLAGE2BXCMP AL,-1JNZ YPXMOV AL,0YPX:MOV ANNUM,ALMOV AL,0MOV OPTNUM,ALDEC BXADD BX,BXMOV BX,FLAGEBXMOV DI,OFFSET TXTDATA+1ADD DI,BXCURSOR_POS 5,0,0MOV DL,5BHMOV AH,6INT 21HNUMOUT BYTE PTR CONUTMOV DL,5DHMOV AH,6INT 2

31、1HMOV DL,32MOV AH,6INT 21HSTRING_OUT DISTRING_OUT2 (OFFSET STR3),12,0,20,0,70HSTRING_OUT2 (OFFSET STR5),15,14,5,0,70HSTRING_OUT2 (OFFSET STR6),15,35,4,0,70HSTRING_OUT2 (OFFSET STR7),15,58,6,0,70HFOCUS2 40H,ANNUM,0LAUNCHP: ;此循環(huán)用以實現(xiàn)選擇答案的效果MOV AH,0INT 16HCMP AH,4BHJZ LEFTPCMP AH,4DHJZ RIGHTPCMP AH,50HJ

32、Z DOWNPCMP AH,1CHJZ DOWNPJMP LAUNCHPLEFTP:FOCUS2 70H,ANNUM,0CMP ANNUM,0JNZ NOMPMOV AL,4MOV ANNUM,ALNOMP:DEC ANNUMFOCUS2 40H,ANNUM,0JMP LAUNCHPRIGHTP:FOCUS2 70H,ANNUM,0CMP ANNUM,3JNZ NOM2PMOV AL,-1MOV ANNUM,ALNOM2P:INC ANNUMFOCUS2 40H,ANNUM,0JMP LAUNCHPDOWNP:MOV BX,CONUTMOV AL,ANNUMMOV FLAGE2BX,ALFOC

33、US3 40H,OPTNUMLAUNCH2: ;此循環(huán)用以實現(xiàn)選擇FRONT,NEXT,SUBMIT功能選項的效果MOV AH,0INT 16HCMP AH,4BHJZ LEFT2CMP AH,4DHJZ RIGHT2CMP AH,48HJZ UP2CMP AH,1CHJZ ENTER_2JMP LAUNCH2UP2:FOCUS3 70H,OPTNUMJMP LAUNCHPLEFT2:FOCUS3 70H,OPTNUMCMP OPTNUM,0JNZ NOM12MOV AL,3MOV OPTNUM,ALNOM12:DEC OPTNUMFOCUS3 40H,OPTNUMJMP LAUNCH2RIG

34、HT2:FOCUS3 70H,OPTNUMCMP OPTNUM,2JNZ NOM22MOV AL,-1MOV OPTNUM,ALNOM22:INC OPTNUMFOCUS3 40H,OPTNUMJMP LAUNCH2ENTER_2:CMP OPTNUM,0JNZ NX1CMP CONUT,1JZ LAUNCH2DEC CONUTJMP AGN2NX1:CMP OPTNUM,1JNZ NX2MOV AX,CONUTCMP AX,TESTNUMJZ LAUNCH2INC CONUTJMP AGN2NX2:MOV BX,0MY: MOV AL,FLAGE2BX+1ADD AL,41HCMP AL,C

35、ORRANSWERBXJNZ YPMOV CL,SINGESCOREBXADD ALLSCORE,CLYP: INC BXCMP BX,TESTNUMJNZ MYUI 0CURSOR_POS 12,25,0STRING_OUT OFFSET STR8NUMOUT ALLSCOREMOV AH,0INT 16HRETTESTP ENDPPRCTICEP PROC ;進入練習(xí)模式子程序,大部分代碼和測試功能相近LEA DX,FILENAMEMOV AL,0MOV AH,3DHINT 21HJC EXITMOV BX,AXLEA DX,TXTDATAMOV CX,1000MOV AH,3FHINT

36、21HJC EXITMOV AH,3EHINT 21HMOV CONUT,1MOV BX,0CS1:MOV FLAGE2BX,-1INC BXCMP BX,50JNZ CS1MOV BX,0MOV DI,2MOV SI,0MOV AX,TESTNUMADD AX,AXMOV CL,TXTDATASIMOV CORRANSWERSI,CLINC SIAGN1:CMP TXTDATABX,'$'JNZ FLGINC BXMOV CL,TXTDATABXMOV CORRANSWERSI,CLMOV FLAGEDI,BXADD DI,2INC SIFLG:INC BXCMP DI,AX

37、JNZ AGN1AGN2:UI 0CURSOR_POS 3,27,0STRING_OUT OFFSET STR10NUMOUT BYTE PTR TESTNUMMOV BX,CONUTMOV AL,FLAGE2BXCMP AL,-1JNZ YPXMOV AL,0YPX:MOV ANNUM,ALMOV AL,0MOV OPTNUM,ALDEC BXADD BX,BXMOV BX,FLAGEBXMOV DI,OFFSET TXTDATA+1ADD DI,BXCURSOR_POS 5,0,0MOV DL,5BHMOV AH,6INT 21HNUMOUT BYTE PTR CONUTMOV DL,5D

38、HMOV AH,6INT 21HMOV DL,32MOV AH,6INT 21HSTRING_OUT DISTRING_OUT2 (OFFSET STR3),12,0,20,0,70HSTRING_OUT2 (OFFSET STR5),15,14,5,0,70HSTRING_OUT2 (OFFSET STR6),15,35,4,0,70HSTRING_OUT2 (OFFSET STR9),15,58,11,0,70HCURSOR_POS 18,41,0STRING_OUT OFFSET STR14FOCUS2 40H,ANNUM,0LAUNCHP:MOV AH,0INT 16HCMP AH,4

39、BHJZ LEFTPCMP AH,4DHJZ RIGHTPCMP AH,50HJZ DOWNPCMP AH,1CHJZ DOWNPCMP AH,1HJZ EXIT2JMP LAUNCHPLEFTP:FOCUS2 70H,ANNUM,0CMP ANNUM,0JNZ NOMPMOV AL,4MOV ANNUM,ALNOMP:DEC ANNUMFOCUS2 40H,ANNUM,0JMP LAUNCHPRIGHTP:FOCUS2 70H,ANNUM,0CMP ANNUM,3JNZ NOM2PMOV AL,-1MOV ANNUM,ALNOM2P:INC ANNUMFOCUS2 40H,ANNUM,0JM

40、P LAUNCHPDOWNP:MOV BX,CONUTMOV AL,ANNUMMOV FLAGE2BX,ALFOCUS4 40H,OPTNUMLAUNCH2:MOV AH,0INT 16HCMP AH,4BHJZ LEFT2CMP AH,4DHJZ RIGHT2CMP AH,48HJZ UP2CMP AH,1CHJZ ENTER_2CMP AH,1HJZ EXIT2JMP LAUNCH2UP2:FOCUS4 70H,OPTNUMJMP LAUNCHPLEFT2:FOCUS4 70H,OPTNUMCMP OPTNUM,0JNZ NOM12MOV AL,3MOV OPTNUM,ALNOM12:DE

41、C OPTNUMFOCUS4 40H,OPTNUMJMP LAUNCH2RIGHT2:FOCUS4 70H,OPTNUMCMP OPTNUM,2JNZ NOM22MOV AL,-1MOV OPTNUM,ALNOM22:INC OPTNUMFOCUS4 40H,OPTNUMJMP LAUNCH2ENTER_2:CMP OPTNUM,0JNZ NX1CMP CONUT,1JZ LAUNCH2DEC CONUTJMP AGN2NX1:CMP OPTNUM,1JNZ NX2MOV AX,CONUTCMP AX,TESTNUMJZ LAUNCH2INC CONUTJMP AGN2NX2:CURSOR_P

42、OS 12,40,0STRING_OUT OFFSET STR4MOV BX,CONUTMOV AL,CORRANSWERBX-1MOV DL,ALMOV AH,6INT 21HJMP LAUNCH2EXIT2:RETPRCTICEP ENDPSYSSETP PROC ;進入系統(tǒng)設(shè)置子程序LAUNCHST:UI 0CURSOR_POS 5,30,0STRING_OUT OFFSET SMenu3CURSOR_POS 10,9,0STRING_OUT OFFSET STR11CURSOR_POS 10,14,0NUMOUT TESTTIMECURSOR_POS 14,9,0STRING_OUT

43、OFFSET STR17NUMOUT BYTE PTR TESTNUMCURSOR_POS 18,9,0STRING_OUT OFFSET STR18STRING_OUT OFFSET STR19MOV CONUT,1NUMOUT BYTE PTR CONUTSTRING_OUT OFFSET STR20MOV BX,CONUTNUMOUT SINGESCOREBX-1MOV SETNUM,0FOCUS5 40H,SETNUMCURSOR_POS 20,41,0STRING_OUT OFFSET STR14LAUNCH3:MOV AH,0INT 16HCMP AH,50HJZ DOWN3CMP

44、 AH,48HJZ UP3CMP AH,1CHJZ ENTER_3CMP AH,4DHJZ ENTER_3CMP AH,1JZ EXIT2JMP LAUNCH3UP3:FOCUS5 70H,SETNUMCMP SETNUM,0JNZ NOM13MOV AL,3MOV SETNUM,ALNOM13:DEC SETNUMFOCUS5 40H,SETNUMJMP LAUNCH3DOWN3:FOCUS5 70H,SETNUMCMP SETNUM,2JNZ NOM23MOV AL,-1MOV SETNUM,ALNOM23:INC SETNUMFOCUS5 40H,SETNUMJMP LAUNCH3ENT

45、ER_3:CMP SETNUM,0JNZ NX1FOCUS5 70H,SETNUMCURSOR_POS 10,14,0CLEAR 10,14,10,16,30HNUMOUT TESTTIMECHANGE1: ;此循環(huán)通過上下鍵調(diào)整考試時間,下面的CHANGE2,CHANGE3,CHANGE4分別是實現(xiàn)調(diào)整考試題數(shù),考試分數(shù)的MOV AH,0INT 16HCMP AH,50HJZ REDUC1CMP AH,48HJZ ADD1CMP AH,1CHJZ SURE1CMP AH,4BHJZ SURE1CMP AH,1JZ EXIT2JMP CHANGE1REDUC1:MOV AL,TESTTIMEC

46、MP AL,5JA SOSJMP CHANGE1SOS:SUB AL,5MOV TESTTIME,ALCURSOR_POS 10,14,0CLEAR 10,14,10,16,30HNUMOUT TESTTIMEJMP CHANGE1ADD1:MOV AL,TESTTIMECMP AL,175JBE SOS1JMP CHANGE1SOS1:ADD AL,5MOV TESTTIME,ALCURSOR_POS 10,14,0CLEAR 10,14,10,16,30HNUMOUT TESTTIMEJMP CHANGE1SURE1:CURSOR_POS 10,14,0CLEAR 10,14,10,16,

47、70HNUMOUT TESTTIMEFOCUS5 40H,SETNUMJMP LAUNCH3NX1:CMP SETNUM,1JNZ NX2CURSOR_POS 14,21,0CLEAR 14,21,14,23,30HNUMOUT BYTE PTR TESTNUMFOCUS5 70H,SETNUMCHANGE2:MOV AH,0INT 16HCMP AH,50HJZ REDUC2CMP AH,48HJZ ADD2CMP AH,1CHJZ SURE2CMP AH,4BHJZ SURE2CMP AH,1JZ EXIT2JMP CHANGE2REDUC2:MOV AX,TESTNUMCMP AX,1J

48、A SASJMP CHANGE2SAS:SUB AX,1MOV TESTNUM,AXCURSOR_POS 14,21,0CLEAR 14,21,14,23,30HNUMOUT BYTE PTR TESTNUMJMP CHANGE2ADD2:MOV AX,TESTNUMCMP AX,150JBE SAS1JMP CHANGE2SAS1:ADD AX,1MOV TESTNUM,AXCURSOR_POS 14,21,0CLEAR 14,21,14,23,30HNUMOUT BYTE PTR TESTNUMJMP CHANGE2SURE2:CURSOR_POS 14,21,0CLEAR 14,21,1

49、4,23,70HNUMOUT BYTE PTR TESTNUMFOCUS5 40H,SETNUMJMP LAUNCH3NX2:FOCUS5 70H,SETNUMCURSOR_POS 18,24,0CLEAR 18,24,18,26,30HNUMOUT BYTE PTR CONUTCHANGE3:MOV AH,0INT 16HCMP AH,50HJZ REDUC3CMP AH,48HJZ ADD3CMP AH,1CHJZ SCORCMP AH,4BHJZ SURE3CMP AH,1JZ EXIT2CMP AH,4DHJZ SCORJMP CHANGE3REDUC3:CMP CONUT,1JA S

50、BSJMP CHANGE3SBS:DEC CONUTCURSOR_POS 18,24,0CLEAR 18,24,18,26,30HNUMOUT BYTE PTR CONUTCURSOR_POS 18,41,0CLEAR 18,41,18,43,70HMOV BX,CONUTNUMOUT SINGESCOREBX-1JMP CHANGE3ADD3:MOV AX,TESTNUMCMP CONUT,AXJB SBS2JMP CHANGE3SBS2:INC CONUTCURSOR_POS 18,24,0CLEAR 18,24,18,26,30HNUMOUT BYTE PTR CONUTCURSOR_P

51、OS 18,41,0CLEAR 18,41,18,43,70HMOV BX,CONUTNUMOUT SINGESCOREBX-1JMP CHANGE3SURE3:CURSOR_POS 18,24,0CLEAR 18,24,18,26,70HNUMOUT BYTE PTR CONUTFOCUS5 40H,SETNUMJMP LAUNCH3SCOR:CURSOR_POS 18,24,0CLEAR 18,24,18,26,70HNUMOUT BYTE PTR CONUTCURSOR_POS 18,41,0CLEAR 18,41,18,43,30HMOV BX,CONUTNUMOUT SINGESCO

52、REBX-1CHANGE4:MOV AH,0INT 16HCMP AH,50HJZ REDUC4CMP AH,48HJZ ADD4CMP AH,1CHJZ SURE4CMP AH,4BHJZ SURE4CMP AH,1JZ EXIT2JMP CHANGE4REDUC4:MOV BX,CONUTCMP SINGESCOREBX-1,1JA SCSJMP CHANGE4SCS:MOV BX,CONUTDEC SINGESCOREBX-1CURSOR_POS 18,41,0CLEAR 18,41,18,43,30HMOV BX,CONUTNUMOUT SINGESCOREBX-1JMP CHANGE4ADD4:MOV BX,CONUTCMP SINGESCOREBX-1,100JB SCS2JMP CHANGE4SCS2:MOV BX,CONUTINC SINGESCOREBX-1CURSOR_POS

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論