]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/DELETE.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / MAPPER / DELETE.ASM
1 ;
2 page 80,132
3 ;
4 title CP/DOS DosDelete mapper
5 ;
6 dosxxx segment byte public 'dos'
7 assume cs:dosxxx,ds:nothing,es:nothing,ss:nothing
8 ;
9 ; ************************************************************************* *
10 ; *
11 ; * MODULE: DosDelete
12 ; *
13 ; * FILE NAME: DOS012.ASM
14 ; *
15 ; * FUNCTION: This module removes a directory entry associated with a
16 ; * filename.
17 ; *
18 ; *
19 ; * CALLING SEQUENCE:
20 ; *
21 ; * PUSH@ ASCIIZ FileName ; FileName path
22 ; * PUSH@ DWORD 0 ; Reserved (must be zero)
23 ; * CALL DosDelete
24 ; *
25 ; * RETURN SEQUENCE:
26 ; *
27 ; * IF ERROR (AX not = 0)
28 ; *
29 ; * AX = Error Code:
30 ; * o Invalid file path name
31 ; *
32 ; * MODULES CALLED: DOS int 21H function 41H
33 ; *
34 ; *
35 ; *
36 ; *************************************************************************
37
38 public DosDelete
39 .sall
40 .xlist
41 include macros.inc
42 .list
43
44 str struc
45 old_bp dw ?
46 return dd ?
47 dtrm12 dd ? ; reserved, always 0
48 asc012 dd ? ; file name path pointer
49 str ends
50
51 DosDelete proc far
52 Enter DosDelete ; push registers
53
54 lds dx,dword ptr [bp].asc012 ; file path name
55
56 mov ah,041h
57 int 21h ; delete the file
58 jc err012 ; jump if no error
59
60 sub ax,ax ; set good return code
61
62 err012:
63 mexit ; pop registers
64 ret size str - 6 ; return
65
66 DosDelete endp
67
68 dosxxx ends
69
70 end