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

📄 定时计数技术应用程序设计.txt

📁 先接收任一个字符
💻 TXT
字号:
DATAS SEGMENT
count dw 1
min1 db 48
min2 db 48
sec1 db 48
sec2 db 48
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS

main proc far
start:
      mov ax,DATAS
      mov ds,ax
      call showtime   ;调用showtime子程序
      jmp delay2      ;等待键盘的输入
begin:
      mov al,1ch
      mov ah,35h
      int 21h
      push es
      push bx
      push ds
      mov dx,offset show   ;回送变量的偏移地址值
      mov ax,seg show
      mov ds,ax
      mov al,1ch
      mov ah,25h           ;设置中断向量
      int 21h
      pop ds
      in  al,21h
      and al,11111110b  ;屏蔽
      out 21h,al
      sti
      mov di,10000
delay:
      mov si,10000       ;延时
delay1:
      dec si
      jnz delay1
      dec di
      jnz delay
      pop dx
      pop ds
     mov al,1ch
      mov ah,25h
      int 21h
      mov ah,0bh
      int 21h
      inc al
      jnz begin
      mov ah,0
      int 16h            ;从键盘读字符 
      cmp al,61h         ;时间暂停
      jz delay2
      cmp al,20h         ;运行退出
      jnz begin
exit:
      mov ax,4c00h
      int 21h
delay2:
      mov ah,07h    ;键盘输入
      int 21h
      cmp al,20h
      jnz begin
      jmp exit

counttime proc near     
      push dx
      mov dh,sec2
      add dh,1
      mov sec2,dh
      cmp dh,58
      jz zero2
      jmp quit
zero2:
      mov sec2,48
      mov dh,sec1
      add dh,1
      mov sec1,dh
      cmp dh,54
      jz zero1
      jmp quit
zero1:
      mov sec1,48
      mov dh,min2
      add dh,1
      mov min2,dh
      cmp dh,58
      jz zero0
      jmp quit
zero0:
      mov min2,48
      mov dh,min1
      add dh,1
      mov min1,dh
      cmp dh,54
      jz zero
      jmp quit
zero:
      mov min1,48
quit:
      pop dx
      ret
counttime endp

showtime proc near
      mov ah,02h               ;mm:ss显示输出
      mov bh,0
      mov dh,12
      mov dl,40
      int 10h
      mov ah,02h
      mov dl,min1
      int 21h
      mov ah,02h
      mov dl,min2
      int 21h
      mov ah,02h
      mov dl,':'
      int 21h
      mov ah,02h
      mov dl,sec1
      int 21h
      mov ah,02h
      mov dl,sec2
      int 21h
      call counttime
      ret
showtime endp
main endp

;-----------------------------------

show  proc near
     push ds
      push ax
      push cx
      push dx
      mov  ax,DATAS
      mov  ds,ax
      sti
      dec count
      jnz exit1
      call showtime
wait1:
      loop wait1
      dec dx
      mov count,18
exit1:
      cli
      pop dx
      pop cx
     pop ax
      pop ds
      iret
show endp

CODES ENDS
END START

⌨️ 快捷键说明

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