INT 21H (0x21) Function 44H (0x44 or 68), Sub function 0CH (0x0C or 12) I/O Ctrl generic I/O control for character devices 44H (0x44 or 68 0DH (0x0D or 13) block devices 44H (0x44 or 68) 0EH (0x0E or 14) get 44H (0x44 or 68 0FH (0x0F or 15) set logical drive map 45H (0x45 or 69) Duplicate 46H (0x46 or 70) Redirect handle 47H (0x47 or 71) Get current directory

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

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.

Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

 
 

page 21 | 22 | 23 | 24 | 25 | 26

Next page
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 
Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor