This is an old revision of the document!
Table of Contents
Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
Int 21H, AH=39H
Version
2 and higher
Brief
“MKDIR” - CREATE SUBDIRECTORY
Family API
Input
- AH = 39h
- DS:DX → ASCIZ pathname (maximum length 67 or 260 characters)
Return
- CF clear if successful
- AX destroyed
- CF set on error
- AX = error code (03h,05h) (see #01680 at AH=59h/BX=0000h)
Notes
all directories in the given path except the last must exist fails if the parent directory is the root and is full
DOS 2.x-3.3 allow the creation of a directory sufficiently deep that it is not possible to make that directory the current directory because the path would exceed 64 characters
DOS 4+ checks for 67 path length (64 + driveletter + ':“ + '\')
OS/2 2.0+ MVDM checks for 260 path length (257 + driveletter + ':” + '\')
under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
See also
AH=3Ah - Remove directory,AH=3Bh - Change directory,AH=6Dh,AX=7139h - LFN Create directory,AX=43FFh/BP=5053h INT 2F/AX=1103h,INT 60/DI=0511h
Note
Text based on Ralf Brown Interrupt List Release 61
osFree Macro Library | |
---|---|
Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
Hardware info | @Equipment @MemSize |
Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
Keyboard I/O | @KbdStatus @CharIn @CharPeek |
Printer I/O | @PrnPrint @PrnInit @PrnStatus |
Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
Date and Time | @SetTime @GetTime |
Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
Memory manager | @ModBlok SET_BLOCK |