匯編時鐘匯編計時器_第1頁
匯編時鐘匯編計時器_第2頁
匯編時鐘匯編計時器_第3頁
匯編時鐘匯編計時器_第4頁
匯編時鐘匯編計時器_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編時鐘 匯編計時器2011-11-30 17:29:03| 分類:編程|字號訂閱data segme ntm2DB 0;分的十位m1DB O;分的個位DB :;間隔s2DB 0;秒的十位s1DB 0;秒的個位DB :;間隔ms2DB 0;百分秒位ms1DB 0;十分秒位ROWDB 0;行數(shù)data endsSTACK SEGMENTDW 16 DUP(0)STACK ENDScode segme ntassume cs:code,ds:data,SS:STACK start:1#call clall2ag: call clearcall listcall sec ondMOVAH,0BHIN

2、T21HCMPAL,00HJZagMOVAH,08HINT21Hcmpal, njnzend1;調(diào)用清全屏;調(diào)用清顯示部分屏幕;調(diào)用顯示;調(diào)用一秒延時;檢測有鍵按下否;AL=0,無鍵按下;無鍵按下,轉(zhuǎn)ag;有鍵,讀鍵值A(chǔ)L#n ao: call din gshijmp ag;調(diào)用定時子程序en d1: cmpal,sjnz g1call far ptr mbjmp agg1:cmpal,1bhjnzagmov ah,4chint 21h 日期list proc n earpush axpush bxpush cxpush dxmov ah,2ahint 21h;系統(tǒng)功能調(diào)用,讀系統(tǒng)日期push

3、 dx;將DX入棧mov dl,0aga in1:sub cx,03e8h;CX保存年,將CX-1000js n ext1;CX為負跳next1inc dl;否則DL+1jmp aga in1;跳至 CX-1000next1:add cx,03e8h;CX+1000 送 CXadd dl,30hmov ah,02hint 21h;顯示DL,即CX的千位mov dl,0;DL清零agai n2:sub cx,0064h;將 CX-100js n ext2inc dljmp aga in2next2:add cx,0064hadd dl,30h mov ah,02h int 21hmov dl,0

4、aga in3: sub cx,OOOah js n ext3 inc dljmp aga in3next3:add cx,000ahadd dl,30h mov ah,02h int 21hadd cl,30hmov dl,clmov ah,02h int 21hmov dl,-mov ah,02h int 21hpop dxmov bl,dlmov dl,0agai n4:sub dh,000ahjs n ext4 inc dl jmp aga in4next4:add dh,000ahadd dl,30hmov ah,02h;顯示DL,即CX的百位;將 CX-10;顯示DL,即DX的十位

5、;顯示CL的個位;顯示“;彈出DX;將DL送BL;將DL清零;DH存月,將DH-10;顯示DH的十位,即月的十位int 21h add dh,30h3mov dl,dhmov ah,02hint 21hmov dl,-mov ah,02hint 21h;顯示DH的個位mov dl,0aga in5:sub bl,000ah js n ext5 inc dl jmp aga in5;DL存天n ext5:add bl,000ah add dl,30h mov ah,02h int 21h add bl,30h mov dl,bl mov ah,02h int 21hmov dl,mov ah,0

6、2hint 21h;顯示空格 時間mov ah,2chint 21h push dxmov dl,0;系統(tǒng)功能調(diào)用,讀系統(tǒng)時間a1:sub ch,000ah js n1 inc dl jmp a1;CH存小時n1:add ch,000ahadd dl,30hmov ah,02hint 21hadd ch,30hmov dl,chmov ah,02hint 21hmov dl,:mov ah,02hint 21h;顯示:”mov dl,0a2:sub cl,000ah;CL 存分鐘js n2 inc dljmp a2n2:add cl,000ahadd dl,30hmov ah,02hint 2

7、1hadd cl,30hmov dl,clmov ah,02hint 21hmov dl,:;顯示:”mov ah,02hint 21hpop dxmov dl,05a3:sub dh,000ah;DH 存秒js n3inc dljmp a3n3:add dh,000ahadd dl,30hmov ah,02hint 21hadd dh,30hmov dl,dhmov ah,02hint 21hpop dxpop expop bxpop axretlist endp; 定時程序din gshi proe n earpush axpush bxpush expush dxcall clear;調(diào)

8、用清顯示部分屏幕mov dl, imov ah,02hint 21hmov dl, nmov ah,02hint 21h#mov ax,datamov dx,axmov ah,O1hint 21hsub al,30hmov bh,almov ah,01hint 21hsub al,30hmov bl,almov dl,:mov ah,02hint 21hmov ah,01hint 21hsub al,30hmov dh,almov ah,01hint 21hsub al,30hmov dl,al;存輸入數(shù)據(jù),BHBL:DHDLpush dx; 小時的十位的判斷shi10:mov ah,2chi

9、nt 21hmov dl,0dao1:sub ch,0ahjs dao2inc dljmp dao1dao2:7cmp bh,dl;判斷小時的十位jnz shi10-小時的個位的判斷shi:mov ah,2chdao3int 21hmov dl,0sub ch,0ahdao4:js dao4jmp dao3add ch,0ahcmp ch,bl;判斷小時的個位jnz shi-分鐘的十位的判斷fen 10mov ah,2chint 21hdao5:mov dl,0sub cl,0ahdao6:js dao6inc dljmp dao5mov bl,dl;將DL中的分的十位送 BLpop dx;將

