home *** CD-ROM | disk | FTP | other *** search
- ;Overschrijft file eerst met 'faces' zodat als hij teruggehaald
- ; wordt hij niet meer te lezen valt. En vernielt de filename.
- cseg segment para public 'code'
- assume cs:cseg,ds:dseg,ss:stack
- org 100h
- MAIN:
- jmp begin
- ;gegevens
- err_0 db 7, 'DESTROY <filename>', 13, 10, 36
- err_1 db 7, 'Unable to open file!', 13, 10, 36
- txt_0 db 10, 'Vince M (c) 1993', 13, 10, 36
- txt_1 db 13, 'File destroyed succesfull!', 13, 10, 36
- msg_1 db 'Scanning...', 13, 36
- msg_2 db 'Destroying...', 13, 36
- size dw 0
- handle dw 0
- new_name db 'XXXXXXXX.XXX', 0
- buffer db 8 dup(1, 2)
- buf_2 db 10h dup(0)
- begin:
- ;instructies
- mov si, 0080h ;lengte parms
- mov ax, [si]
- cmp al, 0
- je geen_parms
- mov ah, 0
- mov si, 0081h ; add 0 (ASCIIZ)
- add si, ax
- mov [si], 0
-
- call mutate
-
- lea dx, txt_1
- jmp stop
- geen_parms:
- lea dx, err_0
- jmp stop
- file_err:
- lea dx, err_1
- stop:
- mov ah, 9h
- int 21h
- lea dx, txt_0
- mov ah, 9h
- int 21h
- int 20h
-
- ;************
- mutate:
- ;open file
- mov dx, 0082h
- mov ax, 3d02h
- int 21h
- jc file_err
- mov handle, ax
-
- lea dx, msg_1
- mov ah, 9h
- int 21h
- ;bepaal size
- mov bx, handle
- mov cx, 10h
- lea dx, buf_2
- lees:
- mov ah, 3fh
- int 21h
- add size, 1
- cmp ax, 10h
- jnb lees
-
- ;set pointer terug
- mov ax, 4200h
- mov cx, 0
- mov dx, 0
- ; mov bx, handle
- int 21h
-
- lea dx, msg_2
- mov ah, 9h
- int 21h
-
- ;verander file
- ; mov bx, handle
- mov cx, 10h
- lea dx, buffer
- meer:
- mov ah, 40h
- int 21h
- sub size, 1
- cmp size, 0
- jne meer
-
- sluit:
- ;sluit file
- ; mov bx, handle
- mov ah, 3eh
- int 21h
- ;rename file
- mov ah, 56h
- mov dx, 0082h
- lea di, new_name
- int 21h
- ;verwijder file
- lea dx, new_name
- mov ah, 41h
- int 21h
- ret
-
- cseg ends
- end
-
-