111 lines
1.5 KiB
NASM
111 lines
1.5 KiB
NASM
;----------------------------------------------------------------------------
|
||
;' FILES_A.ASM 386
|
||
;' (c) Adeline 1994
|
||
;----------------------------------------------------------------------------
|
||
.386p
|
||
|
||
.model SMALL, SYSCALL
|
||
|
||
.data
|
||
|
||
.code
|
||
|
||
public NoLanguage Touch
|
||
extrn NoLanguage OpenRead:PROC
|
||
extrn NoLanguage Close:PROC
|
||
|
||
;----------------------------------------------------------------------------
|
||
Touch proc ,\
|
||
filename:DWORD
|
||
local handle:DWORD
|
||
local time:WORD
|
||
local date:WORD
|
||
|
||
mov [time], 0
|
||
mov [date], 0
|
||
|
||
;----------------------' Open
|
||
|
||
push filename
|
||
call OpenRead
|
||
add esp, 4
|
||
mov [handle], eax
|
||
|
||
;----------------------' Read Time and Date
|
||
|
||
mov ah, 2Ch
|
||
int 21h
|
||
|
||
xor ax, ax
|
||
mov al, dh
|
||
shr al, 1
|
||
mov byte ptr [time],al ;' Secondes / 2
|
||
|
||
xor ax, ax
|
||
mov al, cl
|
||
shl ax, 5
|
||
or [time], ax ;' Minutes
|
||
|
||
xor ax, ax
|
||
mov al, ch
|
||
shl ax, 11
|
||
or [time], ax ;' Heure
|
||
|
||
mov ah, 2Ah
|
||
int 21h
|
||
|
||
mov byte ptr [date],dl ;' Jour
|
||
|
||
xor ax, ax
|
||
mov al, dh
|
||
shl ax, 5
|
||
or [date], ax ;' Mois
|
||
|
||
xor ax, ax
|
||
sub cx, 1980
|
||
mov al, cl
|
||
shl ax, 9
|
||
or [date], ax ;' Ann‚e
|
||
|
||
;----------------------' Change time and date for this file
|
||
|
||
mov ah, 57h
|
||
mov al, 1
|
||
mov bx, word ptr [handle]
|
||
mov cx, [time]
|
||
mov dx, [date]
|
||
int 21h
|
||
|
||
;----------------------' Close file
|
||
|
||
push [handle]
|
||
call Close
|
||
add esp, 4
|
||
ret
|
||
|
||
Touch endp
|
||
;----------------------------------------------------------------------------
|
||
; The
|
||
End
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|