10、輸入的DH , DL彈出cmp bl,dh;判斷分的十位push dxjnz fen 10 分鐘的個位判斷fen:mov ah,2chint 21hmov dl,0dao7:sub cl,Oahjs dao8jmp dao7dao8:add cl,0ahpop dxcmp cl,dlpush dxjnz fenpop dxmov dl,smov ah,02hint 21hmov dl,tmov ah,02hint 21hmov dl,omov ah,02hint 21hmov dl,pmov ah,02hint 21h;定時結(jié)束,顯pop dxpop cxpop bxpop axretdin

11、gshi endpSECOND PROC NEAR;判斷分的個位STOP;1秒延時子程序PUSHAXPUSHBXPUSHDXMOV AH,00H9INT1AH;讀計時單位ADDDX,1MOVBX,DXL1:MOV AH,00HINT1AHCMPDX,BX;滿1秒?,否,繼續(xù)累計JNZL1POPDXPOPBXPOPAXRETSECONDENDPclear proc n ear;save registerspush axpush bxpush cxpush dx;clear scree n;定窗口顯示時鐘mov ah,7;to scroll dow nward fun cti onmov al,0

12、;code to bla nk screemov bh,70h;reverse video attributemov ch,0;upper left rowmov cl,0;upper left colu mnmov dh,0;lower right rowmov dl,20;lower left colu mnint 10h;call video ROM;定位mov ch,0mov cl,24mov ah,O1hint 10hmov dh,0mov dl,0mov bh,0mov ah,02hint 10h;locate cursormov dx,0mov ah,2 ;to locate c

13、olu mnint 10h ;call video BIOS;restore registerspop dxpop cxpop bxpop axretclear endpclall2 proc n earpush axpush bxpush cxpush dxmov ah,6;to scroll up scree nmov al,0;bla nk scree nmov bh,7;bla nk linemov ch,0;upper left rowmov cl,0;upper left colu mnmov dh,24;lower right rowmov dl,79;lower left co

14、lu mnint 10h;call video BIOSpop dxpop cx11pop bxpop axretclall2 en dpmb PROC farpush axpush bxpush cxpush dxMOVAH,0;檢測鍵盤,有鍵按下才開始INT16H;設(shè)置中斷向量CLI;清中斷標志CLD;清方向標志MOVAX,OOOOH;設(shè)置中斷向量MOVDS,AXMOVSI,0020HLODSWMOVBX,AXLODSWPUSHAX;PUSHBX;MOVAX,DATA;MOVDS,AXMOVAX,OOOOH;MOVES,AX;MOVDI,0020H;MOVAX,OFFSET TIMER;S

15、TOSWMOVAX,SEG TIMER;STOSW;初始化8253MOVAL,00110110B;0計數(shù)器,工作方式3,先與最底有效字節(jié),再寫最冋有效字節(jié)OUT43H,ALMOVAX,10923;設(shè)初值OUT40H,ALMOVAL,AHOUT40H,ALINAL,21HPUSHAXMOVAL,OFCH沖斷屏蔽,只對鍵盤irq1和電子時鐘基準irqO開中斷OUT21H,ALSTIcallclearall;清全屏FOREVER:callclear1;定位清屏callshow;顯示秒表MOVAH,0BH;檢測有鍵按下否?INT21HCMPAL,00H;AL=0,無鍵按下JZFOREVER;無鍵按下,

16、轉(zhuǎn)LOPMOVAH,08H;有鍵,讀鍵值A(chǔ)LINT21HCMPAL,dJZEXIT;是d則退出cmpal,m;是m則記錄數(shù)據(jù)jnzgMOVAH,2MOVBH,0MOVDH,rowMOVDL,25INT10Hcallshowincrowg: cmpal,r;是r則重新開始計時jnzFOREVERmovm2,0;歸零movm1,0movs2,Omovs1,Omovms2,Omovms1,Omovrow,0callclearallJMPFOREVER;顯示秒表EXIT:pop dxpop cxpop bxpop axretmb ENDPshow proc n earpushaxpushbxpushc

17、xMOVBX,OFFSETm2 ;讀m2首地址MOVCX,8;循環(huán)8次DISP1: MOVAL,BX;取bx對應(yīng)的m2值CALLDISPCHR;顯示bx15INCBX;指向下一存儲單元LOOPDISP1MOVAL,0DH;回車CALLDISPCHRpopexpopbxpopaxretshow endpclear1proc n earpush ax push bx push cx push dx;clear scree n;定寬mov ah,7;to scroll up scree nmov al,0;bla nk scree nmov bh,70h;bla nk linemov ch,1;up

18、per left rowmov cl,0;upper left colu mnmov dh,0;lower right rowmov dl,7;lower left colu mnint 10h;call video BIOS;din weimov ch,0mov cl,24mov dh,rowmov dl,0mov bh,0#mov ah,02hint 10h;locate cursormov dx,0mov ah,2int 10h;to locate colu mn;call video BIOSpop dxpop cxpop bxpop ax ret clear1 endpclearall proc n earpush axpush bxpush cxpush dxmov ah,6;to scroll up scree nmov al,0;bla nk scree

溫馨提示

  • 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

提交評論