8086 Assembly Language INT 21h Dos Interrupt Edit

Murugan Andezuthu Dharmaratnam | 13 February 2021 | 168

Int 21h is a dos interrupt. It is one of the most commonly used interrupt while writing code in 8086 assembly language.

To use the dos interrupt 21h load ah with the desired sub-function. load other required parameters in other registers. and make a call to int 21h.

Int 21h functions


Function Number Description
AH=01h READ CHARACTER FROM STANDARD INPUT, WITH ECHO
AH=02h WRITE CHARACTER TO STANDARD OUTPUT
AH=05h WRITE CHARACTER TO PRINTER
AH=06h DIRECT CONSOLE OUTPUT
AH=07h DIRECT CHARACTER INPUT, WITHOUT ECHO
AH=08h CHARACTER INPUT WITHOUT ECHO
AH=09h WRITE STRING TO STANDARD OUTPUT
AH=0Ah BUFFERED INPUT
AH=0Bh GET STDIN STATUS
AH=0Ch FLUSH BUFFER AND READ STANDARD INPUT
AH=0Dh DISK RESET
AH=0Eh SELECT DEFAULT DRIVE
AH=19h GET CURRENT DEFAULT DRIVE
AH=25h SET INTERRUPT VECTOR
AH=2Ah GET SYSTEM DATE
AH=2Bh SET SYSTEM DATE
AH=2Ch GET SYSTEM TIME
AH=2Dh SET SYSTEM TIME
AH=2Eh SET VERIFY FLAG
AH=30h GET DOS VERSION
AH=35h GET INTERRUPT VECTOR
AH=36h GET FREE DISK SPACE
AH=39h "MKDIR" - CREATE SUBDIRECTORY
AH=3Ah "RMDIR" - REMOVE SUBDIRECTORY
AH=3Bh "CHDIR" - SET CURRENT DIRECTORY
AH=3Ch CREATE OR TRUNCATE FILE
AH=3Dh "OPEN" - OPEN EXISTING FILE
AH=3Eh "CLOSE" - CLOSE FILE
AH=3Fh "READ" - READ FROM FILE OR DEVICE
AH=40h "WRITE" - WRITE TO FILE OR DEVICE
AH=41h "UNLINK" - DELETE FILE
AH=42h "LSEEK" - SET CURRENT FILE POSITION
AH=43h GET FILE ATTRIBUTES
AH=47h "CWD" - GET CURRENT DIRECTORY
AH=4Ch "EXIT" - TERMINATE WITH RETURN CODE
AH=4Dh GET RETURN CODE (ERRORLEVEL)
AH=54h GET VERIFY FLAG
AH=56h "RENAME" - RENAME FILE
AH=57h GET/SET FILE'S DATE AND TIME, GET EXTENDED ATTRIBUTES FOR FILE