Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Структура информации о видеорежиме.
type ModeInfoBlock = record ModeAttributes : word; WinAAttributes : byte; WinBAtrributes : byte; WinGranularity : word; WinSize : word; WinASegment : word; WinBSegment : word; WinFuncPtr : pointer; BytesPerScanLine : word; XResolution : word; YResolution : word; XCharSize : byte; YCharSize : byte; NumberOfPlanes : byte; BitsPerPixel : byte; NumberOfBanks : byte; MemoryModel : byte; BankSize : byte; NumberOfImagePages : byte; Reserved : byte; DC : array[1..9] of byte; Other : array[1..216] of byte; end;
Описание полей информационной структуры.
ModeAttributes : аттрибуты видеорежима. WinAAttributes и WinBAttributes : аттрибуты, описывающие схему доступа к кадровому буферу, а так же расположение в нем окон. WinASegment и WinBSegment : сегменты адресного пространства процессора, в которых расположены окна. WinGranularity : наименьший размер окон в килобайтах, которые могут быть расположены в памяти кадрового буфера. WinSize : размер окна в килобайтах. WinFuncPtr : указатель на оконную функцию. XResolution и YResolution : для графического режима определяет ширину и высоту кадрового буфера в пикселях, для текстового – в символах. XCharSize и YCharSize : размер символа в пикселях. NumberOfPlanes : количество страниц, доступных в данном видеорежиме для программ (для стандартного 16 цветного VGA режима равно 4). BitsPerPixel : количество битов на пиксел. MemoryModel : определяет основной тип организации памяти в данном видеорежиме 00h = текстовый режим 01h = CGA 02h = Hercules 03h = постраничный 04h = упакованное хранение пиксела 05h = 4 и 256 цветный 06h = Direct Color 07h = YUV 08h-0Fh = зарезервировано 10h-FFh = определено производителем видеоадаптера NumberOfBanks : количество банков , в которые сгруппированы сканлинии (для режимов 0Dh-13h равно 1). BankSize : размер банка в килобайтах. NumberOfImagePages : значение, на единицу большее, чем количество изображений, которые могут поместится в кадровый буфер. Dc : набор атрибутов, определяющих цветовую модель.
8. Прерывание 12 – определить размер памяти в АХ –объём памяти в КБайтах.
9. Прерывание 13 – работа с дисками и дискетами, зависит от AH. 10. Прерывание 14 – работа с COM портом, зависит от АН: АН = 0 – инициализация порта, в AL – требуемый параметр, в DX – номер используемого канала. возврат из прерывания: АН – статус управления, AL – статус модемов. АН = 1 – передать символ: AL – символ, DX – номер канала, возврат такой же как и в предыдущем. AH = 2 – прочитать символ, DX – номер канала. Возврат: АН –статус управления AL – символ.
11. Прерывание 16 – работа с клавиатурой. От АН: 0 – считать символ. Возврат: AL – код символа, АН – код сканирования. 1 – тест на наличие символа. Возврат: флаг равенства 0, ZF = 1. AL, AH – аналогично предыдущему случаю. 2 – прочитать статус клавиатуры поразрядно. Если в 1 установлен 0-й разряд, то нажат правый Shift. 1-й разряд – левый Shift. 2-й – Ctrl 3-й – Alt 4-й – Scroll Lock 5-й – Num Lock 6-й – Insert
3 – установки для клавиатуры, время задержки, количество повторов и т. д. 4 – установить щелчок при нажатии на клавишу 5 – записать символ в буфер: CL – код символа, СН – код сканирования. Возврат из прерывания: AL = 0 – символ записан успешно, если 1 – ошибка. Прерывание 17h – работа с принтером Функция 00h – вывод на принтер
Функция 01h – инициализировать принтер
Функция 02h – считать статус принтера Возврат: аналогично предыдущему Прерывание 18h – работа с принтером (вызов подзадачи) Прерывание 19h – начальная загрузка (перезагрузить компьютер) |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 173; Нарушение авторского права страницы