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 (MS-DOS 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 Note: this function is not supported by the Borland DPMI host, but no error is returned; as a workaround, one should allocate a buffer in conventional memory with INT 31/AX=0100h and simulate an INT 21 with INT 31/AX=0300h SeeAlso: AH=65h,INT 10/AX=5001h,INT 2F/AX=110Ch,INT 2F/AX=1404h Format of DOS 2.00-2.10 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 DOS 2.11+ 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/Tjekia (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, MS-DOS 5.0+) 052h Korea (DR-DOS 5.0) 056h China (MS-DOS 5.0+) 058h Taiwan (MS-DOS 5.0+) 05Ah Turkey (MS-DOS 5.0+) 15Fh Portugal 162h Iceland 166h Finland 311h Middle East/Saudi Arabia (DR-DOS 5.0,MS-DOS 5.0+) 3CCh Israel (DR-DOS 5.0,MS-DOS 5.0+) .