- •1.Общие сведения о пэвм.
- •3.Принципы взаимодействия основных частей пэвм.
- •4. Общие сведения об операционных системах, применяемых на пэвм.
- •5.Базовая система ввода/вывода (bios). Подсистема post.
- •Вопрос 9.Файловая система fat
- •10) Ntfs
- •11)Резидентные системные программы и утилиты. Командные файлы, файлы конфигурации системы
- •Файл autoexec.Nt
- •Файлы winstart.Bat и dosstart.Bat
- •Файл config.Nt
- •12. Прерывания дисковой системы пэвм.
- •14. Назначение, структурная схема и программирование контроллеров нdd.
- •15. Назначение и состав системы ввода-вывода.
- •19. Организация обмена данными через параллельные порты.
- •20. Характеристики микропроцессоров intel и amd
- •21. Математические сопроцессоры.
- •1. Регистры ммх
- •2. Типы данных ммх
- •3. Команды пересылки данных ммх
- •4. Команды преобразования типов ммх
- •5. Арифметические операции ммх
- •6. Команды сравнения ммх
- •7. Логические операции ммх
- •8. Сдвиговые операции ммх
- •9. Команды управления состоянием ммх
- •10. Расширение amd 3d
- •25. Модель микропроцессора для программиста.
- •Реальный режим общие сведения
- •26. Спецификация регистров микропроцессора. Режимы работы. Типы данных.
- •Реальный режим общие сведения
- •Работа с адресами
- •Обработка прерываний
- •27. Системные регистры.
- •Регистры управления памятью
- •Регистры управления процессором
- •Отладочные регистры
- •Машинно-специфичные регистры
- •31. Системные ресурсы пэвм
- •32. Дескрипторы
- •33. Сегмент состояния задачи
- •35. Прерывания пэвм
- •Исключения в защищённом режиме
- •Обработка аппаратных прерываний
- •39. Контроллер прерываний. Исключения.
- •42 Полупроводниковые пзу, рпзу.
- •43 Сегментация. Физические и логические адреса.
- •Общие сведения
- •Работа с адресами
- •Обработка прерываний
- •Вход в защищённый режим(286)
- •2.1. Подготовка к переключению в защищённый режим
- •2.2. Переключение в защищённый режим
- •2.3. Возврат в реальный режим
- •47 Режим виртуального процессора i8086
- •48 Преобразование адресов
- •Программирование микросхемы таймера 8253/8254.
- •50.Каналы и управление таймеров. Микросхемы таймера 8253/8254
- •Средства ms-dos для работы с таймером
- •51.Режимы работы таймеров. Микросхемы таймера 8253/8254
- •52.Назначение, структурная схема контроллера пдп(dma).
- •53 Программирование контроллера пдп(dma).
- •54 Организация ввода данных с клавиатуры.
- •56. Прерывания и порты клавиатуры.
- •58. Прерывания видеосистемы.
- •59.Организация вывода информации на экран дисплея через память видеоадаптера.
- •60. О рганизация вывода информации на экран дисплея через прерывания. Прерывания dos
- •Прерывания bios
- •Int 10h
- •Int 1Dh
- •Int 1Fh
58. Прерывания видеосистемы.
Работа с видеоадаптером может осуществляться тремя способами:
• На уровне MS-DOS с использованием функций прерывания 21h;
• На уровне BIOS с использованием функций прерывания 10h;
• Непосредственным доступом в видеопамять.
Самым скоростным способом вывода информации на экран считается непосредственный доступ к портам и видеопамяти. Этот способ самый быстрый, но он и требует больше труда программиста.
Использование функций BIOS предпочтительней, так как это безопасней и надежнее. Таким образом, если были заданы некорректные значения параметров, функции BIOS не выполнят никаких действий. Драйверы MS-DOS сами используют функции BIOS для вывода информации на экран.
Использование функций 10-го прерывания BOIS.
Рассмотрим описание некоторых функций 10 прерывания BIOS, которая предназначена для работы с видеоадаптером.
• 00h - Выбор режима работы
• 01h - Изменение формы курсора
• 02h - Изменение положения курсора
• 03h - Определение положения и формы курсора
• 05h - Изменение активной страницы видеопамяти
•06h - Свертка текстового окна вверх
• 07h - Свертка текстового окна вниз
• 08h - Чтение символа и его атрибутов
• 09h - Запись символа с атрибутами в текущей позиции курсора
• 0Ah - Запись символа в текущей позиции курсора
• 0Ch - Вывод пиксела
• 0Dh - Чтение пиксела
• 0Eh - Определение текущего режима работы видеоадаптера
Функция 00h (Выбор режима работы)
Функция 00h прерывания 10h устанавливает заданный режим Х работы видеоадаптера:
На входе:
• AH = 00h;
• AL = номер устанавливаемого режима работы видеоадаптера, если бит D7 = 1, то при установке режима видеопамять не очищается;
На выходе: Не используются.
Пример:
_AH = 0x00;
_AL = Х;
geninterrupt(0x10);
Функция 02h (Изменение положения курсора)
Функция 02h задает текущее положение курсора на экране дисплея.
Если видеопамять разделена на несколько страниц, то каждая из них имеет свой курсор, координаты которого можно устанавливать отдельно.
Координаты курсора определяют не только место на экране, где он отображается, но также и позицию, начиная с которой соответствующие функции BIOS будут выводить на экран строки или отдельные символы.
На входе:
o AH = 03h - определение размеров и координат курсора;
o BH = номер страницы видеопамяти.
На выходе:
o CH = верхняя граница курсора;
o CL = нижняя граница курсора;
o DH = позиция текущей строки курсора;
o DL = позиция текущего столбца курсора.
Функция 05h (Изменение активной страницы видеопамяти)
Функция 05h позволяет изменить активную страницу видеопамяти. Активная страница видеопамяти отображается на экране.
На входе:
o AH = 05h - выбор активной страницы видеопамяти;
o AL = номер страницы видеопамяти, которая станет активной.
На выходе: Не используются.
Функция 06h (Свертка текстового окна вверх)
Свернуть активное окно экрана вверх (при работе в текстовом режиме) можно при помощи функции 06h. Окно задается координатами верхнего левого и нижнего правого углов. При свертке окна снизу появляются новые пустые строки (строки, заполненные пробелами), а верхние строки исчезают. Область экрана вне окна не изменяется.
На входе:
o AH = 06h - свертка окна вверх;
o AL = число прокручиваемых линий, если оно равно нулю, то окно прокручивается целиком;
o BH = атрибут, используемый для строк, возникающих снизу окна;
o CH = номер строки верхнего левого угла окна;
o CL = номер колонки верхнего левого угла окна;
o DH = номер строки нижнего правого угла окна;
o DL = номер колонки нижнего правого угла окна;
На выходе: Не используются.
Функция 08h (Чтение символа и его атрибутов)
Данная функция позволяет прочитать символ и его атрибуты из позиции экрана, определенной текущим положением курсора. После выполнения функции ASCII-код считанного символа присваивается переменной х. Чтение можно производить как из активной, так и из неактивных страниц памяти:
На входе:
o AH = 08h - чтение символа и его атрибутов;
o BH = номер страницы видеопамяти.
На выходе:
o AL = ASCII-код символа;
o AH = байт атрибутов символа.
Функция 09h (Запись символа с атрибутами в текущей позиции курсора)
Функция позволяет записать один или несколько одинаковых символов с атрибутами в текущей позиции курсора. При этом запись может происходить как в активную, так и в неактивные страницы видеопамяти. После выполнения операции записи положение курсора не изменяется. Управляющие символы, такие как возврат каретки и перевод строки, не действуют и записываются, как обычные символы. Данная функция работает как в текстовых, так и в графических режимах.
На входе:
o AH = 09h - запись символа с атрибутом;
o AL = ASCII-код записываемого символа;
o BH = номер страницы видеопамяти;
o BL = атрибут (для текстового режима) или цвет (для графического режима);
o CX = число записываемых символов.
На выходе: Не используются.
Вывод пиксела - функция 0Ch
Функция используется в графических режимах для записи пиксела заданного цвета в любую страницу видеопамяти. У видеоадаптера CGA в графических режимах определена только одна страница видеопамяти. Значения цветов, которые можно использовать в различных режимах вспоминаем.
Формат вызова функции 0Ch:
На входе:
o AH = 0Ch - запись пиксела;
o AL = номер цвета;
o BH = номер страницы видеопамяти (для CGA не используется);
o CX = координата X;
o DX = координата Y;
На выходе: Не используются.
Если бит 7 регистра AL содержит единицу, то новый пиксел накладывается на текущее содержимое экрана по логике булевой операции XOR. Если он содержит 0, то переданное значение кода цвета переопределяет текущий код цвета пиксела на экране.
Начало системы координат находится в левом верхнем углу экрана, а оси координат направлены следующим образом: ось X - вправо, ось Y - вниз.