summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/MKDIR.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/MAPPER/MKDIR.ASM')
-rw-r--r--v4.0/src/MAPPER/MKDIR.ASM53
1 files changed, 53 insertions, 0 deletions
diff --git a/v4.0/src/MAPPER/MKDIR.ASM b/v4.0/src/MAPPER/MKDIR.ASM
new file mode 100644
index 0000000..3444435
--- /dev/null
+++ b/v4.0/src/MAPPER/MKDIR.ASM
@@ -0,0 +1,53 @@
1page 80,132
2
3title CP/DOS DosMkDir mapper
4
5dosxxx segment byte public 'dos'
6 assume cs:dosxxx,ds:nothing,es:nothing,ss:nothing
7;
8;**********************************************************************
9;*
10;* MODULE: dosmkdir
11;*
12;* FUNCTION: Create a new directory
13;*
14;* CALLING SEQUENCE:
15;*
16;* push@ asciiz directory name
17;* push dword reserved (must be zero)
18;* call dosmkdir
19;*
20;* MODULES CALLED: PC-DOS Int 21h, ah=39h
21;*
22;*********************************************************************
23
24 public dosmkdir
25 .sall
26 include macros.inc
27
28str struc
29old_bp dw ?
30return dd ?
31rsrvd dd ?
32Asciiz dd ? ; new directory name pointer
33str ends
34
35dosmkdir proc far
36
37 Enter DosMkdir ; push registers
38 lds dx,[bp].asciiz ; set pointer to directory name
39
40 mov ah,39h ; load opcode
41 int 21h ; create new directory
42 jc exit ; jump if error
43
44 sub ax,ax ; else, set good return code
45
46exit: mexit ; pop registers
47 ret size str - 6 ; return
48
49dosmkdir endp
50
51dosxxx ends
52
53 end