- •Применение системных функций в задачах программирования
- •Содержание
- •Использование программы 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
Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра автоматизированных систем управления
Применение системных функций в задачах программирования
Лабораторный практикум
по дисциплине «Системное программное обеспечение»
Уфа 2008
Составитель: О.Д. Лянцев
УДК 004.45(07)
ББК 32.973-018.2(я7)
Применение системных функций в задачах программирования. Лабораторный практикум по дисциплине «Системное программное обеспечение» / Уфимск. гос. авиац. техн. ун-т.
Сост.: О.Д. Лянцев. – Уфа, 2008. – 57 с.
Приведены сведения о принципах взаимодействия аппаратных и программных средств персонального компьютера IBM PC и способах выполнения основных системных функций. Рассматриваются процедуры низкоуровневого программирования на базе основных экранных и клавиатурных функций. Рассматриваются возможности системной программы DEBUG для выполнения и отладки программ. Изучается система программирования TASM для трансляции и компоновки программ на языке ASSEMBLER. Практическое применение иллюстрируется различными примерами и упражнениями.
Методические указания предназначены для подготовки дипломированных специалистов направления 230100 «Информатика и вычислительная техника», специальности 230102 – «Автоматизированные системы обработки информации и управления».
Библиогр.: 5 назв.
Рецензенты: В.П. Житников, Н.М. Дубинин
© УГАТУ
Содержание
Лабораторная работа №1
ИСПОЛЬЗОВАНИЕ ПРОГРАММЫ DOS DEBUG ДЛЯ ОТЛАДКИ И ТЕСТИРОВАНИЯ ПРОГРАММ. 5
УПРАВЛЕНИЕ ВЫВОДОМ ТЕКСТОВОЙ ИНФОРМАЦИИ НА ЭКРАН 25
СИСТЕМНЫЕ СРЕДСТВА ДЛЯ ВЫВОДА ИНФОРМАЦИИ НА ЭКРАН В ГРАФИЧЕСКОМ РЕЖИМЕ 34
ПРОГРАММИРОВАНИЕ СИСТЕМНЫХ ФУНКЦИЙ BIOS И DOS ДЛЯ РАБОТЫ С КЛАВИАТУРОЙ 39
Список литературы 45
Программа DEBUG 46
Трансляция и компоновка программ 56
ЛАБОРАТОРНАЯ РАБОТА № 1
Использование программы dos debug для отладки и тестирования программ.
1. Цель работы
Целью настоящей работы является изучение возможностей системной программы – отладчика DEBUG по программированию компьютера IBM в машинных кодах.
2. Теоретическая часть
Программа DEBUG используется для тестирования и отладки исполняемых программ. Программа DEBUG показывает код и данные программы в шестнадцатеричном формате, и любые данные, которые вводятся в память, также должны быть в этом формате. DEBUG также реализует пошаговый режим исполнения, позволяющий выполнять инструкции программы по отдельности одну за другой и наблюдать результат выполнения каждой инструкции в памяти и регистрах.
2.1. Команды debug
В лабораторной работе используются следующие команды программы DEBUG:
А преобразовать инструкции символьного кода в машинный код;
D показать содержимое области памяти в шестнадцатеричном формате;
Е ввести данные в память, начиная с определенного адреса;
G начать выполнение программы в памяти;
Н выполнить шестнадцатеричные арифметические операции;
N назвать программу;
Р продолжить или выполнить группу связанных инструкций;
Q завершить сеанс работы с DEBUG;
R показать содержимое одного или более регистров в шестнадцатеричном формате;
Т отследить выполнение одной инструкции;
U преобразовать (дизассемблировать) машинный код в символьный.