- •Применение системных функций в задачах программирования
- •Содержание
- •Использование программы dos debug для отладки и тестирования программ.
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Команды debug
- •2.2. Основные особенности программы debug.
- •2.2.1. Команда d (Display - показать) в программе debug
- •2.2.2. Упражнение 1: просмотр области данных bios
- •2.2.3. Проверка параллельных и последовательных портов
- •2.2.4. Проверка оборудования системы
- •2.2.5. Проверка состояния регистра клавиатуры (клавиша Shift)
- •2.2.6. Проверка состояния видеоустройства
- •2.2.7. Упражнение 2: Просмотр rom bios
- •2.2.8. Проверка даты производства bios
- •2.2.9. Упражнение 3: Использование непосредственных данных
- •2.2.10. Ввод инструкций программы
- •2.2.11. Выполнение инструкций программы
- •2.2.12. Просмотр содержимого памяти
- •2.2.13. Использование ранее определенных данных
- •2.2.14. Ввод инструкций и данных программы
- •2.2.15. Выполнение инструкций программы
- •2.2.16. Повторное выполнение инструкций
- •2.2.17. Сохранение программы в debug
- •2.2.18. Программа на языке Ассемблера
- •2.2.18.1. Команда a (Assemble)
- •2.2.18.2. Команда u
- •2.2.19.Использование инструкции int
- •2.2.20. Получение текущих значений даты и времени
- •2.2.21. Определение установленного оборудования
- •2.2.22. Использование int для вывода на дисплей
- •2.2.23. Использование int для ввода с клавиатуры
- •2.2.24. Использование оператора ptr
- •3. Порядок выполнения работы
- •4. Требования к отчету
- •5. Контрольные вопросы
- •Управление выводом текстовой информации на экран
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Текстовой (алфавитно-цифровой) режим
- •2.2. Вывод на экран средствами bios
- •2.2.1. Установка позиции курсора
- •2.2.2. Чтение текущей позиции курсора
- •2.2.3. Выбор активной страницы
- •2.3.4. Прокрутка экрана вверх
- •2.2.5. Прокрутка экрана вниз
- •2.2.6. Чтение символа и атрибута в текущей позиции курсора
- •2.2.7. Вывод символа и атрибута в текущую позицию курсора
- •2.2.8. Вывод символа в текущую позицию курсора
- •2.2.9. Вывод в режиме телетайпа
- •2.2.10. Выделение мерцанием и яркостью
- •2.2.11. Вывод символьной строки
- •2.2.12. Вывод символьной строки средствами dos
- •2.2.13. Вывод символов таблицы ascii
- •3. Порядок выполнения работы
- •4. Требования к отчету
- •5. Контрольные вопросы
- •Системные средства для вывода информации на экран в графическом режиме
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Режим средней разрешающей способности
- •2.2. Функции прерывания bios int 10h для графики
- •2.3. Вывод в цветном графическом режиме
- •3. Порядок выполнения работы
- •4 Требования к отчету
- •5. Контрольные вопросы
- •Программирование системных функций bios и dos для работы с клавиатурой
- •2.2.1.2. Справка о наличии символа
- •2.2.1.3 Определение текущего состояния клавиатуры
- •2.2.2 Системные функции dos для работы с клавиатурой
- •2.2.2.1 Ввод с клавиатуры с эхоотображением
- •2.2.2.2 Ввод символа без ожидания
- •2.2.2.3. Прямой ввод с клавиатуры без эхо
- •2.2.2.4. Проверка состояния клавиатуры
- •2.2.2.5. Получение строки символов
- •2.2.2.6. Очистка буфера клавиатуры и ввод символа
- •2.2.2.7. Установка позиции курсора
- •2.2.2.8. Очистка экрана
- •3. Порядок выполнения работы
- •4. Требования к отчету
- •5. Контрольные вопросы
- •Список литературы
- •Программа debug
- •I (Input)
- •Трансляция и компоновка программ
- •Применение системных функций в задачах программирования
- •450000, Уфа-центр, ул. К. Маркса, 12
2.1. Текстовой (алфавитно-цифровой) режим
Текстовой режим предназначен для обычных вычислений с выводом букв и цифр на экран. Этот режим одинаков для черно-белых и цветных мониторов, за исключением того, что цветные мониторы не поддерживают атрибут подчеркивания. Текстовой режим обеспечивает работу с полным набором ASCII кодов (256 символов) для всех мониторов. Каждый символ на экране может отображаться в одном из 16 цветов на одном из восьми цветов фона.
Бордюр экрана может иметь также один из 16 цветов.
Тремя основными цветами являются красный, зеленый и синий. Их можно комбинировать друг с другом для получения восьми цветов, включая черный и белый. Используя два уровня яркости для каждого цвета, получим всего 16 цветов:
I R G B I R G B
Черный 0 0 0 0 Серый 1 0 0 0
Синий 0 0 0 1 Ярко-синий 1 0 0 1
Зеленый 0 0 1 0 Ярко-зеленый 1 0 1 0
Голубой 0 0 1 1 Ярко-голубой 1 0 1 1
Красный 0 1 0 0 Ярко-красный 1 1 0 0
Сиреневый 0 1 0 1 Ярко-сиреневый 1 1 0 1
Коричневый 0 1 1 0 Желтый 1 1 1 0
Белый 0 1 1 1 Ярко-белый 1 1 1 1
Таким образом, любые символы могут быть отображены на экране в одном из 16 цветов. Фон любого символа может иметь один из первых восьми цветов. Если фон и текст имеют один и тот же цвет, то текст получается невидимым. Используя байт-атрибут, можно получить также мигающие символы. В приведенной ниже таблице атрибут BL означает мигание, RGB – соответственно красный, зеленый и синий цвета, I - выделение яркостью:
фон текст
Атрибут: BL R G B I R G B
Номера битов: 7 6 5 4 3 2 1 0
Мигание и выделение яркостью относятся к тексту. Ниже приведены некоторые типичные значения атрибутов:
Текст по фону Бит: 7 6 5 4 3 2 1 0
BL R G B I R G B Шест.
Черный по черному 0 0 0 0 0 0 0 0 00
Синий по черному 0 0 0 0 0 0 0 1 01
Красный по синему 0 0 0 1 0 1 0 0 14
Голубой по зеленому 0 0 1 0 0 0 1 1 23
Светло-сиреневый по белому 0 1 1 1 1 1 0 1 7D
Серый по зеленому, мигание 1 0 1 0 1 0 0 0 AB
Байт-атрибут используется аналогично показанному для чернобелого монитора. Тип монитора можно определить из программы с помощью команды INT 11h. Для черно-белого монитора код 07 устанавливает нормальный атрибут. Для цветных мониторов можно использовать любую из цветовых комбинаций. Цвет на экране, сохраняется до тех пор, пока другая команда не изменит его. Для установки цвета можно использовать в команде INT 10h функции АН = 06, АН = 07 и АН = 09. Например, для вывода пяти мигающих звездочек светло-зеленым цветом на сиреневом фоне возможна следующая программа:
MOV AH,09 ;Функция вывода на экран
MOV AL,'*' ;Выводимый символ
MOV ВН,00 ;Страница 0
MOV BL,0DAh ;Атрибут цвета
MOV СХ,05 ;Число повторений
INT 10h ;вызвать BIOS