91 lines
2.6 KiB
Plaintext
91 lines
2.6 KiB
Plaintext
|
|
|||
|
Proc GetCurrentTime
|
|||
|
|
|||
|
Push DS
|
|||
|
Push ES
|
|||
|
|
|||
|
Push CS
|
|||
|
Pop DS
|
|||
|
Assume DS:Disk
|
|||
|
|
|||
|
Cmp TimerData, 0
|
|||
|
JE GetCurrentTimeEnd
|
|||
|
|
|||
|
Mov ES, TimerData
|
|||
|
Mov DI, NumTimerData
|
|||
|
ShL DI, 3
|
|||
|
|
|||
|
Mov AH, 2Ah
|
|||
|
Int 21h ; Get Date
|
|||
|
Mov AX, CX ; Now to get date in yyyyyyym mmmddddd
|
|||
|
Sub AX, 1980
|
|||
|
ShL AX, 9 ; Year
|
|||
|
Or AL, DL ; Day
|
|||
|
Xor DL, DL
|
|||
|
ShR DX, 3
|
|||
|
Or AX, DX ; Month
|
|||
|
StosW
|
|||
|
|
|||
|
Mov AH, 2Ch
|
|||
|
Int 21h ; Get time
|
|||
|
Mov AX, CX ; Now to get time in hhhhhmmm mmmsssss
|
|||
|
ShL AL, 2 ; AX = ...hhhhh mmmmmm..
|
|||
|
ShL AX, 3 ; AX = hhhhhmmm mmm.....
|
|||
|
ShR DH, 1 ; DH = ...sssss
|
|||
|
Or AL, DH
|
|||
|
StosW
|
|||
|
|
|||
|
GetCurrentTimeEnd:
|
|||
|
Pop ES
|
|||
|
Pop DS
|
|||
|
Ret
|
|||
|
|
|||
|
EndP GetCurrentTime
|
|||
|
Assume DS:Nothing
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Proc CheckTimerData
|
|||
|
Assume DS:Disk
|
|||
|
|
|||
|
Cmp TimerData, 0
|
|||
|
JNE CheckTimerData1
|
|||
|
|
|||
|
Mov NumTimerData, 0
|
|||
|
Mov AH, 48h
|
|||
|
Mov BX, 1
|
|||
|
Int 21h
|
|||
|
JC CheckTimerData1
|
|||
|
|
|||
|
Mov TimerData, AX
|
|||
|
Call GetCurrentTime
|
|||
|
|
|||
|
CheckTimerData1:
|
|||
|
Ret
|
|||
|
|
|||
|
EndP CheckTimerData
|
|||
|
Assume DS:Nothing
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Proc ReleaseTimerData
|
|||
|
|
|||
|
Mov AX, CS:TimerData
|
|||
|
Test AX, AX
|
|||
|
JZ ReleaseTimerData1
|
|||
|
|
|||
|
Mov ES, AX
|
|||
|
Mov AH, 49h
|
|||
|
Int 21h
|
|||
|
Xor AX, AX
|
|||
|
|
|||
|
ReleaseTimerData1:
|
|||
|
Mov CS:TimerData, AX
|
|||
|
Mov CS:NumTimerData, AX
|
|||
|
|
|||
|
Ret
|
|||
|
|
|||
|
EndP ReleaseTimerData
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|