INT 21,65 - Get Extended Country Information (DOS 3.3+)

AH = 65h

AL = 01 get extended country information

= 02 get pointer to character translation table

= 04 get pointer to filename character translation table

= 05 get pointer to filename terminator table

= 06 get pointer to collating sequence

= 07 get segment of DCBS vector (DOS 4.x)

= 20 country dependent character capitalization (DOS 4+)

= 21 country dependent string capitalization (DOS 4+)

= 22 country dependent ASCIIZ string capitalization (DOS 4+)

= 23 determine if character represents country relative

Yes or No response (DOS 4+)

= A0 country dependent filename character capitalization (DOS 4+)

= A1 country dependent filename string capitalization (DOS 4+)

= A2 country dependent ASCIIZ filename capitalization (DOS 4+)

BX = code page (-1 = current global code page, AL < 20h)

CX = amount of data to return

= length of string (AL=21h, A1h)

DX = country ID (-1 = current country, AL < 20h)

DL = character to capitalize or test (AL=20h, 23h, A0h)

DH = second character if double byte character (AL=23h)

ES:DI = pointer to output buffer (AL < 20h, see tables below)

DS:DX = pointer to string to capitalize (AL=21h, 22h, A1h, A2h)

on return

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

= 00 NO response if (AL was 23h)

= 01 YES response if (AL was 23h)

= 02 not a yes or no response (AL was 23h)

CX = amount of data returned

DL = capitalize character (AL=20)

ES:DI pointer to returned table of the forms:

% Offset Size Table for Function 01

00 byte country id = 01

01 word size (38 or less)

03 word country id

05 word code Page

07 word date Format

09 5bytes currency symbol string (ASCIIZ)

0E 2bytes thousands separator string (ASCIIZ)

10 2bytes decimal separator string (ASCIIZ)

12 2bytes date separator string (ASCIIZ)

14 2bytes time Separator string (ASCIIZ)

16 byte currency symbol location

17 byte currency decimal places

18 byte time format

19 dword extended ASCII map call address

1D 2bytes list separator string (ASCIIZ)

1F 10bytes reserved

% Offset Size Table for Function 2

00 byte country Id = 02

01 dword pointer to uppercase table

% Offset Size Table for Function 4

00 byte country Id = 04

01 dword pointer to filename character translation table

% Offset Size Table for Function 5

00 byte country Id = 05

01 dword pointer to filename uppercase table

% File Terminator Table for Function 5

00 word table size

02 7bytes unknown

09 byte length of following data

0A nbytes list of filename termination characters, ex:

< > . " / \ [ ] : | + = ; ,

% Offset Size Table for Function 6

00 byte country Id = 06

01 dword pointer to collating table

% Offset Size Table for Function 7

00 byte country Id = 07

01 dword pointer to byte pair table

- functions A0, A1, A2 are implemented in DOS 4.x but don't work


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