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