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

📄 timer1.asm

📁 80X86的一些例子程序
💻 ASM
字号:
;******************************************************
;* 文件名:Timer1.asm
;* 创建日期:2001.7.4
;* 作者:陈文尧
;* 功能:利用内存驻留显示时钟
;* 备注:这是Timer.asm的优化版本
;******************************************************
include system.inc

;******************************************************
;* 以下代码由汇编专家产生,不要随便修改
;******************************************************
.CODE
	ifdef __COM__
		org	100h
	endif
@@Start:
;------------------------------------------------------
; 初始化数据段
;------------------------------------------------------
	InitDS	cs
;------------------------------------------------------
; 调用主函数
;------------------------------------------------------
	call	main
;------------------------------------------------------
; 正常退出,并驻留内存
;------------------------------------------------------
	TSR	@@EndTSR

;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+ 从这里开始到@@EndTSR,你可以加入需要驻留的代码和数据
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
new1ch:
       pusha
       push		ds
       push		es
       ;
       MovSeg	ds,cs
       MovSeg	es,0b800h
       mov		ah,BC_BLUE or CR_YELLOW
       mov		di,(80d-08d) shl 01h
       cld
       mov		al,04h
       call		Time2Asc
       mov		al,':'
       stosw
       mov		al,02h
       call		Time2Asc
       mov		al,':'
       stosw
       mov		al,00h
       call		Time2Asc
       ;
       pop		es
       pop		ds
       popa
       ;
       db		0eah     ;jmp xxxx:xxxx
old1ch dd		?

Time2Asc proc near
         out		70h,al
         in			al,71h
         push		ax
         shr		al,04h
         add		al,30h
         stosw
         pop		ax
         and		al,0fh
         add		al,30h
         stosw
         ret
Time2Asc endp

@@EndTSR:
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+ 主函数,加入驻留前需要做的代码
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
main	proc
	mov			ax,351ch
	int			21h
	mov			word ptr old1ch,bx
	mov			ax,es
	mov			word ptr old1ch+02h,ax
	mov			ax,251ch
	mov			dx,offset new1ch
	int			21h
	;
	ret
main	endp

;******************************************************
;* 标志程序结束并指定程序入口
;******************************************************
	end	@@Start

⌨️ 快捷键说明

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