[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 21 - DOS 2+ - GET COUNTRY-SPECIFIC INFORMATION
        AH = 38h
--DOS 2.x--
        AL = 00h get current-country info
        DS:DX -> buffer for returned info (see below)
Return: CF set on error
            AX = error code (02h)
        CF clear if successful
            AX = country code (MSDOS 2.11 only)
            buffer at DS:DX filled
--DOS 3+--
        AL = 00h for current country
        AL = 01h thru 0FEh for specific country with code <255
        AL = 0FFh for specific country with code >= 255
           BX = 16-bit country code
        DS:DX -> buffer for returned info (see below)
Return: CF set on error
            AX = error code (02h)
        CF clear if successful
            BX = country code
            DS:DX buffer filled
SeeAlso: INT 10/AX=5001h,INT 2F/AX=110Ch,INT 2F/AX=1404h

Format of PCDOS 2.x country info:
Offset  Size    Description
 00h    WORD    date format  0 = USA    mm dd yy
                             1 = Europe dd mm yy
                             2 = Japan  yy mm dd
 02h    BYTE    currency symbol
 03h    BYTE    00h
 04h    BYTE    thousands separator char
 05h    BYTE    00h
 06h    BYTE    decimal separator char
 07h    BYTE    00h
 08h 24 BYTEs   reserved

Format of MSDOS 2.x,DOS 3+ country info:
Offset  Size    Description
 00h    WORD    date format (see above)
 02h  5 BYTEs   ASCIZ currency symbol string
 07h  2 BYTEs   ASCIZ thousands separator
 09h  2 BYTEs   ASCIZ decimal separator
 0Bh  2 BYTEs   ASCIZ date separator
 0Dh  2 BYTEs   ASCIZ time separator
 0Fh    BYTE    currency format
                bit 2 = set if currency symbol replaces decimal point
                bit 1 = number of spaces between value and currency symbol
                bit 0 = 0 if currency symbol precedes value
                        1 if currency symbol follows value
 10h    BYTE    number of digits after decimal in currency
 11h    BYTE    time format
                bit 0 = 0 if 12-hour clock
                        1 if 24-hour clock
 12h    DWORD   address of case map routine
                (FAR CALL, AL = character to map to upper case [>= 80h])
 16h  2 BYTEs   ASCIZ data-list separator
 18h 10 BYTEs   reserved

Values for country code:
 001h   United States
 002h   Canadian-French
 003h   Latin America
 01Fh   Netherlands
 020h   Belgium
 021h   France
 022h   Spain
 024h   Hungary (not supported by DR-DOS 5.0)
 026h   Yugoslavia (not supported by DR-DOS 5.0)
 027h   Italy
 029h   Switzerland
 02Ah   Czechoslovakia (not supported by DR-DOS 5.0)
 02Bh   Austria (DR-DOS 5.0)
 02Ch   United Kingdom
 02Dh   Denmark
 02Eh   Sweden
 02Fh   Norway
 030h   Poland (not supported by DR-DOS 5.0)
 031h   Germany
 037h   Brazil (not supported by DR-DOS 5.0)
 03Dh   International English [Australia in DR-DOS 5.0]
 051h   Japan (DR-DOS 5.0)
 052h   Korea (DR-DOS 5.0)
 15Fh   Portugal
 166h   Finland
 311h   Middle East (DR-DOS 5.0)
 3CCh   Israel (DR-DOS 5.0)

See Also: 2165
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson