⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8253-2.asm

📁 用8253编制秒表延迟程序
💻 ASM
字号:
;利用PC机的硬件定时8253, 编制秒表延时(0~9秒)程序.要求:
;按任意键,开始计时, 在屏幕上以1秒间隔从0到9显示;按ESC键,计时停止.

data segment
     BCD1  db '0'
     STR   DB 0dh,0ah,'$'
data ends
STACK  SEGMENT
       DW 16 DUP(0)
STACK  ENDS	
code segment
 assume  cs:code,ds:data,SS:STACK
 start:mov      ax,data
       mov      ds,ax
       MOV      DL,BCD1
W1:    MOV      AH,0BH          ;有键按下?
       INT      21H
       CMP      AL,00H          ;无键按下,转W1,否则,调用1S延时子程序 
       JZ       W1             
LOP:   CALL     SECOND
       CALL     DISP            ;调显示 
       MOV      AH,0BH          ;检测有键按下否?
       INT      21H
       CMP      AL,00H          ;AL=0,无键按下
       JZ       LOP             ;无键按下,转LOP 
       MOV      AH,08H          ;有键,读键值AL
       INT      21H
       CMP      AL,1BH          ;是ESC键?
       JNZ      LOP             ;是,退出,否,转LOP
       MOV      ah,4ch
       INT      21h
;-------------------------------
  SECOND   PROC  NEAR            ;1秒延时子程序
                  PUSH  AX
                  PUSH  BX
                  PUSH  DX
            MOV   AH,00H
            INT     1AH          ;读计时单位        
            ADD    DX,18         
            MOV    BX,DX
    L1:     MOV    AH,00H
            INT     1AH
            CMP    DX,BX          ;满1秒?,否,继续累计
            JNZ     L1
                    POP    DX
                    POP    BX
                    POP    AX   
            RET
  SECOND    ENDP
;--------------------------------
   DISP    PROC      NEAR               ;入口:BCD1=DL=字符
             PUSH    AX 
             MOV     DL,BCD1        
             MOV     AH,02H            ;DOS调用,显示一个字符
             INT     21H        
             INC     BCD1
             CMP     BCD1,'9'
             JBE      EXIT 
             MOV     BCD1,'0'
             MOV     DL,0DH
             INT     21H
             MOV     DL,0AH
             INT     21H
     EXIT:   POP     AX
             RET 
    DISP    ENDP  
code   ends
       end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -