summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/RMDIR.ASM
blob: 4925ac5820388fb0e9b2f9c2c11b6fcc6e0db7e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
page 80,132

title CP/DOS DosRmDir mapper

dosxxx  segment byte public 'dos'
        assume  cs:dosxxx,ds:nothing,es:nothing,ss:nothing

;**********************************************************************
;*
;*   MODULE:   dosrmdir
;*
;*   FUNCTION:  remove directory
;*
;*   CALLING SEQUENCE:
;*
;*       push@     asciiz  directory name
;*       push      dword   reserved (must be zero)
;*       call      dosrmdir
;*
;*   MODULES CALLED:  PC-DOS Int 21h, ah=3ah, remove subdirectory
;*
;*********************************************************************

            public   dosrmdir
            .sall
            include  macros.inc

str         struc
old_bp      dw       ?
return      dd       ?
rsrvd       dd       ?       ; reserved
asciiz      dd       ?       ; directory name pointer
str         ends

dosrmdir    proc     far

            Enter    dosrmdir            ; push registers

            lds      dx,[bp].asciiz      ; set pointer to directory name

            mov      ah,3ah              ; load opcode
            int      21h                 ; remove directory
            jc       exit                ; check for error

            sub      ax,ax               ; set good return code
exit:       Mexit                        ; pop registers
            ret      size str - 6        ; return

dosrmdir    endp

dosxxx      ends

            end