Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Установка видеорежимов VGA




Видеорежимы, поддерживаемые BIOS'ом адаптеров VGA BIOS:

Экран

Режим Текст Графика Цвета Размер Адрес

 

0 CGA 25*40 only text 16 B&W 2000 0B800h

1 CGA 25*40 only text 16 2000 0B800h

2 CGA 25*80 only text 16 B&W 4000 0B800h

3 CGA 25*80 only text 16 4000 0B800h

4 CGA 25*40 320*200 4 16000 0B800h

5 CGA 25*40 320*200 2 B&W 8000 0B800h

6 CGA 25*80 640*200 2 16000 0B800h

7 MDA 25*80 only text 2 4000

0Dh EGA 25*40 320*200 16 32000 0A000h

0Eh EGA 25*80 640*200 16 64000 0A000h

0Fh EGA 25*80 640*350 2 28000 0A000h

10h EGA 25*80 640*350 16 112000 0A000h

11h VGA 30*80 640*480 2 38400 0A000h

12h VGA 30*80 640*480 16 153600 0A000h

13h VGA 25*40 320*200 256 64000 0A000h

Требуемый видеорежим устанавливается вызовом функции BIOS

mov AH,0;POW39

mov AL,ScreenModeNumber

int 10h

Этот фрагмент также очищает экран. Содержимое AX не сохраняется. Стандартный BIOS не возвращает никакой информации, сигнализирующей об ошибке. В подерживаемых режимах можно читать и писать в видеопамять путем вызовов соответствующих функций (функции 8,9,0Ch,0Dh). Нормальный текстовый режим DOS - это режим 3.

Следующий фрагмент загружает набор символов из ROM в RAM и соответственно корректирует высоту отображения символов.

mov AH,11h;изменить используемый набор символов и корректировать высоту их отображения

;mov AL,11h;выбрать набор символов 8*14, 28 строк в режиме VGA

;mov AL,12h;выбрать набор символов 8*8, 50 строк

mov AL,14h;выбрать набор символов 8*16, 25 строк

mov BX,0;банк памяти генератора символов

int 10h

Линейные преобразования в системах с фиксированной точкой

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

Числа предствалены в 32-битном формате с фиксированной точкой. Старшее слово содержит целую часть числа, а младшее слово - дробную часть. Предполагается, что используются только положительные числа.

Код использует 32-битные инструкции, но может быть откомпилирован и 16-битным компилятором.

; данные

ConvFactor dw 26214;младший байт коэффициента преобразования 25.4

dw 25;старший байт

Inches dw 32768;младший байт представления 12.5 дюймов

dw 12;старший байт

mMeters dw?;младший байт результата в мм

dw?;старший байт

; код

db 66h

mov AX,Inches;mov EAX,dword ptr ConvFactor

db 66h

mul ConvFactor;результат в EDX:EAX

mov CL,16

db 66h

shr AX,CL;shr EAX,16

mov mMeters,AX;младший байт результата

mov mMeters+2,DX;старший байт

Таблица размещения файлов FAT

Первый сектор (с номером 0) диска - это загрузочный сектор. Его первые байты содержат следующую информацию:

byte

0-2 Переход на загрузочную программу

3-10 Имя в ASCII формате или что-нибудь еще

11-12 Байт на сектор

13 Секторов на кластер

14-15 Секторов в загрузочной записи =B

16 Количество копий FAT

17-18 Количество каталогов в корне диска

19-20 Секторов на диск

21 Тип диска =xx

22-23 Секторов на FAT =F

и т.д.

Первая таблица FAT начинается с B. Ее копия располагается в секторе B+F etc.
Можно детально рассмотреть FAT используя утилиту DEBUG. Не вносите изменений в таблицу FAT на жестком диске, если вы не уверены, что вы делаете.
Первая запись таблицы FAT выглядит так:

12 bit FAT: xx 0FFh 0FFh

16 bit FAT: xx 0FFh 0FFh 0FFh

xx - тип диска.

Затем, с кластера 2 начинаются элементы таблицы. Возможные значения перечислены в следующей таблице:

12-бит.FAT 16-бит. FAT

000h 0000h пусто

002h-0FEFh 0002h-0FFEFh использовано кластеров.

Значение-указатель на следующую запись в цепочке.

0FF0h-0FF6h 0FFF0h-0FFF6h зарезервировано

0FF7h 0FFF7h bad

0FF8h-0FFFh 0FFF8-0FFFFh последний кластер в цепочке

Вы можете читать сектора, используя прерывание 25h. Отметим, что это прерывание сохраняет флаги в стеке, так что после выполнения прерывания они должны быть восстановлены





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 233 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент всегда отчаянный романтик! Хоть может сдать на двойку романтизм. © Эдуард А. Асадов
==> читать все изречения...

2465 - | 2202 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.