Низкоуровневое програмирование Главная - Реальный режим - Прерывания DOS - INT 21h: Сервис DOS. - Функция 38h: Дать/установить информацию страны.

Функция 38h: Дать/установить информацию страны.

Вход:
AH=38h

Установить:
DX=0ffffh
AL - код страны, если Al==0ffh, то код страны в BX

Получить:
AL=0
DS:DX - адрес для сохранения информации о стране

Выход:
При ошибке флаг CF установлен и AX содержит код ошибки
Примечание:
Для DOS 3.0+ при получении информации можно запросить информация для определённой страны, указав её код по тем же правилам, что и при установке кода страны.
DOS 2.0 и выше Информация о стране:
Dos 2.0 - 2.10
БайтыСмысл
00-01Формат даты
00 = mm dd yy
01 = dd mm yy
02 = yy mm dd
02-05символ валюты
0600
07разделитель тысячи
0800
09разделитель дробной части
1000
11разделитель даты
1200
13Разделитель времени
1400
15формат валюты
бит 0 - ==0 если символ валюты ставится после значения, ==1 наоборот
бит 1 - есть ли пробел между символом валюты и значением
бит 2 - установлен, если символ валюты заменяет десятичную точку
16Количество дробных знаков в валюте
17Формат времени
==0 12-часовой
==1 24-х часовой
18-21адрес процедуры преобразования строчных<=>прописных букв (Символ передаётся в AL)
22Разделитель данных
2300
24-40Резерв

Dos 2.0 - 2.11
БайтыСмысл
00-01Формат даты
00 = mm dd yy
01 = dd mm yy
02 = yy mm dd
02символ валюты
0300
04разделитель тысячи
0500
06разделитель дробной части
0700
08-32резерв

