Мегаобучалка Главная | О нас | Обратная связь


INT 10H: видео сервис



2015-12-06 532 Обсуждений (0)
INT 10H: видео сервис 0.00 из 5.00 0 оценок




Здесь детализированы функции INT 10H стандартного видеосервиса ROM-BIOS.

AH сервис--- ----------------------------------------------------------------------------00H уст. видео режим. Очистить экран, установить поля BIOS, установить режим. вход: AL=режим AL Тип формат цвета адаптер адрес монитор === ======= ======= ============= ======= ==== ================= 0 текст 40x25 16/8 полутона CGA,EGA b800 Composite 1 текст 40x25 16/8 CGA,EGA b800 Comp,RGB,Enhanced 2 текст 80x25 16/8 полутона CGA,EGA b800 Composite 3 текст 80x25 16/8 CGA,EGA b800 Comp,RGB,Enhanced 4 графика 320x200 4 CGA,EGA b800 Comp,RGB,Enhanced 5 графика 320x200 4 полутона CGA,EGA b800 Composite 6 графика 640x200 2 CGA,EGA b800 Comp,RGB,Enhanced 7 текст 80x25 3 (b/w/bold) MA,EGA b000 TTL Monochrome 0dH графика 320x200 16 EGA A000 RGB,Enhanced 0eH графика 640x200 16 EGA A000 RGB,Enhanced 0fH графика 640x350 3 (b/w/bold) EGA A000 Enhanced,TTL Mono 10H графика 640x350 4 или 16 EGA A000 Enhanced 8,9,0aH режимы PCjr 0bH,0cH (резервируется для EGA BIOS) замечание: для EGA и Jr можно добавить 80H к AL, чтобы инициализировать видео режим без очистки экрана.--- ----------------------------------------------------------------------------01H уст. размер/форму курсора (текст). курсор, если он видим, всегда мерцает. вход: CH = начальная строка (0-1fH; 20H=подавить курсор) CL = конечная строка (0-1fH)--- ----------------------------------------------------------------------------02H уст. позицию курсора. установка на строку 25 делает курсор невидимым. вход: BH = видео страница DH,DL = строка, колонка (считая от 0)--- ----------------------------------------------------------------------------03H читать позицию и размер курсора вход: BH = видео страница выход: DH,DL = текущие строка, колонка курсора CH,CL = текущие начальная, конечная строки курсора (см. функцию 01H)--- ----------------------------------------------------------------------------04H читать световое перо вход: нет выход: AH = триггер (0=нет значений; 1=возвращены значения светового пера) DH,DL = строка,колонка символа (текст) BX = колонка точки (графика) CH = строка точки (для графики EGA возвращается в CX)--- ----------------------------------------------------------------------------05H выбрать активную страницу дисплея вход: AL = номер страницы (большинство программ использует страницу 0)--- ----------------------------------------------------------------------------06H листать окно вверх (или очистить). Листать на 1 или более строк вверх. вход: CH,CL = строка,колонка верхнего левого угла окна (считая от 0) DH,DL = строка,колонка нижнего правого угла окна (считая от 0) AL = число пустых строк, вдвигаемых снизу (0=очистить все окно) BH = видео атрибут, используемый для пустых строк--- ----------------------------------------------------------------------------07H листать окно вниз (вдвинуть пустые строки в верхнюю часть окна) вход: (аналогично функции 06H)--- ----------------------------------------------------------------------------08H читать символ/атрибут в текущей позиции курсора вход: BH = номер видео страницы выход: AL = прочитанный символ AH = прочитанный видео атрибут (только для текстовых режимов)--- ----------------------------------------------------------------------------09H писать символ/атрибут в текущей позиции курсора вход: BH = номер видео страницы AL = записываемый символ CX = счетчик (сколько экземпляров символа записать) BL = видео атрибут (текст) или цвет (графика) (графические режимы: +80H означает XOR с символом на экране)--- ----------------------------------------------------------------------------0aH писать символ в текущей позиции курсора вход: BH = номер видео страницы AL = записываемый символ CX = счетчик (сколько экземпляров символа записать)--- ----------------------------------------------------------------------------0bH выбрать цвет палитры/бордюра (CGA-совместимые режимы) вход: BH = 0: (текст) выбрать цвет бордюра BL = цвет бордюра (0-1fH; от 10H до 1fH - интенсивные) BH = 1: (графика) выбрать палитру BL = 0: палитра green/red/brown BL = 1: палитра cyan/magenta/white--- ----------------------------------------------------------------------------0cH писать графическую точку (слишком медленно для большинства приложений!) вход: BH = номер видео страницы DX,CX = строка,колонка AL = значение цвета (+80H означает XOR с точкой на экране)--- ----------------------------------------------------------------------------0dH читать графическую точку (слишком медленно для большинства приложений!) вход: BH = номер видео страницы DX,CX = строка,колонка выход: AL = прочитанное значение цвета--- ----------------------------------------------------------------------------0eH писать символ на активную видео страницу (эмуляция телетайпа) вход: AL = записываемый символ (использует существующий атрибут) BL = цвет переднего плана (для графических режимов)--- ----------------------------------------------------------------------------0fH читать текущий видео режим вход: нет выход: AL = текущий режим (см. функцию 00H) AH = число текстовых колонок на экране BH = текущий номер активной страницы дисплея--- ----------------------------------------------------------------------------10H-12H См. EGA BIOS сервис--- ----------------------------------------------------------------------------13H писать строку ¦AT¦ EGA Выдает строку в позиции курсора. символы 0dH (CarRet), 0aH (LineFeed), 08H (backspace) и 07H (Beep) трактуются как команды управления и не высвечиваются. вход: ES:BP => выводимая строка (спецформат для AL=2 и AL=3) CX = длина строки (подсчитываются только символы) DH,DL = строка,колонка начала вывода BH = номер страницы AL = код подфункции: 0 = использовать атрибут в BL; не трогать курсор 1 = использовать атрибут в BL; курсор - в конец строки 2 = формат строки: char,attr, char,attr...; не трогать курсор 3 = формат строки: char,attr, char,attr...; передвинуть курсор--------------------------------------------------------------------------------подфункции 10H-13H: EGA BIOS сервис данные BIOS функции ROM-BIOS EGA BIOS сервис Эти функции устанавливаются в процессе ROM-Scan при наличии платы EGA .См. Детали видео сервиса подф. 00H о видео режимах, применимых к EGA.См. порты в/в EGA о прямом доступе к средствам платы EGA.AH сервис--- ----------------------------------------------------------------------------10H установить регистры палитры для EGA Выбирает цвета, используемые данным атрибутом экрана. умалчиваемые цвета - те же, что используются с CGA (см. атрибуты экрана ). вход: AL = 0: уст. один регистр палитры BL = регистр (идентифицирует 4-битовый цвет; 0-15) BH = значение регистра (6-битовый rgbRGB выдаваемый цвет) AL = 1: уст. регистр бордюра. Note: not much of a border. BH = значение регистра AL = 2: уст. все регистры палитры и регистр бордюра ES:BX => 17 байт (регистры палитры и регистр бордюра) AL = 3: выбрать интенсивность или мерцание BL = 0: интенсивность фона (16 возможных цветов фона) BL = 1: мерцание (8 цветов фона + мерцание переднего плана) значения регистра палитры для подфункций 0,1,and 2: --7-T-6-T-5-T-4-T-3-T-2-T-1-T-0- ¦не исп.¦ r g b/I R G B ¦ (6 бит = 64 возможных цвета) L---+---+---+---+-T-+---+---+---- L= действует как интенсивность для режимов CGA--- ----------------------------------------------------------------------------11H EGA character generator functions. Resets video variables without change to the current values in the regen buffer (ie, the screen is not cleared). вход: AL = 0: load user-defined text-mode display font ES:BP => user font table CX = count of character patterns to store DX = character offset (font load starts at this ASCII value) BL = font block to load (0 to 4; 4 if 256K EGA memory) BH = count of bytes per character pattern (eg, 8 or 14) AL = 1: load ROM 8x14 character font BL = font block to load (0-4) AL = 2: load ROM 8x8 double-dot character font BL = font block to load (0-4) AL = 3: set block specifier (enables two of the four 256-char sets) The second set of 256 chars is selected by attribute bit 3. (in other words, if you select a "foreground color" above 7, the EGA displays the secondary font). BL = font block selector (4 bits, 0-0fH) --7-T-6-T-5-T-4-T-3-T-2-T-1-T-0- ¦ not used ¦block# ¦block# ¦ L---+---+---+---+---+---+---+---- L=T=- L===¦== selected when attr bit 3=0 L============ used when attr bit 3=1 ---------------------------------------------------------------------------- Sub-functions 10H,11H,and 12H expect page 0 to be active and should be used directly after a mode reset. These recalculate rows and columns and reprogram several CRTC registers, including the cursor registers. AL=10H: load user-defined text-mode display font (see SubFn 00H) AL=11H: load ROM 8x14 character font (see SubFn 01H) AL=12H: load ROM 8x8 double-dot character font (see SubFn 02H) ---------------------------------------------------------------------------- AL=20H: set up user character font for graphics modes ES:BP => 2048-byte table of 8x8 character set for INT 1fH AL=21H: set up user character font for graphics modes ES:BP => table of 8x8 character set for INT 44H CX = points (bytes per character) BL = screen rows code 0 = user-specified DL = character rows on screen 1 = 0eH (14 character rows on screen) 2 = 19H (25 character rows on screen) 3 = 2bH (43 character rows on screen) AL=22H: set up ROM 8x14 character font for graphics modes BL = screen rows code (see above) AL=23H: set up ROM 8x8 double-dot character font for graphics modes BL = screen rows code (see above) ---------------------------------------------------------------------------- AL=30H: Get EGA information BH = table pointer request code 0 = return ES:BP => current INT 1fH graphics font addr 1 = return ES:BP => current INT 44H graphics font addr 2 = return ES:BP => ROM 8x14 font table addr 3 = return ES:BP => ROM 8x8 double dot font table addr 4 = return ES:BP => ROM 8x8 double dot addr (top) 5 = return ES:BP => ROM 9x14 alternate table addr выход: CX = font points (font-definition bytes per character) DL = screen rows--- ----------------------------------------------------------------------------12H EGA special functions (Alternate Select) вход: BL=10H: return EGA information выход: BH = mode (0=color; 1=monochrome) BL = memory size code (0=64K; 1=128K; 2=192K; 3=256K) CH = feature bits (values of those unused RCA connectors) CL = switch settings (adaptor/display primary/secondary) вход: BL=20H: select alternate print-screen routine (be sure to use this every time you change the number of screen rows).--- ----------------------------------------------------------------------------13H write string ¦AT¦ EGA Displays a string at a selected cursor position. Characters 0dH (CarRet), 0aH (LineFeed), 08H (bksp), and 07H (Beep) are treated as control commands and are not displayed. вход: ES:BP => string to display (special format for AL=2 and AL=3) CX = length of string (character count only) DH,DL = row,column to start displaying BH = page number AL = sub function code: 0 = use attribute in BL; don't update cursor 1 = use attribute in BL; leave cursor at end of string 2 = string format: char,attr, char,attr...; don't update cursor 3 = string format: char,attr, char,attr...; do update cursor


2015-12-06 532 Обсуждений (0)
INT 10H: видео сервис 0.00 из 5.00 0 оценок









Обсуждение в статье: INT 10H: видео сервис

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (532)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)