Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:12
CP/DOS DosMkDir mapper                                      Page     1-1


				page 80,132
				
				title CP/DOS DosMkDir mapper
				
 0000				dosxxx  segment byte public 'dos'
				        assume  cs:dosxxx,ds:nothing,es:nothing,ss:nothing
				;
				;**********************************************************************
				;*
				;*   MODULE:   dosmkdir
				;*
				;*   FUNCTION:  Create  a new directory
				;*
				;*   CALLING SEQUENCE:
				;*
				;*       push@     asciiz  directory name
				;*       push      dword   reserved (must be zero)
				;*       call      dosmkdir
				;*
				;*   MODULES CALLED:  PC-DOS Int 21h, ah=39h
				;*
				;*********************************************************************
				
				            public   dosmkdir
				            .sall
				            include  macros.inc
			     C	;
			     C	
			     C	
			     C	pushal  macro
			     C	        push    bx
			     C	        push    cx
			     C	        push    dx
			     C	        push    si
			     C	        push    di
			     C	        push    ds
			     C	        push    es
			     C	        push    ss
			     C	        push    bp
			     C	        endm
			     C	;
			     C	popal   macro
			     C	        pop     bp
			     C	        pop     ss
			     C	        pop     es
			     C	        pop     ds
			     C	        pop     di
			     C	        pop     si
			     C	        pop     dx
			     C	        pop     cx
			     C	        pop     bx
			     C	        endm
			     C	;
			     C	Enter   macro   Routine
			     C	
			     C	        push    bp
			     C	        mov     bp,sp
			     C	        pushal
			     C	
			     C	        endm
			     C	;
			     C	Mexit   macro
			     C	
			     C	        popal
			     C	        mov     sp,bp
			     C	        pop     bp
			     C	
			     C	        endm
			     C	
				
				str         struc
 0000  0000			old_bp      dw       ?
 0002  00000000			return      dd       ?
 0006  00000000			rsrvd       dd       ?
 000A  00000000			Asciiz      dd       ?       ; new directory name pointer
 000E				str         ends
Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:12
CP/DOS DosMkDir mapper                                      Page     1-2


				
 0000				dosmkdir    proc     far
				
				            Enter    DosMkdir            ; push registers
 000C  C5 56 0A			            lds      dx,[bp].asciiz      ; set pointer to directory name
				
 000F  B4 39			            mov      ah,39h              ; load opcode
 0011  CD 21			            int      21h                 ; create new directory
 0013  72 02			            jc       exit                ; jump if error
				
 0015  2B C0			            sub      ax,ax               ; else, set good return code
				
 0017				exit:       mexit                        ; pop registers
 0023  CA 0008			            ret      size str - 6        ; return
				
 0026				dosmkdir    endp
				
 0026				dosxxx      ends
				
				            end

Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:12
CP/DOS DosMkDir mapper                                      Symbols-1


Macros:

		N a m e			Lines

ENTER  . . . . . . . . . . . . .  	   3
MEXIT  . . . . . . . . . . . . .  	   3
POPAL  . . . . . . . . . . . . .  	   9
PUSHAL . . . . . . . . . . . . .  	   9

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

STR  . . . . . . . . . . . . . .  	000E	0004
  OLD_BP . . . . . . . . . . . .  	0000
  RETURN . . . . . . . . . . . .  	0002
  RSRVD  . . . . . . . . . . . .  	0006
  ASCIIZ . . . . . . . . . . . .  	000A

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DOSXXX . . . . . . . . . . . . .  	0026	BYTE	PUBLIC	'DOS'

Symbols:            

                N a m e         	Type	 Value	 Attr

dosmkdir . . . . . . . . . . . .  	F PROC	0000	DOSXXX	Global	Length = 0026

EXIT . . . . . . . . . . . . . .  	L NEAR	0017	DOSXXX

@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  mkdir		
@VERSION . . . . . . . . . . . .  	TEXT  510		


     99 Source  Lines
    123 Total   Lines
     18 Symbols

  47544 + 325125 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
