INT 21,6C - Extended Open/Create (DOS 4.x+)

AH = 6C

AL = 00

BX = open mode (see below)

CX = file attribute (see ~FILE ATTRIBUTES~, bits 15-8 are zero)

DX = function control indicator (see below)

DS:SI = ASCIIZ filespec

returns:

AX = handle if CF clear

= error code if CF set (see ~DOS ERROR CODES~)

CX = 01 file opened

= 02 file created and opened

= 03 file truncated and opened (replaced)

CF = 0 if successful

= 1 if error

% Open Mode in BX:

¦F¦E¦D¦C¦B¦A¦9¦8¦7¦6¦5¦4¦3¦2¦1¦0¦ BX (Open Mode)

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-------- read/write access mode

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-------- reserve (must be 0)

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +------------ sharing mode

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +------------ 1 = private, 0 = inheritable

¦ ¦ ¦ +-------------------- reserved

¦ ¦ +-------------------- 0 = call INT 24, 1 = ignore INT 24

¦ +-------------------- 0 = normal write, 1 = flush each write

+-------------------- reserved

% Read/Write Access bits: Sharing Mode bits:

% 210 654

000 read access 000 compatibility mode

001 write access 001 read/write access

010 read/write access 010 write access denied

011 read access denied

100 full access

% Function Control Indicator in DX:

¦F¦E¦D¦C¦B¦A¦9¦8¦7¦6¦5¦4¦3¦2¦1¦0¦ DX (Function Control)

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---------- file existence behavior

¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +----------------- creation behavior

+-------------------------------- reserved

% File Existence Behavior bits:

% 3210

0000 if file exist, generate error, take no action

0001 if file exists, open file

0010 if file exists, truncate and open

% Creation Behavior bits:

% 7654

0000 if file does not exist, generate error, take no action

0001 if file does not exist, create


Zurück zum Interrupt Info. Roger Morgan / 1998 L.Änderung 29.03.99