INT 21H (0x21)
Function 44H (0x44 or 68), Sub function 0CH (0x0C or 12) I/O Ctrl generic I/O control for character devices
Call with: AH = 44H
AL = 0CH
BX = handle
CH = category (major) code:
00H = unknown
01H = COM1, COM2, COM3,OR COM4
03H = CON (keyboard and display)
05H = LPT1, LPT2, OR LPT3 |
CL = function (minor) code:
45H = Set Iteration Count
4AH = Select Code Page
4CH = Start Code Page Preparation
4DH = End Code Page Preparation
5FH = Set Display Information
65H = Get Iteration Count
6AH = Query Selected Code Page
6BH = Query Prepare List
7FH = Get Display Information |
DS: DX = segment: offset of parameter block
Returns: If function successful
Carry flag = clear
And if called with CL = 65H, 6AH, 6BH or 7FH
DS: DX = segment: offset of parameter block
If function unsuccessful
Carry flag = set
AX = error code
Comments:
It provides a general-purpose mechanism for communication between application programs and character-device drivers.
INT 21H (0x21)
Function 44H (0x44 or 68), Sub function 0DH (0x0D or 13) I/O Ctrl --> generic I/O control for block devices
Call with: AH = 44H
AL = 0DH
BL = drive code (0 =default, 1=A,
2=B, etc.)
CH = category (major) code:
08H = disk drive
CL = function (minor) code:
40H = Set Drive Parameters
41H = Write Track
42H = Format and Verify Track
47H = Set Access Flag
60H = Get Device Parameters
61H = Read Track
62H = Verify track
67H = Get Access Flag |
DS: DX = segment: offset of parameter block
Returns: If function successful
Carry flag = clear
And if called with CL = 60H or 61H
DS: DX = segment: offset of parameter block
If function unsuccessful
Carry flag = set
AX = error code
Comments:
This sub function provides a general-purpose mechanism for communication between application programs and block-device drivers. Allows a program to inspect or change device parameters for a logical drive and to read, write, format, and verify disk tracks in a hardware-independent manner.
INT 21H (0x21)
Function 44H (0x44 or 68), Sub function 0EH (0x0E or 14) I/O Ctrl -->> get logical drive map
Call with: AH = 44H
AL = 0EH
BL = drive code (0 = default, 1=A,
2=B, etc.)
Returns: If function successful
Carry flag = clear
AL = mapping code
00H, if only one logical drive code
assigned to the block device
01H-1AH logical drive code (1=A,
2=B, etc.) mapped to the block device
If function unsuccessful
Carry flag = set
AX = error code
Comments:
It returns the logical drive code that was most recently used to access the specified block drive.
INT 21H (0x21)
Function 44H (0x44 or 68), Sub function 0FH (0x0F or 15) I/O Ctrl --> set logical drive map
Call with: AH = 44H
AL = 0FH
BL = drive code (0 = default, 1=A,
2=B, etc.)
Returns: If function successful
Carry flag = clear
AL = mapping code
00H, if only one logical drive code
assigned to the block device
01H-1AH, logical drive code (1=A,
2=B, etc.) mapped to the
block device
If function unsuccessful
Carry flag = set
AX = error code
Comments:
This sub function sets the next logical drive code that will be used to reference a block device.
INT 21H (0x21)
Function 45H (0x45 or 69) --> Duplicate handle
Call with: AH = 45H
BX = handle to be duplicated
Returns: If function successful
Carry flag = clear
AX = new handle
If function unsuccessful
Carry flag = set
AX = error code
Comments:
This function returns a new handle that refers to the same device or file at the same position for given handle for a currently open device or file.
INT 21H (0x21)
Function 46H (0x46 or 70) --> Redirect handle
Call with: AH = 46H
BX = handle for file or device
CX = handle to be redirected
Returns: If function successful
Carry flag = clear
If function unsuccessful
Carry flag = set
AX = error code
Comments:
If there are two given handles, this function makes the second handle refer to the same device or file at the same location as the first handle. The second handle is then said to be redirected.
INT 21H (0x21)
Function 47H (0x47 or 71) --> Get current directory
Call with: AH = 47H
DL = drive code (0 =default, 1=A,
2=B, etc.)
DS: SI = segment: offset of 64-byte buffer
Returns: If function is successful
Carry flag = clear
And buffer is filled in with full pathname from root of current directory.
If function is unsuccessful
Carry flag = set
AX = error code
Comments:
This function obtains an ASCIIZ string that describes the path from the root to the current directory, and the name of that directory.
|