Приложение А.10: Таблицы данных для видеосистемы
Продолжение таблицы А.10-1 |
|
|
|
|
|
113h |
32k |
|
800x600 |
*1 |
SVGA |
|
114h |
64k |
|
800x600 |
*1 |
SVGA |
|
115h |
16M |
|
800x600 |
*1 |
SVGA |
|
116h |
32k |
|
1024x768 |
*1 |
SVGA |
|
117h |
64k |
|
1024x768 |
*1 |
SVGA |
|
118h |
16M |
|
1024x768 |
*1 |
SVGA |
|
119h |
32k |
|
1280x1024 |
*1 |
SVGA |
|
11Ah |
64k |
|
1280x1024 |
*1 |
SVGA |
|
11Bh |
16M |
|
1280x1024 |
*1 |
SVGA |
|
120h |
256 |
|
1600x1200 |
*1 |
SVGA |
Примечание 1: размеры и положение "окон" доступа к видеопамяти в режимах SVGA зависят от используемой видеокарты. Параметры доступа можно выяснить вызовом INT 10\AX=4F01h (8.01-36, A.10-7).
Примечание 2: графический видеорежим 102h (800x600x16) до принятия стандарта SVGA обозначался кодом 6Ah, и посредством этого кода может быть установлен с помощью INT 10\AH=00h (8.01-10).
Примечание 3: стандарт SVGA резервирует код BX=81FFh для обозначения специального видеорежима, открывающего неограниченный доступ к встроенной памяти видеокарты.
A.10-2 Сведения о статусе видеосистемы
Здесь показана структура 64-байтового блока данных, возвращаемого обработчиком прерывания INT 10\AH=1Bh (8.01-34) и характеризующего текущее состояние видеосистемы компьютера.
Смещение |
Длина |
Содержание |
00h |
4 |
Адрес таблицы стат. функциональности (A.10-3) |
04h |
1 |
Установленный видеорежим |
05h |
2 |
Число элементов адресации по горизонтали |
07h |
2 |
Размер буфера регенерации в байтах |
09h |
2 |
Начальный адрес буфера регенерации |
0Bh |
16 |
8 позиций курсора для видеостраниц 0 – 7 |
1Bh |
2 |
Начальная и конечная строки курсора |
1Dh |
1 |
Номер активной видеостраницы |
1Eh |
2 |
Адрес порта контроллера CRT |
20h |
2 |
Значения, посланные в порты 03x8h и 03x9h |
22h |
1 |
Номер последней строки |
23h |
2 |
Число байтов на знак в таблице шрифта |
25h |
1 |
Код активного видеоадаптера |
26h |
1 |
Код второго видеоадаптера, если он имеется |
|
|
– 649 – |
Приложение А.10: Таблицы данных для видеосистемы
Продолжение таблицы А.10-2
27h |
2 |
Число цветов (= 0000h для b/w видеорежимов) |
29h |
1 |
Число видеостраниц действующего видеорежима |
2Ah |
1 |
Число строк растра (примечание 1) |
2Bh |
1 |
Первый блок шрифта знакогенератора |
2Ch |
1 |
Второй блок шрифта знакогенератора |
2Dh |
1 |
Флаги текущего состояния (примечание 2) |
31h |
1 |
Видеопамять, 00h – 03h означают 64 – 256 кбайт |
32h |
1 |
Флаги, такие же как в байте 0Eh таблицы A.10-3. |
Примечание 1: число строк растра определяется установлением в единицу одного бита в байте со смещением 2Ah, причем биты 0, 1, 2, 3, 4, 5, 6
соответствуют числам строк 200, 350, 400, 480, 512, 600, 768.
Примечание 2: установление битов в байте флагов 2Dh означает следующее: бит 0 – ограничений на установление видеорежимов нет бит 1 – включено полутоновое суммирование бит 2 – включен монохромный знакогенератор бит 3 – запрет загрузки произвольных палитр бит 4 – осуществляется эмуляция курсора
бит 5 – роль бита 7 в байте цвета (A.10-5)
бит 6 – шрифты 9-точечной ширины не поддерживаются. Если бит 5 в байте флагов сброшен в нуль, то бит 7 в байте цвета изменяет яркость фона, иначе он задает мерцание знака.
A.10-3 Формат таблицы статической функциональности
Таблица статической функциональности характеризует то множество видеорежимов, которое способна поддерживать видеокарта компьютера. Указатель
на таблицу статической функциональности выдается в первых четырех байтах таблицы сведений о статусе видеосистемы (A.10-2), возвращаемой обработчиком прерывания INT 10\AH=1Bh (8.01-34).
Смещение |
Длина |
Содержание |
00h |
7 |
Установление битов 00h – 13h означает поддержку |
|
|
|
видеорежимов 00h – 13h. Роль битов после |
|
|
|
13h зависит от изготовителя видеокарты. |
07h |
1 |
Биты 0 |
– 6 отмечают поддержку растров с числом |
|
|
|
строк 200, 350, 400, 480, 512, 600, 768. |
08h |
1 |
Доступное число блоков шрифта знакогенератора |
09h |
1 |
Число одновременно используемых шрифтов |
0Ah |
2 |
Слово поддерживаемых функций: |
|
|
бит 0 |
– произвольный выбор видеорежима |
|
|
бит 1 |
– поддержка полутонового суммирования |
|
|
|
– 650 – |
Приложение А.10: Таблицы данных для видеосистемы
Продолжение таблицы А.10-3
бит 2 – поддержка загрузки шрифтов бит 3 – возможность запрета загрузки палитр бит 4 – поддержка эмуляции курсора
бит 5 – имеется встроенная палитра EGA бит 6 – встроенная цветностная палитра бит 7 – постраничные цветностные регистры бит 8 – световое перо (INT 10\AH=04h)
бит 9 – сохранение и восстановление состояния бит 10 – поддержка бита 7 байта цвета (A.10-5) бит 11 – поддержка нескольких видеокарт
0Eh 1 Байт поддержки шрифтов и палитр:
бит 0 – поддержка 512-знаковых шрифтов бит 1 – динамическая область сохранения бит 2 – перезагрузка текстовых шрифтов бит 3 – перезагрузка графических шрифтов бит 4 – поддержка перезагрузки палитр
бит 5 – поддержка расширений видеоадаптера
A.10-4 Сведения о SVGA-расширениях системы BIOS
Здесь приведены выборочные сведения из 512-байтового блока данных, возвращаемого обработчиком прерывания INT 10\AX=4F00h (8.01-35). Сведения характеризуют программное обеспечение, "зашитое" в микросхему постоянной памяти видеокарты.
Смещение |
Длина |
Содержание |
00h |
4 |
Сигнатура "VESA" или "VBE2" |
04h |
2 |
Номер версии SVGA-расширений системы BIOS |
06h |
4 |
Указатель на имя фирмы-изготовителя |
0Eh |
4 |
Адрес списка поддерживаемых видеорежимов, |
|
|
оканчивающегося словом FFFFh |
12h |
2 |
Размер имеющейся видеопамяти, выраженный |
|
|
числом блоков по 64 кбайт каждый. |
A.10-5 Коды цветности 16-цветных видеорежимов
Из множества доступных видеорежимов и система BIOS, и MS-DOS7 по умолчанию выбирают 16-цветный текстовый видеорежим 03h, имеющийся во всех AT-совместимых компьютерах. Далее здесь дана расшифровка четырехбитовых кодов, определяющих цвета знаков и фона в видеорежиме 03h и в других 16-цветных видеорежимах (A.10-1).
Приложение А.10: Таблицы данных для видеосистемы
0000 |
0 |
черный |
1000 |
8 |
серый |
0001 |
1 |
синий |
1001 |
9 |
ярко-синий |
0010 |
2 |
зеленый |
1010 |
10 |
ярко-зеленый |
0011 |
3 |
голубой |
1011 |
11 |
ярко-голубой |
0100 |
4 |
красный |
1100 |
12 |
ярко-красный |
0101 |
5 |
пурпурный |
1101 |
13 |
ярко-пурпурный |
0110 |
6 |
коричневый |
1110 |
14 |
желтый |
0111 |
7 |
белый |
1111 |
15 |
яркий белый |
На основе показанных кодов формируются байты цветности (иногда называемые также байтами атрибутов). Чередующимися байтами цветности и знаковыми байтами заполняется видеопамять в текстовых видеорежимах. В каждом байте цветности биты 3 – 0 характеризуют цвет знака, а биты 6 – 4 – цвет фона. По умолчанию бит 7 характеризует не яркость фона, а мерцание знака, однако эта его роль может быть переопределена с помощью INT 10\AX=1003h (8.01-23), и тогда биты в обеих четырехбитовых группах будут иметь одинаковое значение. Роль бита 3, по умолчанию определяющего яркость знака, также может быть переопределена с помощью INT 10\AX=1103h (8.01-28) и тогда бит 3 будет направлять выбор знака к другому блоку шрифта, обеспечивая тем самым одновременное воспроизведение знаков из двух заранее загруженных шрифтов.
A.10-6 Видеоданные в области данных BIOS
В приведенной здесь таблице показаны избранные данные BIOS, которые могут иметь отношение к видеосистеме компьютера. Все значения смещений отсчитаны от сегментного адреса 0040h, то есть от начала области данных BIOS (A.01-1).
Смещение |
Длина |
Содержание |
10h |
2 |
Биты 4-5 определяют начальный видеорежим: |
|
|
00b |
– выбор предоставлен видеокарте |
|
|
01b |
– 40x25 текстовый цветной (CGA) |
|
|
10b |
– 80x25 текстовый цветной (CGA) |
|
|
11b |
– 80x25 монохромный текстовый. |
49h |
1 |
Установленный видеорежим (A.10-1) |
4Ah |
2 |
Число элементов адресации по горизонтали |
4Ch |
2 |
Размер видеостраницы (в байтах) в видеобуфере |
4Eh |
2 |
Начальный адрес активной видеостраницы |
50h |
16 |
Координаты курсора в каждой из 8 видеостраниц |
60h |
2 |
Начальная и конечная строки курсора (8.01-11) |
62h |
1 |
Номер активной видеостраницы |
63h |
2 |
Базовый порт CRT-контроллера (обычно 03D4h) |
65h |
1 |
Байт, посланный в порт 03B8h/03D8h: |
|
|
– 652 – |
|
|
Приложение А.10: |
Таблицы данных для видеосистемы |
Продолжение таблицы А.10-6 |
|
|
|
|
|
|
|
|
бит 5 – управление мерцанием (8.01-23) |
|
|
|
|
|
|
|
|
|
66h |
|
1 |
Байт, посланный последним в порт 03D9h: |
|
|
|
|
|
|
|
бит 4 – яркость фона (8.01-23) |
|
|
|
84h |
|
1 |
Число элементов адресации по вертикали |
|
|
|
85h |
|
2 |
Число строк в вертикальном размере шрифта |
|
|
|
87h |
|
5 |
Флаги состояния видеокарты: |
|
|
|
|
|
|
бит 0: эмуляция курсора не осуществляется |
|
|
|
|
|
|
бит 1: применен монохромный дисплей |
|
|
|
|
|
|
бит 2: нужна задержка на время прогрева CRT |
|
|
|
|
|
|
бит 7: сохранять видеопамять при смене режима |
|
|
|
A8h |
|
4 |
Адрес блока указателей для видеорежимов VGA |
|
|
Примечание 1: представленное расположение данных может быть изменено в зависимости от версии системы BIOS в Вашем компьютере.
A.10-7 Характеристики запрошенного видеорежима SVGA
Здесь представлены выборочные сведения из 256-байтового блока данных, который возвращает обработчик прерывания INT 10\AX=4F01h (8.01-36) в ответ на запрос о любом из поддерживаемых видеорежимов SVGA.
Смещение |
Длина |
Содержание |
00h |
2 |
Флаги: |
|
|
|
бит 0 |
– запрошенный режим поддерживается |
|
|
бит 2 |
– поддержка функций 8.01-21, 8.01-33 |
|
|
бит 3 |
– если сброшен, то режим монохромный |
|
|
бит 4 |
– если сброшен, то режим текстовый |
|
|
бит 5 |
– режим отличается от стандарта VGA |
|
|
бит 6 |
– переключения банков памяти нет |
|
|
бит 7 |
– линейный кадровый буфер доступен |
02h |
1 |
Окно "A": |
|
|
бит 0 |
– скользящее окно "A" существует |
|
|
бит 1 |
– окно "A" доступно для чтения |
|
|
бит 2 |
– окно "A" доступно для записи |
03h |
1 |
Окно "B": то же, что в байте 02h для окна "A" |
04h |
2 |
Шаг (в кб) смещения "окон" по видеопамяти |
06h |
2 |
Размер "окон", выраженный в килобайтах |
08h |
2 |
Начальный сегмент окна "A" (для процессора) |
0Ah |
2 |
Начальный сегмент окна "B" (для процессора) |
0Ch |
4 |
Адрес |
вызова подпрограммы позиционирования |
|
|
окон, аналогичной INT 10\AX=4F05h (8.01-39) |
10h |
2 |
Число байтов видеопамяти на 1 строку развертки |
|
|
|
– 653 – |
Приложение А.10: Таблицы данных для видеосистемы
Продолжение таблицы А.10-7 |
|
|
12h |
2 |
Длина строки (примечание 1) |
|
14h |
2 |
Размер растра по вертикали (примечание 1) |
|
16h |
1 |
Ширина знакоместа в пикселах |
|
17h |
1 |
Высота знакоместа в пикселах |
|
18h |
1 |
Число плоскостей видеопамяти |
|
19h |
1 |
Число битов видеопамяти на один пиксел |
|
1Ah |
1 |
Число банков памяти на видеокарте |
|
1Bh |
1 |
Модель заполнения видеопамяти: |
|
|
|
00h |
– текстовая, попеременно знак и цвет |
|
|
|
03h |
– 16-цветная графическая модель EGA |
|
|
|
04h |
– графическая с "упакованными" пикселами |
|
|
|
06h |
– 3 байта цветности на пиксел (HiColor) |
|
|
|
07h |
– модель яркость-цветность (YUV или YIQ) |
|
1Ch |
1 |
Размер банка видеопамяти в килобайтах |
|
1Dh |
1 |
Число видеостраниц |
|
28h |
4 |
Физический адрес видеобуфера (VBE версии 2.0) |
Примечание 1: длина строки и размер растра для графических видеорежимов выражены в пикселах, а для текстовых – числом знакомест.
A.11 Спецификации оборудования компьютера
A.11-1 Слово аппаратной конфигурации
Слово аппаратной конфигурации возвращает обработчик прерывания INT 11 (8.01-42), он считывает это слово из области данных BIOS (A.01-1) обычно по адресу 0040:0010h (адрес может зависеть от версии BIOS). Расшифровка значений битов в слове аппаратной конфигурации дана в приведенной ниже таблице.
Биты |
Значение |
0 |
Имеется флоппи-дисковод, пригодный для загрузки компьютера |
1 |
Имеется арифметический сопроцессор |
2 |
Под управлением BIOS имеется манипулятор "мышь" |
4-5 |
Начальный видеорежим, расшифровываемый в таблице A.10-1 |
6-7 |
Число флоппи-дисководов минус 1, только если установлен бит 0 |
9-11 |
Число последовательных портов (COM-портов) |
12 |
Имеется игровой порт (для джойстика) |
13 |
Имеется встроенный модем |
14-15 |
Число параллельных портов (LPT-портов) |
Приложение А.11: Спецификации оборудования компьютера
A.11-2 Идентификаторы модели компьютера для драйвера HIMEM.SYS
Для обеспечения доступа к расширенной памяти компьютера драйверу HIMEM.SYS (5.04-01) необходимо правильно определить тип центрального процессора. Однако в некоторых компьютерах драйвер HIMEM.SYS не может определить тип процессора правильно, и тогда в строке вызова драйвера нужно явно указать идентификатор или кодовый номер модели компьютера.
В приведенной ниже таблице перечислены идентификаторы и соответствующие кодовые номера тех моделей компьютеров, в которых не обеспечивается
определение типа центрального процессора по крайней мере некоторыми версиями драйвера HIMEM.SYS. Первое место в этой таблице (код 1) в порядке исключения занимает вполне определяемая модель IBM PC AT, потому что именно она принимается по умолчанию. Последние версии драйвера HIMEM.SYS способны
правильно определять типы процессоров почти во всех перечисленных здесь моделях компьютеров, кроме Acer 1100, Wyse, и IBM 7552.
Идентификатор |
Код |
Модель компьютера |
at |
1 |
IBM PC AT и совместимые с ней модели |
ps2 |
2 |
IBM PS/2 |
ptlcascade |
3 |
Phoenix Cascade BIOS |
hpvectra |
4 |
HP Vectra (A & A+) |
att6300plus |
5 |
AT&T 6300 Plus |
acer1100 |
6 |
Acer 1100 |
toshiba |
7 |
Toshiba 1600 & 1200XE |
wyse |
8 |
Wyse 12.5 Mhz 286 |
tulip |
9 |
Tulip SX |
zenith |
10 |
Zenith ZBIOS |
at1 |
11 |
Резервировано фирмой IBM |
at2 |
12 |
Резервировано фирмой IBM |
css |
12 |
CSS Labs |
at3 |
13 |
Резервировано фирмой IBM |
philips |
13 |
Philips |
fasthp |
14 |
HP Vectra |
ibm7552 |
15 |
IBM 7552 Industrial Computer |
bullmicral |
16 |
Bull Micral 60 |
dell |
17 |
Dell XBIOS |
A.11-3 Контроллер клавиатуры
Контроллер клавиатуры – это микросхема на материнской плате компьютера. В AT-совместимых компьютерах применяют разные типы контроллеров клавиатуры,
Приложение А.11: Спецификации оборудования компьютера
но как их роли, так и управление ими в значительной степени унифицированы. "Общение" центрального процессора с контроллером клавиатуры происходит, в основном, через порты 60h и 64h.
Порт 64h всегда открыт для считывания текущего состояния контроллера клавиатуры. Установление в единицу отдельных битов в байте состояния, принятом командой IN (7.03-26) из порта 64h, означает следующее:
бит 7 – ошибка передачи данных от клавиатуры; бит 6 – клавиатура не отвечает контроллеру;
бит 4 – клавиатура заблокирована командой ADh;
бит 2 – самотестирование клавиатуры успешно закончено; бит 1 – контроллер еще не успел выполнить операцию; бит 0 – в порте 60h готов к считыванию код клавиши.
При каждом нажатии или отпускании любой клавиши контроллер выставляет соответствующий код клавиши в порт 60h и одновременно объявляет об этом, устанавливая в единицу бит 0 в порте 64h и посылая сигнал на вызов обработчика прерывания INT 09 через линию 4 своей выходной шины (примечание 1). Обработчик прерывания INT 09 (8.01-09) считывает подготовленный байт из порта 60h. Каждый акт считывания из порта 60h сбрасывает в нуль бит 0 в порте 64h.
Помимо прочего, порт 64h принимает коды операций контроллера клавиатуры, посылаемые ему посредством команды OUT (7.03-66). Поскольку контроллер работает значительно медленнее центрального процессора, постольку перед посылкой ему любого кода или любых данных необходимо ждать, пока будет сброшен в нуль бит 1 в байте состояния, считываемом из того же порта 64h: это будет означать, что контроллер завершил предыдущее действие и готов приступить к следующему. Коды наиболее важных системных операций, принимаемые контроллером клавиатуры через порт 64h, показаны в приведенной ниже таблице.
Код |
Операция |
ADh |
Выключение (блокировка) клавиатуры |
AEh |
Активизация (разблокировка) клавиатуры |
D1h |
Открыть порт 60h для приема данных (примечание 1) |
EDh |
Открыть порт 60h для приема данных (примечание 2) |
FEh |
Сброс процессора в начальное состояние (примечание 3) |
Примечание 1: при исполнении операции D1h порт 60h примет 1 байт данных и направит его в выходную шину контроллера. Биты байта данных распределяются по линиям шины следующим образом:
бит 7 – сигнал на линию данных к клавиатуре; бит 6 – на линию тактовых импульсов к клавиатуре;
бит 4 – на линию IRQ 1 для вызова INT 09 (8.01-09);
Приложение А.11: Спецификации оборудования компьютера
бит 1 – к вентилю линии A20 адресной шины;
бит 0 – на сброс процессора в начальное состояние. Активное состояние линий – нулевое, поэтому посылать байты с нулевым состоянием бита 0 нельзя (процессор будет заблокирован). По той же причине для открывания линии A20 следует посылать в порт 60h байт FFh, а для запрета доступа к HMA – байт FDh.
Примечание 2: при исполнении операции EDh порт 60h примет 1 байт данных и
направит его на управление светодиодными индикаторами клавиатуры, в частности:
бит 2 – к индикатору Caps Lock бит 1 – к индикатору Num Lock бит 0 – к индикатору Scroll Lock
Для включения (зажигания) индикатора соответствующий бит надо установить в единицу. Не упомянутые здесь биты в посылаемом байте данных должны быть обнулены.
Примечание 3: при исполнении операций F0h – FFh контроллер направит в свою выходную шину 4 младших бита кода операции, но, в отличие от операции D1h, не будет удерживать эти состояния линий, а выдаст их только в виде 6-микросекундного импульса. В частности, при посылке в порт 64h кода операции FEh будет сформирован импульс, направляемый в линию 0 выходной шины. Он сбросит процессор в начальное состояние подобно кнопке "Reset" на лицевой панели системного блока компьютера. Пути влияния на развитие событий после сброса кратко описаны в примечании 4 к A.12-1.
A.11-4. Флаги центрального процессора.
Обычный 16-разрядный регистр флагов в современных процессорах, начиная с модели 80386, расширен до 32 бит; кроме того, введены управляющие регистры CR0, CR2 и CR3. Позже, начиная с процессора Pentium, группа управляющих регистров дополнена регистром CR4. Из упомянутых управляющих регистров только регистр CR2 не содержит флагов – он выделен для хранения линейного адреса последней команды, запросившей доступ к неразрешенной странице памяти. Назначение некоторых флагов из регистра флагов, а также из регистров CR0, CR3 и CR4 показано в приведенной ниже таблице.
Регистр |
Бит |
Назначение |
Примечания |
FLAGS |
00h |
CF – флаг переноса в старшем разряде |
*1 |
FLAGS |
02h |
PF – четность суммы младшего байта |
*1 |
FLAGS |
04h |
AF – флаг переноса из 4-го разряда |
*1 |
FLAGS |
06h |
ZF – флаг равенства или нуля |
*1 |
Приложение А.11: Спецификации оборудования компьютера
Продолжение таблицы А.11-4 |
|
|
FLAGS |
07h |
SF – флаг знака числа |
*1 |
|
FLAGS |
08h |
TF – флаг пошагового исполнения |
|
|
FLAGS |
09h |
IF – флаг разрешения прерываний |
*1 |
|
FLAGS |
0Ah |
DF – направление счета индексов |
*1 |
|
FLAGS |
0Bh |
OF – флаг переполнения |
*1 |
|
FLAGS |
0Ch |
2-битовое поле уровня привилегий |
*2 |
|
FLAGS |
0Eh |
Флаг вложенной задачи |
*3 |
|
FLAGS |
0Fh |
Признак процессоров 8086 |
*3 |
|
EFLAGS |
10h |
Флаг запрета отладочных прерываний |
*4 |
|
EFLAGS |
11h |
Флаг установления режима V86 |
*4, *5 |
|
EFLAGS |
12h |
Флаг контроля выравнивания |
*4, *6 |
|
EFLAGS |
13h |
Виртуальное разрешение прерываний |
*4 |
|
EFLAGS |
14h |
Виртуальный запрос прерывания |
*4 |
|
EFLAGS |
15h |
Идентификация процессора |
*3, *4 |
|
CR0 |
00h |
Флаг защищенного режима |
*7 |
|
CR0 |
01h |
Синхронизация сопроцессора (7.02-05) |
*7 |
|
CR0 |
02h |
Эмуляция сопроцессора через INT 07 |
*7 |
|
CR0 |
03h |
Флаг переключения задач |
*7 |
|
CR0 |
04h |
Флаг поддержки команд сопроцессора |
*7 |
|
CR0 |
05h |
Исключение при ошибке сопроцессора |
*7 |
|
CR0 |
10h |
Защита от записи |
*7, *8 |
|
CR0 |
12h |
Разрешение выравнивания по маске |
*7, *6 |
|
CR0 |
1Dh |
Запрет сквозной записи кэша |
*7 |
|
CR0 |
1Eh |
Запрет заполнения кэша |
*7 |
|
CR0 |
1Fh |
Разрешение подкачки страниц |
*7 |
|
CR3 |
03h |
Сквозная запись при кэшировании |
*7, *9 |
|
CR3 |
04h |
Запрет страничного кэширования |
*7, *9 |
|
CR4 |
00h |
Разрешение виртуального флага V86 |
*7 |
|
CR4 |
01h |
Разрешение виртуальных флагов |
*7 |
|
CR4 |
02h |
Запрет считывания счетчика времени |
*7 |
|
CR4 |
03h |
Разрешение INT 01 при вызове порта |
*7 |
Примечание 1: роль и состояния этого флага описаны в разделе 6.05-15. Примечание 2: биты 0Ch и 0Dh в регистре флагов выражают необходимый уровень
привилегий для проведения операций ввода-вывода. В среде DOS биты 0Ch и 0Dh по умолчанию установлены: значит, прямой ввод- вывод разрешен всем процессам. Но только процессам с высшим (нулевым) уровнем привилегий дано право изменять состояния битов 0Ch и 0Dh командой POPF (7.03-68). По этому признаку можно проверить, исполняется ли текущий процесс на высшем уровне привилегий.