版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..秒表程序設(shè)計摘要:本課程設(shè)計旨在設(shè)計一個秒表計時并儲存計時的程序,可控制秒表的計時開始及結(jié)束,實現(xiàn)秒表的準確計時,存儲計時數(shù)據(jù),翻閱計時數(shù)據(jù),清除計時數(shù)據(jù)等功能。本程序是基于8086微機系統(tǒng)設(shè)計,在MasmforWindows軟件下采用匯編語言編寫,通過選擇8253定時器0,工作方式3,輸出周期為10ms的方波,產(chǎn)生穩(wěn)定延時,調(diào)用各種中斷完成程序各邏輯模塊設(shè)計,通過鍵盤掃描得到輸入的值,執(zhí)行對應(yīng)功能。每10ms計時一次,每60秒一次循環(huán),存儲數(shù)據(jù)設(shè)定為最多20組,可隨時存入數(shù)據(jù),操作自由度極高,經(jīng)測試,60秒計時誤差不超過1.2%,可實現(xiàn)準確計時及存儲功能。關(guān)鍵字:秒表、顯示計時、存儲計時、匯編設(shè)計任務(wù)分析與方案選擇本設(shè)計需實現(xiàn)秒表穩(wěn)定計時,并顯示,需要存儲計時數(shù)據(jù)時可立即將當前計時數(shù)據(jù)存入緩沖區(qū),暫停計時時立即結(jié)束并可復(fù)位或者繼續(xù)計數(shù)或者查看存儲數(shù)據(jù),在查看數(shù)據(jù)時可前后翻閱存儲數(shù)據(jù),并可清除,當退出查看數(shù)據(jù)后可使秒表繼續(xù)計數(shù)或復(fù)位。方案選擇系統(tǒng)硬件設(shè)計選擇本設(shè)計采用8253定時器0,工作方式3獲得周期為10ms的穩(wěn)定計時單位,使用8086CPU進行譯碼,當定時到1s的時候產(chǎn)生一個中斷信號,在中斷服務(wù)程序進行秒的計數(shù),并送入相應(yīng)的存儲單元,8259芯片提供中斷,并用8255的A口接七段數(shù)碼管的段選信號,B口接七段數(shù)碼管的位選信號。系統(tǒng)軟件設(shè)計選擇在代碼實現(xiàn)上,對于按鍵的輸入上可以直接讀取或是先掃描鍵盤再讀取,本設(shè)計只存在各邏輯功能之間的轉(zhuǎn)換,因此選擇先掃描鍵盤再讀取的方法,可提高代碼的容錯率及可操作性;使用宏定義及光標定位的方法,并配合各種中斷設(shè)計界面圖形及字體顏色,宏定義可以減少代碼的重復(fù)度,且便于修改功能,可任意調(diào)用,通過定位光標可確定輸出位置,可實現(xiàn)同一位置的動態(tài)輸出;對于時間的掃描,可以選擇直接讀取系統(tǒng)當前的時間或是讀取系統(tǒng)時鐘的計時單位,前者的讀取直接是BCD碼非常便于輸出顯示,后者需要不停的讀取計時單位讀取次數(shù)非常多,而且結(jié)果不是BCD碼,需要做判斷轉(zhuǎn)換輸出,此設(shè)計采用讀取系統(tǒng)時鐘的計時單位,雖然需要不停的讀取計時單位讀取次數(shù)非常多,而且結(jié)果不是BCD碼,需要做判斷轉(zhuǎn)換輸出,但是經(jīng)過與實際情況比較,后者的計時更為準確,區(qū)分度更大。2詳細設(shè)計2.1理論分析與計算此設(shè)計需要實現(xiàn)單位為1秒的秒表穩(wěn)定計時,8253定時器0工作方式3,外部提供一個時鐘作為CLK信號,頻率f=1.1931816MHz,為得到周期為10ms的方波,應(yīng)對8253定時器設(shè)置計數(shù)初值為1.1932×10×10^-3=11932。因此,8259A每隔10ms向CPU申請一次中斷。可用10作為基本計時單位,此設(shè)計的毫秒每一個計時單位改變一次,要達到1秒的計時,需要的計時單位為:1000ms/10=100,則計數(shù)滿足100個計時單位時,即毫秒計時到100時,秒位加1,完成1秒穩(wěn)定計時。2.2算法設(shè)計本設(shè)計的算法包括鍵盤檢測及讀取、秒表計時及輸出,數(shù)據(jù)存儲、數(shù)據(jù)操作、界面及提示詞設(shè)計。2.2.1鍵盤檢測及讀取使用21H中斷的0BH中斷檢測是否有鍵盤按下,如果沒有鍵盤按下則繼續(xù)檢測,如果有鍵盤按下使用21H中斷的08H中斷判斷是否為所設(shè)定的值,如果不是,繼續(xù)檢測輸入,如果是便按邏輯進行。2.2.2秒表計時及輸出使用8253定時器0,工作方式3獲得的周期為,10ms的方波作為計時單位,調(diào)用1CH中斷,讀取1CH原中斷向量,并設(shè)置中斷向量,取計時處理程序偏移地址及段地址,計時處理程序中毫秒加一直到100ms,秒位便加一,毫秒清零,繼續(xù)計時。定位光標,在光標位置輸出計時,顯示格式為00:00:00,計時顯示采用高位低位分開顯示,將計時數(shù)值除以10,得到商和余數(shù),商作為高位,余數(shù)作為低位,當計時單位滿1后,毫秒位加1毫秒,毫秒計時到100,秒位加1并動態(tài)顯示。2.2.3數(shù)據(jù)存儲在數(shù)據(jù)段中定義一個大小為40字的全為0的緩沖區(qū)用于存儲計時數(shù)值,在代碼段中合適位置取緩沖區(qū)的偏移地址給寄存器,存儲方式采用高位低位分開存儲的方式,將秒數(shù)值除以10,商存前一個字節(jié),余數(shù)存后一個字節(jié),存完高位后寄存器指向下一個字節(jié)存低位,低位存完之后寄存器再指向下一字節(jié),用于存儲毫秒計時的高位。2.2.4數(shù)據(jù)操作定義光標,取緩沖區(qū)的偏移地址給寄存器,在合適位置從第一次存儲的數(shù)據(jù)開始顯示,此時寄存器指向第一個字節(jié),調(diào)用21H的0BH檢測鍵盤輸入,如有鍵盤輸入,調(diào)用21H的08H檢測鍵入值,當接收操作為查看下一個存儲數(shù)據(jù)時,寄存器加2,指向下一組數(shù)據(jù)的高位,并調(diào)用21H的09H中斷顯示當前數(shù)值,寄存器加一,調(diào)用21H的09H中斷顯示當前所指數(shù)據(jù);當接收操作為查看上一個存儲數(shù)據(jù)時,寄存器減二,指向上一組數(shù)據(jù)的高位,并調(diào)用21H的09H中斷顯示當前數(shù)值,寄存器加一,調(diào)用21H的09H中斷顯示當前所指數(shù)據(jù);當接收操作為清除當前數(shù)據(jù)時,將0存入當前寄存器所指字節(jié)及下一字節(jié),并調(diào)用21H的09H中斷顯示當前數(shù)值:00:00;當接收操作為返回計時時,判斷鍵入,跳轉(zhuǎn)到相應(yīng)操作。2.2.5界面及提示詞設(shè)計在數(shù)據(jù)段定義提示語句字符串,使用10H的02H中斷定位光標,在代碼段中相應(yīng)位置取代碼段的偏移地址,使用21H的09H中斷顯示字符串,使用宏定義,擁有兩個參數(shù),一個是光標位置,所在行數(shù)和列數(shù),調(diào)用10H的02H中斷置光標,調(diào)用21H的09H顯示字符,可實現(xiàn)在任意位置顯示任意字符,用此宏定義繪制計時區(qū)及記憶區(qū)圖形,搭配10H的06H中斷可在任一區(qū)域進行顯示,為使各區(qū)域鮮明區(qū)分,改變10H的06H中斷中出口參數(shù)BH的值,設(shè)置各字符串為不同顏色,實現(xiàn)彩色輸出,增強觀賞性。2.3硬件電路設(shè)計11.193MHZ圖1,硬件電路設(shè)計在整個電子鐘的設(shè)計中。我們使用8253用于定時功能,由于8259的中斷只能是電平與電緣觸發(fā),所以我們選擇電緣觸發(fā)。由于我們選擇一次寫入計數(shù)初值后的能循環(huán)進行,所以我們選擇工作方式0在每次的計數(shù)初值的N-1是產(chǎn)生一個脈沖。在CLK0引腳接入1.1932MHZ的時鐘周期,而將計數(shù)初值寫為11932,繼而在OUT0會在每1ms產(chǎn)生脈沖,在控制字的時候采用二進制計數(shù),所以其控制字為00110110B,所以8253能產(chǎn)生準確的計時功能。8255A芯片,將8255A的A,B口均工作在工作方式0的下,且為輸出控制LED的位選與片選,而C口用于修改時間用,同樣工作于方式0低四位輸出。所以其控制字為81H。8259A芯片用于產(chǎn)生中斷信號去自動修改秒針。所以只需將8259的IR0產(chǎn)生中斷,其他未屏蔽,單片8259,上升沿中斷,要寫ICW4,中斷號為20H,工作在8086方式。2.4軟件設(shè)計在軟件實現(xiàn)上,對于按鍵的輸入上采用DOS系統(tǒng)功能,通過功能號0BH對應(yīng)功能掃描鍵盤判斷是否有按鍵被按下,如果有則通過功能號08H對應(yīng)功能讀取鍵盤緩沖區(qū)得到按鍵輸入信息。1S定時采用8253定時器0,工作方式3獲得10ms穩(wěn)定計時單位,設(shè)置1CH中斷向量,程序進行時,不斷讀取1CH中斷服務(wù)程序是否計數(shù)到1個計時單位。計時儲存采用高位低位分開存儲到DW類型的緩沖區(qū)中方法,讀取存儲也采用高低位分別讀取的方法。界面設(shè)計采用定義宏定義的方法,參數(shù)包括光標定位位置及需要輸出的字符串,調(diào)用INT10H的06H中斷設(shè)置每個區(qū)域的顯示及字符串的顏色。軟件代碼流程圖:圖2:設(shè)計流程圖圖2為設(shè)計流程圖,程序運行時會等待輸入,當輸入為S,便開始計時,開始計時時可輸入E或者R,輸入R,存儲當前計時;輸入E,暫停計數(shù),程序在此等待輸入,當輸入為C,繼續(xù)計數(shù);當輸入為D,重新計數(shù);當輸入為W,查看存儲區(qū)所存儲數(shù)據(jù),存儲區(qū)顯示第一次存儲的數(shù)據(jù),等待輸入,當輸入為N,查看下一組存儲數(shù)據(jù);當輸入U,查看上一組存儲數(shù)據(jù);當輸入D,清除當前組數(shù)據(jù);當輸入B,返回計時區(qū),等待輸入。3系統(tǒng)調(diào)試與效果分析運行效果圖:圖3為程序開始界面,按下S開始計時圖3:程序開始界面圖4為程序開始計時界面,按下R存儲當前計時,按下E暫停計時圖4:程序運行界面圖5為存儲區(qū)顯示界面,按下N,查詢下一組存儲數(shù)據(jù),按下U查看上一組存儲數(shù)據(jù),按下D清除當前組數(shù)據(jù),按下B返回計時區(qū)重新等待操作。圖5:存儲區(qū)顯示界面圖6,為當前存儲清零,按下U,顯示上一組,按下N,顯示下一組,按下B,返回計時。圖6:清除當前存儲區(qū)4問題解決4.1計時精度初版設(shè)計采用1AH的00H中斷讀取系統(tǒng)時鐘進行直接計時判斷,在程序開始的地方判斷是否滿足18個計時單位,滿足則加1秒,此程序是在所有后面判斷鍵盤輸入、存儲數(shù)據(jù)等操作之后才清零計時單位,重新計數(shù)判斷,在循環(huán)設(shè)計中,由于每行指令的執(zhí)行都會消耗一定的時間,這就造成了在執(zhí)行其他代碼時計時單位沒有繼續(xù)計數(shù),使本來計時周期為1秒變?yōu)椴恢挂幻?經(jīng)測試,60秒計時產(chǎn)生誤差超過25%,完全達不到秒表計時標準,未解決計時單位計數(shù)與代碼執(zhí)行的同步問題,為解決此問題采用了更改中斷向量1CH的辦法,使用8253定時器0,工作方式3,設(shè)置計數(shù)初值為11932,并在任意代碼執(zhí)行的同時讀取計時單位計數(shù)數(shù)值,這就避免了其他代碼執(zhí)行時計數(shù)并不進行的問題,經(jīng)測試,60秒計時產(chǎn)生誤差不超過1.2%,達到秒表計時標準。4.2各邏輯之間的相互跳轉(zhuǎn)在對鍵入值進行判斷后會有各邏輯之間的跳轉(zhuǎn),使用JZ,JNZ等條件轉(zhuǎn)移指令時會出現(xiàn)錯誤,導(dǎo)致程序跳轉(zhuǎn)到非理想位置,由于這個設(shè)計主要是各邏輯之間的跳轉(zhuǎn),因此我將各邏輯轉(zhuǎn)移繪制成流程圖,并標明所需的跳轉(zhuǎn)轉(zhuǎn)移指令,解決各邏輯之間錯誤轉(zhuǎn)移的問題。使用條件轉(zhuǎn)移指令跳轉(zhuǎn)時可能會發(fā)生跳轉(zhuǎn)指令錯誤,是因為這些跳轉(zhuǎn)指令的跳轉(zhuǎn)范圍是有限的,當跳轉(zhuǎn)范圍在128B之內(nèi)時才能使用這些指令,超過了需要使用長跳轉(zhuǎn)指令。4.3對數(shù)據(jù)的存儲數(shù)據(jù)存儲的緩沖區(qū)的類型為DW,有兩個字節(jié),在存儲時采用的是高低位分開存儲的方式,存儲低位時使用的是MOV[DI+1],DL,這個指令可實現(xiàn)將DL中的值存入DI+1這個字節(jié),存下一組數(shù)據(jù)時只INCDI了一次,造成存儲錯誤,后來經(jīng)查閱資料發(fā)現(xiàn)即便執(zhí)行了MOV[DI+1],DL,DI實際指向的單位仍然是高位字節(jié),因此在程序結(jié)束后應(yīng)INCDI四次才能指向下一組數(shù)據(jù)的高位。參考文獻[1]黃玉清,劉雙虎,楊勝波,微機原理與接口技術(shù),2015,8<2>:170-187.附件清單程序:;----設(shè)置圖形顯示宏定義-----DISMACROLOCAT,CODEPUSHDXPUSHBXPUSHAXMOVDX,LOCAT;設(shè)置光標位置MOVBH,00MOVAH,02HINT10HMOVDL,CODE;輸出字符串MOVAH,02HINT21HPOPAXPOPBXPOPDXENDMDATASEGMENTMSDB0SECDB0MSECDB0MINDB0FLAGDB0SFLAG DB 0 INIE DW 0 INIB DW 0MIDB'00:$'MEMDW40DUP<'0'>SPACEDB'$'NULINE DB 3DUP<0>,'$' WSTR DB"00:00:00",'$'TITDB'********CurriculumDesign********$'OPERATIONDB'Operation:$'PROMPT1DB'1.timezone:Input"S"Start,"R"Remember,"C"Continue,"D"diaplasis,"E"Exit$'PROMPT2DB'2.memoryzone:Input"N"Next,"U"Up,"D"Delete,"B"Back$'TIP1DB'OperatingTimeZone$'TIP2DB'OperatingMemoryZone$'NAMDB'---ByCaiLiqiang$'DATAENDSSTACKSEGMENTSTADB256DUP<0>TOPEQU$-STASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MAINPROCFAR;;;;;;;;;;;;XORAX,AXMOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVDI,OFFSETMEMCALLCLRTIP;標題初始化函數(shù);-----標題-----MOVDH,00HMOVDL,15HMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETTITMOVAH,09HINT21HCALLCLROPR;提示初始化;-----操作-----MOVDH,02HMOVDL,00HMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETOPERATIONMOVAH,09HINT21H;-----操作區(qū)提示-----MOVDH,03HMOVDL,00HMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETPROMPT1MOVAH,09HINT21HMOVDH,04HMOVDL,00HMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETPROMPT2MOVAH,09HINT21H;-----計時區(qū)-----CALLCLRTIM;計時區(qū)初始化MOVDH,06HMOVDL,05HMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETTIP1MOVAH,09HINT21H;-----計時圖形----DIS070EH,'*'DIS070FH,'*'DIS0710H,'*'DIS0711H,'*'DIS0814H,'*'DIS0916H,'*'DIS0A18H,'*'DIS0B1AH,'*'DIS0D1BH,'*'DIS0E1BH,'*'DIS101AH,'*'DIS1118H,'*'DIS1216H,'*'DIS1314H,'*'DIS1411H,'*'DIS1410H,'*'DIS140FH,'*'DIS140EH,'*'DIS130BH,'*'DIS1209H,'*'DIS1107H,'*'DIS1005H,'*'DIS0E04H,'*'DIS0D04H,'*'DIS0B05H,'*'DIS0A07H,'*'DIS0909H,'*'DIS080BH,'*';-----記憶區(qū)-----CALLCLRMEMMOVDH,06HMOVDL,2DHMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETTIP1MOVAH,09HINT21H;-----記憶區(qū)圖形-----DIS072EH,'*'DIS0731H,'*'DIS0733H,'*'DIS0735H,'*'DIS0737H,'*'DIS0739H,'*'DIS073BH,'*'DIS073EH,'*'DIS093EH,'*'DIS0B3EH,'*'DIS0D3EH,'*'DIS0F3EH,'*'DIS113EH,'*'DIS133EH,'*'DIS143EH,'*'DIS143BH,'*'DIS1439H,'*'DIS1437H,'*'DIS1435H,'*'DIS1433H,'*'DIS1431H,'*'DIS142EH,'*'DIS132EH,'*'DIS112EH,'*'DIS0F2EH,'*'DIS0D2EH,'*'DIS0B2EH,'*'DIS092EH,'*'DIS072EH,'*';-----名字-----CALLCLRNAMEMOVDH,16HMOVDL,3EHMOVBH,00HMOVAH,02HINT10HMOVDX,OFFSETNAMMOVAH,09HINT21HCALLLIGHTCALLSHOWALL;計時MAINENDP;;;;;;;;;;;;;子程序;;;;;;;;;;;;;-----顯示存儲數(shù)據(jù)程序-----WATCHPROCMOVDI,OFFSETMEM;把MEM的偏移地址送DIMOVDL,[DI];輸出第一個保存數(shù)據(jù)ADDDL,48MOVAH,02HINT21HADDDL,48MOVDL,[DI+1];輸出第一個保存數(shù)據(jù)MOVAH,02HINT21HMOVDL,':'MOVAH,02HINT21HMOVDL,[DI+2];輸出第一個保存數(shù)據(jù)ADDDL,48MOVAH,02HINT21HADDDL,48MOVDL,[DI+3];輸出第一個保存數(shù)據(jù)MOVAH,02HINT21HX:MOVAH,0BH;利用INT21H/0BH功能號,檢測是否有鍵盤按下INT21HCMPAL,00HJZX;沒有鍵入,轉(zhuǎn)XMOVAH,08H;有鍵入,調(diào)用INT21H/08H,檢測鍵入值INT21HJMPX5X0:CMPAL,'n';'n'判斷是否查看下一個數(shù)據(jù)JZX1;是,執(zhí)行X1,查看下一個數(shù)據(jù)JMPX2;否,執(zhí)行X2X1:;查看第一個數(shù)據(jù)INCDIINCDIINCDIINCDICALLDISMEMMOVDL,[DI]ADDDL,48MOVAH,02HINT21HMOVDL,[DI+1]MOVAH,02HINT21HMOVDL,':'MOVAH,02HINT21HMOVDL,[DI+2];輸出第一個保存數(shù)據(jù)ADDDL,48MOVAH,02HINT21HADDDL,48MOVDL,[DI+3];輸出第一個保存數(shù)據(jù)MOVAH,02HINT21HMOVAH,08H;有鍵入,調(diào)用INT21H/08H,檢測鍵入值INT21HCMPAL,'d';'d'判斷是否清除JZX4;清除JMPX5;不清除繼續(xù)檢測X2:CMPAL,'u';'u'檢測是否查看上一個數(shù)據(jù)JZX3;是,查看上一個數(shù)據(jù)JMPX5;否,繼續(xù)檢測X3:;查看上一個數(shù)據(jù)DECDIDECDIDECDIDECDICALLDISMEMMOVDL,[DI]ADDDL,48MOVAH,02HINT21HMOVDL,[DI+1]MOVAH,02HINT21HMOVDL,':'MOVAH,02HINT21HMOVDL,[DI+2];輸出第一個保存數(shù)據(jù)ADDDL,48MOVAH,02HINT21HADDDL,48MOVDL,[DI+3];輸出第一個保存數(shù)據(jù)MOVAH,02HINT21HMOVAH,08H;有鍵入,調(diào)用INT21H/08H,檢測鍵入值INT21HCMPAL,'d';'d'否清除JZX4JMPX5X4:CALLDISMEMMOVDL,00H;清除當前數(shù)據(jù),00MOV[DI],DLADDDL,48MOVAH,02HINT21HMOV[DI+1],DLMOVAH,02HINT21HMOVDL,':'MOVAH,02HINT21HMOVDL,00H;清除當前數(shù)據(jù),00MOV[DI+2],DLADDDL,48MOVAH,02HINT21HMOV[DI+3],DLMOVAH,02HINT21HMOVAH,08H;有鍵入,調(diào)用INT21H/08H,檢測鍵入值INT21HX5:CMPAL,'b';'b'判斷是否返回主程序JNZX0;否,繼續(xù)檢測PUSHAXPUSHBXPUSHDXMOVDH,0EHMOVDL,34HMOVBH,00HMOVAH,02HINT10HPOPDXPOPBXPOPAXMOVDX,OFFSETSPACEMOVAH,09HINT21HRET;返回WATCHENDP;-----計時顯示光標定位程序------LIGHTPROCNEARPUSHAXPUSHBXPUSHDXMOVDH,0DHMOVDL,0DHMOVBH,00HMOVAH,02HINT10HPOPDXPOPBXPOPAXRETLIGHTENDP;-----顯示存儲光標定位程序DISMEMPROCPUSHAXPUSHBXPUSHDXMOVDH,0EHMOVDL,35HMOVBH,00HMOVAH,02HINT10HPOPDXPOPBXPOPAXRETDISMEMENDP;-----標題初始化程序-----CLRTIPPROCMOVAL,1MOVCX,0000HMOVDX,0050HMOVBH,0CHMOVAH,06HINT10HRETCLRTIPENDP;-----提示初始化程序-----CLROPRPROCMOVAL,4MOVCX,0100HMOVDX,0450HMOVBH,05HMOVAH,06HINT10HRETCLROPRENDP;------計時區(qū)初始化程序-----CLRTIMPROCMOVAL,15MOVCX,0600HMOVDX,1420HMOVBH,0AHMOVAH,06HINT10HRETCLRTIMENDP;-----記憶區(qū)初始化程序-----CLRMEMPROCMOVAL,15MOVCX,0621HMOVDX,1450HMOVBH,0DHMOVAH,06HINT10HRETCLRMEMENDP;-----姓名初始化程序-----CLRNAMEPROCMOVAL,2MOVCX,1521HMOVDX,1750HMOVBH,0CHMOVAH,06HINT10HRETCLRNAMEENDPSHOWALL PROC CLIMOVAL,1CHMOVAH,35H INT21HMOVINIE,ESMOVINIB,BXSHOWINI: CALLLIGHTMOVDX,OFFSETWSTRMOVAH,09H INT21HKSCANW: MOVAH,0BH INT21HCMPAL,00H JEKSCANWMOVAH,08H INT21HCMPAL,'s' JETIME JMPKSCANW MOVAH,4CH INT21HTIME: MOVMIN,0MOVSEC,0MOVMSEC,0 CALLINITIRSHOWSTART: MOVSFLAG,1MOVFLAG,1 CALLLIGHT CALLTIMESHOWWSTOP: MOVAH,0BH INT21HCMPAL,00H JESHOWSTARTMOVAH,08H INT21HCMPAL,'e' JNERMOVSFLAG,0MOVFLAG,0 JMPJUDGER:CMPAL,'r';r,存儲計數(shù) JZMEMORY JMPSHOWSTARTMEMORY: ;存儲CMPSEC,9 JASECBIGMOVDL,00HMOV[DI],DLMOVDL,SECADDDL,48MOV[DI+1],DLINCDIINCDICMPMSEC,9 JAMSECBIGMOVDL,00HMOV[DI],DLMOVDL,MSECADDDL,48MOV[DI+1],DLINCDIINCDI JMPSHOWSTARTSECBIG:MOVCL,10MOVAL,SECMOVAH,0DIVCL ;AH存余數(shù),AL存商MOVDL,ALMOV[DI],DLMOVDH,AHMOVDL,DHADDDL,48MOV[DI+1],DLINCDIINCDIMSECBIG:MOVCL,10MOVAL,MSECMOVAH,0DIVCL ;AH存余數(shù),AL存商MOVDL,ALMOV[DI],DLMOVDH,AHMOVDL,DHADDDL,48MOV[DI+1],DLINCDIINCDI JMPSHOWSTARTJUDGE:MOVAH,0BH INT21HANDAL,AL JZJUDGEREJUDGE:MOVAH,08H INT21HCMPAL,'d';檢測是否輸入D,重新計數(shù) JZTIME ;是D,重新計時CMPAL,'c';檢測輸入是否為C,是否繼續(xù)計時 JZSHOWSTART;是C,繼續(xù)計時,否則繼續(xù)檢測CMPAL,'w';檢測是否輸入W,是否查看保存數(shù)據(jù) JNZREJUDGE ;否,繼續(xù)檢測DO6 CALLDISMEM CALLWATCH;查看保存數(shù)據(jù) JMPREJUDGE;繼續(xù)檢測MOVAH,4CH INT21H BACK:RET
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年三方協(xié)議書范文:新型供應(yīng)鏈合作合同2篇
- 2024版科技創(chuàng)新園區(qū)廠房抵押貸款合同范本2篇
- 2024年度農(nóng)產(chǎn)品供應(yīng)合同固定總價合同3篇
- 2024年度供應(yīng)鏈管理合同與物流服務(wù)2篇
- 2024年工程設(shè)計和技術(shù)specifications合同3篇
- 2024年度城市戶外廣告制作及安裝合同3篇
- 2024年度建筑工程三人合伙承包合同2篇
- 2024年秋季開學(xué)典禮校長演講稿模版(4篇)
- 2024年度內(nèi)支模架施工技術(shù)支持承包合同范本3篇
- 2024年貨運計劃員必知必會(4篇)
- 法院特別委托書授權(quán)模板
- 安徽工程大學(xué)《自然語言處理及應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年室內(nèi)設(shè)計協(xié)議書
- 中儲糧西安分公司招聘真題
- 大學(xué)人工智能期末考試題庫
- 2024土方開挖工程合同范本
- 企業(yè)綠色供應(yīng)鏈管理咨詢服務(wù)合同
- 食品安全事故專項應(yīng)急預(yù)案演練記錄6篇匯編(表格式)
- 2025年會計基礎(chǔ)知識考試題庫附答案
- 《資治通鑒》導(dǎo)讀學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年統(tǒng)編版新教材語文小學(xué)一年級上冊全冊單元測試題及答案(共8單元)
評論
0/150
提交評論