Работа 1 «Вывод строки текста
на экран»
Задание:
1.
Написать с
использованием 40h функции 21h прерывания программу вывода текстовой строки из
сегмента данных программы на экран;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 2 «Циклический вывод
строки текста на экран»
Задание:
1.
Модифицировать
программу, разработанную в работе 1 с использованием оператора loop так, чтобы она выводила 5 раз подряд текстовую строку
из сегмента данных программы на экран;
2.
Выводимые строки
должны быть расположены, начиная с левого края экрана каждая;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 3 «Циклический вывод
укорачивающейся строки текста на экран»
Задание:
1.
Модифицировать
программу, разработанную в работе 2 так, чтобы она выводила 5 раз подряд
текстовую строку из сегмента данных программы на экран;
2.
Каждая следующая
выведенная строка должна быть на 1 символ короче предыдущей;
3.
Выводимые строки
должны быть расположены, начиная с левого края экрана каждая;
4.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 4 «Перенаправление
вывода»
Задание:
1.
Запустить
программу, разработанную в работе 1 в режиме перенаправления вывода в файл 4.txt;
2.
Проанализировав
файл 4.txt, убедиться в правильности работы программы.
Работа 5 «Работа с отладчиком
td»
Задание:
1.
Запустить
программу, разработанную в работе 1 в режиме отладки под управлением отладчика td.exe;
2.
Используя
пошаговый режим, проанализируйте содержимое регистров при выполнении программы.
Убедиться в правильности работы программы.
Работа 1 «Прямой вывод в
текстовый видеобуфер»
Задание:
1.
Написать
программу вывода символа с атрибутами на усмотрение программиста в заданное
место экрана с помощью прямого обращения в текстовый вилеобуфер;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 1 «Вывод в файл»
Задание:
1.
Написать с использованием
функций 21h прерывания программу вывода текстовой
строки из сегмента данных программы в файл с именем 1.txt;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 2 «Ввод из файла»
Задание:
1.
Написать с использованием
функций 21h прерывания программу ввода
текстовой строки из файла с именем 1.txt и
выводящую эту строку на экран;
2.
Модифицировать
файл 1.txt, созданный при выполнении работы 1;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 1 «Ввод с эхо и
ожиданием»
Задание:
1.
Написать с использованием
функций 21h прерывания программу ввода
символа с клавиатуры с ожиданием ввода и эхо-повтором и вывода введенного
символа на экран;
2.
Программа должна:
a.
После запуска
ожидать ввода символа с клавиатуры;
b.
При вводе символа
отобразить его на экране в позиции курсора экрана;
c.
Вывести введенный
символ в позицию курсора экрана;
d.
Завершить свою
работу;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 2 «Ввод без эхо и
ожиданием»
Задание:
1.
Написать с использованием
функций 21h прерывания программу ввода
символа с клавиатуры с ожиданием ввода без эхо-повтора и вывода введенного
символа на экран;
2.
Программа должна:
2.1.
После запуска
ожидать ввода символа с клавиатуры;
a.
При вводе символа
не отобразить его на экране;
2.2.
Вывести введенный символ в позицию курсора экрана;
2.2.
Завершить свою
работу;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 3 «Ввод без эхо и без
ожидания»
Задание:
1.
Написать с использованием
функций 21h прерывания программу ввода
символа с клавиатуры без ожидания ввода и без эхо-повтора и вывода введенного
символа на экран;
2.
Программа должна:
2.1.
После запуска циклически
опрашивая буфер клавиатуры вводить символ, соответствующий нажатой
алфавитно-цифровой клавише и отображать его на экране;
2.2.
Завершить свою
работу при вводе некоторого выбранного программистом символа;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 4 «Ввод с эхо,
ожиданием и перенаправлением вывода»
Задание:
1.
Запустить
программу, разработанную в соответствии с заданием 1 в режиме перенаправления
вывода в файл 4.txt ;
2.
После завершения
работы программы, просмотрев файл 4.txt,
убедиться в правильности работы программы.
Работа 5 «Ввод без эхо и
ожидания с перенаправлением вывода и ввода»
Задание:
1.
Запустить
программу, разработанную в соответствии с заданием 3 в режиме перенаправления
вывода в файл 5.txt ;
2.
После завершения
работы программы, просмотрев файл 4.txt,
убедиться в правильности работы программы;
3.
Запустить
программу, разработанную в соответствии с заданием 3 в режиме перенаправления
ввода из файла 5.txt ;
4.
Убедиться в
правильности работы программы.
Работа 6 «Ввод с эхо,
ожиданием и анализом скен-кода»
Задание:
1.
Модифицировать
программу, разработанную в соответствии с заданием 1 так, чтобы она выполнялась
циклически и завершалась при вводе некоторого, определенного программистом
символа;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение в режиме
перенаправления вывода в файл 6.txt ;
3.
Нажав
предварительно клавишу F2, завершить
работу программы;
4.
Просмотрев файл
6.txt в текстовом редакторе, отображающим коды символов,
определить скен-код клавиши F2;
5.
Модифицировать
настоящую программу так, чтобы она завершалась при нажатии клавиши F2;
6.
Создать исполняемый файл этой программы, запустить
его на выполнение и убедиться в правильности работы программы.
Работа 1 «Изменение вида текстового
курсора экрана»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу, изменяющую вид текстового курсора экрана;
2.
Программа должна
изменить вид текстового курсора экрана и завершаться;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 2 «Восстановление вида
текстового курсора экрана»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу, восстанавливающую стандартный вид
текстовогокурсора экрана;
2.
Программа должна восстановить
стандартный вид текстового курсора
экрана и завершаться;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 3 «Изменение положения
текстового курсора экрана»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу, изменяющую положение текстовогокурсора
экрана;
2.
Программа должна
изменить положение текстового курсора экрана и вывести символ с заметными
атрибутами в позицию текстового курсора экрана;
3.
Программа должна
завершаться при нажатии любой клавиши на клавиатуре;
4.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 4 «Переключение
страницы экрана в текстовом режиме»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу, изменяющую номер страницы экрана в
текстовом режиме;
2.
Программа должна изменить
номер отображаемой страницы экрана и
вывести символ с заметными атрибутами в позицию текстового курсора;
3.
При нажатии любой
клавиши на клавиатуре программа должна сделать видимой страницу экрана,
используемую по умолчанию, и завершиться ;
4.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 5 «Прокрутка окна на
экране в текстовом режиме»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу, прокручивающую окно экрана в текстовом
режиме;
2.
Программа должна прокрутить
часть содержимого экрана – окно в текстовом режиме на несколько строк вверх;
3.
При нажатии любой
клавиши на клавиатуре программа должна завершиться;
4.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 1 «Отрезок прямой»
Задание:
1.
Написать с использованием
функций 10h прерывания BIOS программу,
выводящую на экране дисплея отрезок наклонной прямой лмнии;
2.
Программа должна
завершаться при нажатии любой клавиши на клавиатуре;
3.
Создать исполняемый
файл этой программы, запустить его на выполнение и убедиться в правильности
работы программы.
Работа 1 «Курсор мыши в
текстовом режиме»
Задание:
1.
Написать
программу, делающую курсор мыши видимым на экране дисплея при работе
видеосистемы в текстовом режиме;
2.
Программа должна
завершаться при нажатии любой клавиши на клавиатуре;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 2 «Левая клавиша мыши»
Задание:
1.
Написать
программу, завершающуюся либо при нажатии на левую клавишу мыши, либо – при
нажатии на любую клавишу на клавиатуре;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 3 «Координаты курсор
мыши в текстовом режиме»
Задание:
1.
Написать
программу, делающую курсор мыши видимым на экране дисплея при работе
видеосистемы в текстовом режиме;
2.
Программа должна
завершаться либо при перемещении курсора левее условной вертикальной линии на
экране, либо при нажатии любой клавиши на клавиатуре;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 4 «Координаты курсор
мыши в графическом режиме»
Задание:
1.
Написать
программу, делающую курсор мыши видимым на экране дисплея при работе
видеосистемы в графическом режиме;
2.
Программа должна
завершаться либо при перемещении курсора левее условной вертикальной линии на
экране, либо при нажатии любой клавиши на клавиатуре;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 5 «Вид курсора мыши в
графическом режиме»
Задание:
1.
Написать
программу, которая выполняет следующие действия:
1.1.
Переключает
видеосистему в графический режим;
1.2.
Делает курсор
мыши видимым на экране дисплея;
1.3.
Изображает на
экране отрезок прямой линии;
1.4.
Настраивает вид
курсора таким образом, чтобы он имел форму квадрата, был видимым вне
изображения отрезка, а при наведении на отрезок изменял вид перекрываемой части
отрезка;
2.
Программа должна
завершаться либо при перемещении курсора левее условной вертикальной линии на
экране, либо при нажатии любой клавиши на клавиатуре;
3.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 1 «Блокировка
системного таймера в сеансе DOS средствами
системного отладчика»
Задание:
1.
С помощью
системного отладчика прочитать маску контроллера прерываний;
2.
Вычислить
значение маски, обеспечивающей блокировку прерываний системного таймера (и
только его!), и записать полученное значение в качестве маски в контроллер
прерываний;
3.
Завершить работу
системного отладчика;
4.
Выполнив
несколько раз ситемную команду определения системного времени, убедиться в
блокировке системного таймера.
Работа 2 «Разблокировка
системного таймера в сеансе DOS средствами
системного отладчика»
Задание:
1.
С помощью
системного отладчика записать в контроллер прерываний маску, полученную в
работе 1, разрешающую реагирование на прерывания системного таймера;
2.
Завершить работу
системного отладчика;
3.
Выполнив
несколько раз ситемную команду определения системного времени, убедиться в разблокировке
системного таймера.
Работа 3 «Блокировка
системного таймера в сеансе DOS с помощью
программы»
Задание:
1.
Написать программу, блокирующую прерывания системного таймера (и только его!),
с помощью записи в контроллер маски, вычисленной в работе 1;
2.
Создать исполняемый файл этой программы и запустить его на выполнение;
3.Выполнив
несколько раз ситемную команду определения системного времени, убедиться в
блокировке системного таймера.
Работа 4 «Разблокировка
системного таймера в сеансе DOS DOS с помощью программы»
Задание:
1.
Написать программу, разблокирующую прерывания системного таймера с помощью
записи в контроллер маски, определенного в работе 1;
2.
Создать исполняемый файл этой программы и запустить его на выполнение;
3.Выполнив
несколько раз ситемную команду определения системного времени, убедиться в разблокировке
системного таймера.
Работа 5 «Перехват прерываний
системного таймера»
Задание:
1.
Написать
программу, перехватывающую прерывания системного таймера с помощью функции 25h DOS,
подменяя обработчик прерывания 1Ch BIOS ;
2.
Программа должна
работать так, чтобы на каждое 18-е прерывание системного таймера, т.е.
приблизительно 1 раз в секунду, на экран дисплея выводились последовательно
располагаемые символы:
3.
Вывод символов на
экран должен продолжаться до нажатия какой-либо клавиши на клавиатуре, после чего
программа должна восстановить работу системного обработчика прерываний 1Ch и завершить свою работу;
4.
Создать исполняемый
файл этой программы, запустить его на выполнение и убедиться в правильности
работы программы.
5.
После завершения
работы программы, выполнив несколько раз ситемную команду определения
системного времени, убедитесь в корректной работе системного таймера.
Работа 1 «Программирование с
использованием макросов и подпрограмм»
Задание:
4.
Модифицирровать
программу вывода текстовой строки на экран дисплея с помощью функции 40h 21h прерывания,
оформив блок вывода, как подпрограмму, а блок завершения работы программы – как
макрос ;
5.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программы.
Работа 1 «Запуск дочерней
программы»
Задание:
1.
Написать
программу, запускающую дочернюю программу.;
2.
В качестве
дочерней программы использовать программу, разработанную в работе 1 5-го занятия;
3.
Создать
исполняемый файл этой программы, запустить его на
Работа 2 «Запуск дочерней
программы Windows»
Задание:
1.
Модифицировать
программу, разработанную в работе 1, использовав в качестве дочерней программы,
программу «Блокнот» .;
2.
Создать
исполняемый файл этой программы, запустить его на выполнение и убедиться в
правильности работы программ
3.
выполнение и
убедиться в правильности работы программ