INT 21 - DOS Function Dispatcher
For more information, see the following topics:
INT 21,0 Program terminate
INT 21,1 Keyboard input with echo
INT 21,2 Display output
INT 21,3 Wait for auxiliary device input
INT 21,4 Auxiliary output
INT 21,5 Printer output
INT 21,6 Direct console I/O
INT 21,7 Wait for direct console input without echo
INT 21,8 Wait for console input without echo
INT 21,9 Print string
INT 21,A Buffered keyboard input
INT 21,B Check standard input status
INT 21,C Clear keyboard buffer, invoke keyboard function
INT 21,D Disk reset
INT 21,E Select disk
INT 21,F Open file using FCB
INT 21,10 Close file using FCB
INT 21,11 Search for first entry using FCB
INT 21,12 Search for next entry using FCB
INT 21,13 Delete file using FCB
INT 21,14 Sequential read using FCB
INT 21,15 Sequential write using FCB
INT 21,16 Create a file using FCB
INT 21,17 Rename file using FCB
INT 21,18 DOS dummy function (CP/M) (not used/listed)
INT 21,19 Get current default drive
INT 21,1A Set disk transfer address
INT 21,1B Get allocation table information
INT 21,1C Get allocation table info for specific device
INT 21,1D DOS dummy function (CP/M) (not used/listed)
INT 21,1E DOS dummy function (CP/M) (not used/listed)
INT 21,1F Get pointer to default drive parameter table (undocumented)
INT 21,20 DOS dummy function (CP/M) (not used/listed)
INT 21,21 Random read using FCB
INT 21,22 Random write using FCB
INT 21,23 Get file size using FCB
INT 21,24 Set relative record field for FCB
INT 21,25 Set interrupt vector
INT 21,26 Create new program segment
INT 21,27 Random block read using FCB
INT 21,28 Random block write using FCB
INT 21,29 Parse filename for FCB
INT 21,2A Get date
INT 21,2B Set date
INT 21,2C Get time
INT 21,2D Set time
INT 21,2E Set/reset verify switch
INT 21,2F Get disk transfer address
INT 21,30 Get DOS version number
INT 21,31 Terminate process and remain resident
INT 21,32 Get pointer to drive parameter table (undocumented)
INT 21,33 Get/set Ctrl-Break check state & get boot drive
INT 21,34 Get address to DOS critical flag (undocumented)
INT 21,35 Get vector
INT 21,36 Get disk free space
INT 21,37 Get/set switch character (undocumented)
INT 21,38 Get/set country dependent information
INT 21,39 Create subdirectory (mkdir)
INT 21,3A Remove subdirectory (rmdir)
INT 21,3B Change current subdirectory (chdir)
INT 21,3C Create file using handle
INT 21,3D Open file using handle
INT 21,3E Close file using handle
INT 21,3F Read file or device using handle
INT 21,40 Write file or device using handle
INT 21,41 Delete file
INT 21,42 Move file pointer using handle
INT 21,43 Change file mode
INT 21,44 I/O control for devices (IOCTL)
INT 21,45 Duplicate file handle
INT 21,46 Force duplicate file handle
INT 21,47 Get current directory
INT 21,48 Allocate memory blocks
INT 21,49 Free allocated memory blocks
INT 21,4A Modify allocated memory blocks
INT 21,4B EXEC load and execute program (func 1 undocumented)
INT 21,4C Terminate process with return code
INT 21,4D Get return code of a sub-process
INT 21,4E Find first matching file
INT 21,4F Find next matching file
INT 21,50 Set current process id (undocumented)
INT 21,51 Get current process id (undocumented)
INT 21,52 Get pointer to DOS "INVARS" (undocumented)
INT 21,53 Generate drive parameter table (undocumented)
INT 21,54 Get verify setting
INT 21,55 Create PSP (undocumented)
INT 21,56 Rename file
INT 21,57 Get/set file date and time using handle
INT 21,58 Get/set memory allocation strategy (3.x+, undocumented)
INT 21,59 Get extended error information (3.x+)
INT 21,5A Create temporary file (3.x+)
INT 21,5B Create new file (3.x+)
INT 21,5C Lock/unlock file access (3.x+)
INT 21,5D Critical error information (undocumented 3.x+)
INT 21,5E Network services (3.1+)
INT 21,5F Network redirection (3.1+)
INT 21,60 Get fully qualified file name (undocumented 3.x+)
INT 21,62 Get address of program segment prefix (3.x+)
INT 21,63 Get system lead byte table (MSDOS 2.25 only)
INT 21,64 Set device driver look ahead (undocumented 3.3+)
INT 21,65 Get extended country information (3.3+)
INT 21,66 Get/set global code page (3.3+)
INT 21,67 Set handle count (3.3+)
INT 21,68 Flush buffer (3.3+)
INT 21,69 Get/set disk serial number (undocumented DOS 4.0+)
INT 21,6A DOS reserved (DOS 4.0+)
INT 21,6B DOS reserved
INT 21,6C Extended open/create (4.x+)
INT 21,F8 Set OEM INT 21 handler (functions F9-FF) (undocumented)
- int 21 functions are called with the function number in AH
- register AX may be altered, its contents are not guaranteed
- if an error occurs, CF is set to 1 and AX contains a simple
error code; INT 21,59 can be used to determine cause.
- most INT 21 functions do not restore the flags to pre-interrupt
state to allow returning of information via the flags register