# 0Ch Переключение кодовых страниц
Вызов:
Регистр | ||
AH | 44h | |
AL | 0Ch | |
BX | Индекс для открытого устройства | |
CH | Код категории устройства: 00 - неизвестное устройство; 01 - устройства COM1, COM2 и т.д.; 03 - консоль CON; 05 - устройства печати LPT1, LPT2 и т.д. | |
CL | Код операции: 45h - установить число повторений операции; 4Ah - выбор кодовой страницы; 4Ch - начало подготовки кодовой страницы; 4Dh - конец подготовки кодовой страницы; 5Fh - установить устройство "дисплей"; 65h - получить число повторений операции; 6Ah - получить выбранную кодовую страницу; 6Bh - получить подготовленный список; 7Ah - получить параметры дисплея (ширина, длина и цвет) | |
DS:DX | Указатель на блок параметров. |
Возврат без ошибки:
Регистр | |
CF | 0 |
Возврат с ошибкой:
Регистр | ||
CF | 1 | |
AX | 01h - запрошена несуществующая функция;
06h - BX содержит несуществующий индекс. |
Для подготовки кодовой страницы сначала вызывают эту подфункцию с кодом операции CL=4Ch, затем должна идти серия вызовов подфункции 03h функции 44h прерывания INT21h - запись IOCTL на символьное устройство.
Формат записываемых данных зависит от типа устройства. Драйверы DISPLAY.SYS и PRINTER.SYS, входящие в состав дистрибутива DOS, получают эти данные из файлов с расширением имени .CPI, таких как EGA.CPI, LCD.CPI, 4201.CPI и т.д.
Блок параметров имеет различный формат для разных кодов операций:
CL = 45h | блок параметров состоит из слова, содержащего количество повторений; |
CL = 4Ah, 4Dh, 6Ah | блок параметров состоит из двух слов, первое слово - длина данных (0002), второе - идентификатор кодовой страницы; |
CL = 4Ch | в начале блока параметров расположены три слова - флаги (0000), длина остальной части блока параметров в байтах и количество кодовых страниц, за этими тремя словами следуют слова кодовых страниц. Количество слов кодовых страниц в зависимости от значения MAXFONTS при установке драйвера и может достигать 12; |
CL = 6Bh | первым располагается слово, содержащее длину остальной части блока в байтах, затем идет количество аппаратных кодовых страниц и слова для этих кодовых страниц, в конце расположено слово, содержащее количество подготовленных кодовых страниц и слова с подготовленными кодовыми страницами. Возвращаемый блок может иметь длину до 56 байтов. |