Jump to content

ИНТ 10Ч

(Перенаправлено с INT 10h )

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

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

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

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

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

[ редактировать ]

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

Функция Код функции Параметры Возвращаться
Установить видеорежим АХ=00ч AL = видеорежим

AL = видеорежим (только для старых версий IBM)

AL = флаг режима видео/байт режима контроллера CRT
Установить форму курсора текстового режима АХ=01ч CH = начало строки сканирования, CL = конец строки сканирования

Обычно символьная ячейка имеет 8 строк сканирования, 0–7. Итак, CX=0607h — это обычный курсор с подчеркиванием, CX=0007h — полноблочный курсор. Если установлен бит 5 канала CH, это часто означает «Скрыть курсор». Итак, CX=2607h — невидимый курсор.

Некоторые видеокарты имеют 16 строк развертки, 00h-0Fh.

Некоторые видеокарты не используют бит 5 канала CH. С их помощью выполните Start>End (например, CX=0706h)

Установить положение курсора АХ=02ч BH = номер страницы, DH = строка, DL = столбец
Получить положение и форму курсора АХ=03ч ЧД = номер страницы AX = 0, CH = начало строки сканирования, CL = конец строки сканирования, DH = строка, DL = столбец
Считайте положение светового пера (не работает в VGA системах ) АХ=04ч AH = Статус (0 = не активировано, 1 = активировано), BX = Пиксель X, CH = Пиксель Y, CX = Номер строки пикселя для режимов 0Fh–10h, DH = Символ Y, DL = Символ X
Выберите активную страницу отображения АХ=05ч AL = Номер страницы
Прокрутить окно вверх АХ=06ч AL = строки для прокрутки (0 = очистить, используются CH, CL, DH, DL),

BH = Цвет фона и Цвет переднего плана. BH = 43h означает, что цвет фона — красный, а цвет переднего плана — голубой. См. атрибуты цвета BIOS.

CH = номер верхней строки, CL = номер левого столбца, DH = номер нижней строки, DL = номер правого столбца

Прокрутить окно вниз АХ=07ч как выше
Считать символ и атрибут в позиции курсора АХ=08ч ЧД = номер страницы AH = Цвет , AL = Символ
Запись символа и атрибута в позиции курсора АХ=09ч AL = символ, BH = номер страницы, BL = цвет , CX = количество раз печати символа.
Записывать символ только в позиции курсора АХ=0Ач AL = символ, BH = номер страницы, CX = количество раз печати символа.
Установить цвет фона/границы АХ=0Bh, ЧД = 00h BL = Цвет фона/границы (рамка только в текстовых режимах)
Установить палитру АХ=0Bh, ЧД = 01h BL = идентификатор палитры (действителен только в CGA , но более новые карты поддерживают его во многих или во всех графических режимах)
Написать графический пиксель АХ=0Ч AL = Цвет , BH = Номер страницы, CX = x, DX = y
Чтение графического пикселя АХ=0Дч BH = номер страницы, CX = x, DX = y АЛ = Цвет
Телетайпный выход АХ=0Эх AL = Символ, BH = Номер страницы, BL = Цвет (только в графическом режиме)
Получить текущий видеорежим АХ=0Фч AL = режим видео, AH = количество столбцов символов, BH = активная страница
Изменить набор символов текстового режима [3] АХ=11ч BH = количество байтов на символ, CX = количество символов для изменения, DX = начальный символ для изменения, ES:BP = смещение символьных данных
Запись строки (EGA+, что означает минимум ПК AT ) АХ=13ч AL = режим записи, BH = номер страницы, BL = цвет , CX = количество символов в строке, DH = строка, DL = столбец, ES:BP = смещение строки
установить VESA-совместимые видеорежимы, начиная с 640 на 480 и заканчивая 1280 на 1024 с 256 цветами АХ=4f02h BX = видеорежим, если установлен бит Sign (бит 15), видеопамять не будет обновляться
Other VESA VBE commands AX = от 4F00h до 4F15h См. спецификацию См. спецификацию

См. также

[ редактировать ]
  1. ^ «Что такое efifb? — Документация по ядру Linux» . www.kernel.org . Проверено 24 ноября 2020 г.
  2. ^ «Что такое vesafb? — Документация по ядру Linux» . www.kernel.org . Проверено 24 ноября 2020 г.
  3. ^ «Процедура смены шрифта» . Вечно молодое программное обеспечение . Проверено 8 марта 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1d98f8be28a40dc8d9c210e5c29f9f86__1709107680
URL1:https://arc.ask3.ru/arc/aa/1d/86/1d98f8be28a40dc8d9c210e5c29f9f86.html
Заголовок, (Title) документа по адресу, URL1:
INT 10H - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)