Коды стран:
1 - США
2 - Канада (французский стиль)
3 - Латинская америка
4 - Канада (английский стиль)
7 - Россия
20 - Египт
27 - Южная Африка (ЮАР?)
30 - Греция
31 - Нидерланды
32 - Бельгия
33 - Франция
34 - Испания
35 - вероятно, Болгария
36 - Венгрия
38 - Югославия
39 - Италия, Сан-Марино, Ватикан
40 - Румыния
41 - Швейцария, Лихтенштейн
42 - Чехословакия, Чехия
43 - (DR DOS 5.0+, MS DOS) Австрия
44 - Великобритания
45 - Дания
46 - Швеция
47 - Норвегия
48 - Польша
49 - Германия
51 - Перу
52 - Мексика
53 - Куба
54 - Аргентина
55 - Бразилия
56 - Чили
57 - Колумбия
58 - Венесуэла
60 - Малазия
61 - Австралия, Международный Английский
62 - Индонезия, Восточный Тимор
63 - Филипины
64 - Новая Зеландия
65 - Сингапур
66 - Тайланд или тайвань
81 - (DR DOS 5.0+, MS-DOS 5.0+) Япония
82 - (DR DOS 5.0+, MS-DOS)Южная Корея
84 - Вьетнам
86 - (MS-DOS 5.0+) Китай
88 - (MS-DOS 5.0+) Тайвань
90 - (MS-DOD 5.0+) Турция
91 - Индия
92 - Пакистан
93 - Авганистан
94 - Шри-Ланка
98 - Иран
99 - Англоязычная Азия
102 - х\з что
112 - Республика Беларусь
200 - (PC DOS 6.1+) Тайланд (при получении информации возвращается неверные данные)
212 - Морокко
213 - Алжир
216 - Тунис
218 - Ливия
220 - Гамбия
221 - Синегал
222 - Maruitania (Мавритания штоле?)
223 - Мали
224 - Африканская Гвинея
225 - Берег Слоновой Кости
226 - Буркина Фасо
227 - Нигер
228 - Того
229 - Бенин
230 - Маврикий
231 - Либерия
232 - Сьерра-Леоне
233 - Гана
234 - Нигерия
235 - Чад
236 - Центрально-Африканская Республика
237 - Камерун
238 - Острова Зелёного Мыса
239 - Сан-Томе и Принсипи
240 - Экваториальная Гвинея
241 - Габон
242 - Республика Конго
243 - Заир
244 - Ангола
245 - Гвинея-Биасу
246 - Диего-Гарсия
247 - Остров Вознесения
248 - Сейшельские острова
249 - Судан
250 - Руанда
251 - Эфиопия
252 - Сомали
253 - Джибути
254 - Кения
255 - Танзания
256 - Уганда
257 - Бурунди
259 - Мозамбик
260 - Замбия
261 - Мадакаскар
262 - Остров Реюньон
263 - Зимбабве
264 - Намибия
265 - Малави
266 - Лесото
267 - Ботсвана
268 - Королевство Свазиленд
269 - Коморские острова
270 - Майотта
290 - Остров Святой Елены
297 - Остров Аруба
298 - Фарерские острова
299 - Гренландия
350 - Гибралтар
351 - Португалия
352 - Люксемюург
353 - Ирландия
354 - Исландия
355 - Албания
356 - Мальта
357 - Кипр
358 - Финляндия
359 - Болгария
370 - Литва (при получении информации возвращается неверные данные)
371 - Латвия (при получении информации возвращается неверные данные)
372 - Эстония
373 - Молдова
375 - (MS-DOS 7.10 (Win98)) х\з что
380 - Украина
381 - Сербия, Черногория
384 - Хорватия
385 - (PC DOS 7+) Хорватия
386 - Словения
387 - Босния и Герциговина
388 - (PC DOS 7+) Босния и Герциговина (кирилица)
389 - Бывшая Югославская Республика Македония
421 - (PC DOS 7+) Чешская Республика, (MS DOS) Словакия
422 - Словакия (при получении информации возвращается неверные данные)
500 - Фолклендские (Мальвинские) острова
501 - Белиз
502 - Гватемала
503 - Сальвадор
504 - Гондурас
505 - Никарагуа
506 - Коста-Рика
507 - Панама
508 - Сен-Пьер и Микелон
509 - Гаити
590 - Гваделупа
591 - Боливая
592 - Гайана
593 - Эквадор
594 - Франчузская Гайана
595 - Парагвай
596 - Мартиника, Французские Антильские острова
597 - Суринам
598 - Уругвай
599 - Нидерландские Антильские острова
666 - (PTS DOS 6.51) Россия?
667 - (PTS DOS 6.51) Польша?
668 - (PTS DOS 6.51) Польша? (славянский стиль)
670 - Сайпан, Новыйе ​​Марианские острова
671 - Гуам
672 - Остров Норфолк (Австралия), Остров Рождества, Кокосовые острова, Антарктида
673 - Бруней-Даруссалам
674 - Науру
675 - Папуа Новой Гвинеи
676 - Острова Тонга
677 - Соломоновы Острова
678 - Вануату
679 - Фиджи
680 - Архипелаг Палау
681 - Уоллис и Футуна
682 - Острова Кука
683 - Ниуэ (Савидж)
684 - Американское Самоа
685 - Западная Саома
686 - Кирибати
687 - Новая Каледония
688 - Тувалу
689 - Французская Полинезия
690 - Токелау
691 - Микронезия
692 - Маршалловы острова
711 - х\з что
785 - Арабские страны (Ближний Восток / Саудовская Аравия / и т.д.).
804 - Украина
809 - Антигуа и Барбуда, Ангилья, Багамские острова, Барбадос, Бермудские острова, Британские Виргинские острова, Каймановы острова, Доминика, Доминиканская Республика, Гренада, Ямайка, Монтсеррат, Сент-Китс и Невис, Сент-Люсия, Сент-Винсент и Гренадины, Тринидад и Тобаго, Теркс и Кайкос
850 - Северная корея
852 - Гон-Конг
853 - Макао
855 - Камбоджа
856 - Лаос
880 - Бонгладеш
886 - (MS DOS 6.22+) Тайвань
960 - Мальдивы
961 - Ливан
962 - Иордания
963 - Сирия / Сирийская Арабская Республика
964 - Ирак
965 - Кувейт
966 - Саудовская Аравия
967 - Йемен
968 - Оман
969 - (Арабский MS DOS 5.0) Йемен
971 - Объединенные Арабские Эмираты
972 - (DR DOS 5.0, MS DOS 5.0+) Израиль
973 - Бахрейн
974 - Катар
975 - Бутан
976 - Монголия
977 - Непал
995 - Мьянма (Бирма)