stringtranslate.com

ИНТ 10H

INT 10h , INT 10H или INT 16 — это сокращение от BIOS interrupt call 10 hex , 17-го вектора прерывания в компьютерной системе на базе x86 . BIOS обычно устанавливает обработчик прерываний реального режима на этом векторе, который предоставляет видеоуслуги. Такие услуги включают установку видеорежима, вывод символов и строк, а также графические примитивы (чтение и запись пикселей в графическом режиме).

Чтобы использовать этот вызов, загрузите AH с номером нужной подфункции, загрузите другие требуемые параметры в другие регистры и выполните вызов. INT 10h довольно медленный, поэтому многие программы обходят эту процедуру BIOS и обращаются к оборудованию дисплея напрямую. Установка видеорежима, которая выполняется нечасто, может быть выполнена с помощью BIOS, в то время как рисование графики на экране в игре должно выполняться быстро, поэтому прямой доступ к видеопамяти более уместен, чем вызов BIOS для каждого пикселя.

Кроме того, в современной системе x86 вызовы BIOS могут выполняться только в режиме Real или Virtual 8086. v8086 не является опцией в режиме Long . Это означает, что современная операционная система, которая работает в защищенном режиме (32 бита) или режиме Long (64 бита), должна будет переключиться в реальный режим и обратно, чтобы вызвать BIOS — чрезвычайно затратная операция. Хотя большинство современных систем обычно используют драйверы устройств, которые напрямую устанавливают видеорежим, для любительских систем нецелесообразно иметь драйвер устройства для каждой видеокарты — проблема, которая также преследует старые, неподдерживаемые системы, такие как Windows 98. Такие системы вместо этого могут перейти в режим Real для переключения видеорежима, а затем напрямую отрисовывать в буфере кадров.

В системах EFI 1.x INT 10H и VESA BIOS Extensions (VBE) заменены протоколом EFI UGA. В широко используемых системах UEFI 2.x INT 10H и VBE заменены UEFI GOP . [1] [2]

Список поддерживаемых функций

Список неполный; используйте список Ральфа Брауна для получения полной информации. Пожалуйста, добавляйте только IBM/PC или другие стандартные функции. 00h по 0fh — это CGA.

Смотрите также

Ссылки

  1. ^ «Что такое efifb? — Документация ядра Linux». www.kernel.org . Получено 24.11.2020 .
  2. ^ «Что такое vesafb? — Документация ядра Linux». www.kernel.org . Получено 24.11.2020 .
  3. ^ "Процедура смены шрифта". Forever Young Software . Получено 8 марта 2020 г.