home *** CD-ROM | disk | FTP | other *** search
- ;***********************************************************************
- ; VAMPIRE.ASM *
- ; VAMPIRE.COM is a demonstration program to provoke the midnight *
- ; vampire. (See text for test procedure). *
- ; Written by M. L. Lesser, July 25, 1991 *
- ; Assembled with TASM 2.5; linked with TLINK 4.0, switch "/t" *
- ;***********************************************************************
-
- CODE SEGMENT PARA PUBLIC 'CODE'
- ASSUME CS:CODE, DS:CODE
-
- ORG 100H
- VAMPIRE PROC NEAR
- JMP SHORT START
-
- STARTIME DW 2 DUP(?)
- MESSGE_1 DB 13,10,'Starting 100-tick count$'
- MESSGE_2 DB 13,10,'Ending 100-tick count$'
-
- START: MOV AH,0
- INT 1AH
- MOV STARTIME,DX ;Save program starting count
- MOV STARTIME+2,CX
- ; Loop until 100 ticks have passed:
- MOV AH,9 ;Display startup message
- MOV DX,OFFSET MESSGE_1
- INT 21H
- AGAIN: MOV AH,0
- INT 1AH
- MOV AX,STARTIME
- SUB DX,AX
- MOV AX,STARTIME+2
- SBB CX,AX
- JNS OK ;We haven't passed midnight
- ADD DX,0B0H ;Else, increase current count by
- ADC CX,18H ; 24 hours
- OK: SUB DX,100 ;Have we gone 100 ticks?
- SBB CX,0
- JS AGAIN ;If not, go around again
- MOV AH,9
- MOV DX,OFFSET MESSGE_2
- INT 21H
- INT 20H
- VAMPIRE ENDP
- CODE ENDS
- END VAMPIRE
-