- •Содержание
- •Лабораторная работа № 1 Работа в операционной системе Linux
- •А. Работа с файлами в Linux
- •Часть 1. Знакомство с каталогами Linux
- •Часть 2. Изучение типов файлов в Linux
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 3. Поиск системных журналов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 4. Архивирование и деархивирование файлов и каталогов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 5. Создание новых текстовых файлов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 6. Разрезание и склеивание файлов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 7. Быстрый анализ текстов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 8. Поиск строк по регулярным выражениям
- •Теоретические сведения
- •Порядок выполнения работы
- •Б. Сбор сведений о системе и управление процессами Цель лабораторной работы
- •Часть 1. Сбор сведений о системе
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 2. Управление процессами с помощью сигналов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 3. Выполнение задач в фоновом режиме
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 4. Запуск демонов
- •Теоретические сведения
- •Порядок выполнения работы
- •Часть 5. Изменение приоритетов выполняющихся программ
- •Теоретические сведения
- •Порядок выполнения работы
- •В. Управление доступом Цель лабораторной работы
- •Теоретические сведения
- •Часть 1. Вход в систему и завершение сеанса Порядок выполнения работы
- •Часть 2. Изучение базовых прав доступа Порядок выполнения работы
- •Г. Управление пользователями Цель лабораторной работы
- •Теоретические сведения
- •Часть 1. Переход в режим суперпользователя Порядок выполнения работы
- •Часть 2. Изучение базы данных пользователей Порядок выполнения работы
- •Часть 3. Добавление и удаление пользователей Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 Способы адресации Цель лабораторной работы
- •Теоретические сведения
- •Оборудование
- •Порядок выполнения работы
- •Лабораторная работа № 3 Обработка прерываний
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 Распределение памяти
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 Препроцессоры
- •А. Использование библиотеки макроопределений
- •Б. Создание препроцессора Цель лабораторной работы
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа № 6 Организация дочерних процессов
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 7 Файловая система
- •А. Создание и чтение файла средствами функций ms-dos
- •Б. Прямой доступ к файлу и добавление данных к файлу Цель лабораторной работы
- •Теоретические сведения
- •Порядок выполнения работы
- •В. Переименование и пересылка файлов Цель лабораторной работы
- •Теоретические сведения
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Cписок использованных источников
Содержание отчета
Отчет должен включать:
1. Название лабораторной работы.
2. Цель ее выполнения.
3. Варианты заданий.
4. Тексты листинга трансляции (полностью) обоих файлов.
5. Действительные адреса кодовых сегментов для подпрограмм.
Контрольные вопросы
1. Какая директива в программе указывает ассемблеру, что имя подпрограммы определено вне ее собственного кода?
2. Какая директива в подпрограмме необходима для того, чтобы имя точки входа было доступно в основной программе?
3. Каким образом программа указывает, что переменные должны быть доступны извне основной программы?
4. Каким образом подпрограмма указывает ассемблеру, что переменные определены в другом модуле?
5. Как создать выполняемый модуль, если программа вызывает внешнюю подпрограмму?
Лабораторная работа № 5 Препроцессоры
Оборудование
.IBM совместимые ЭВМ, операционная система Windows, Linux, программа DOSBox, оболочка Volcov Commander, программы Tasm, TLink, Debug, программа на языке Ассемблера.
А. Использование библиотеки макроопределений
Цель лабораторной работы
Целью работы является приобретение навыков составления и использования библиотек макроопределений при программировании на языке Ассемблера.
Теоретические сведения
Изучить описание и синтаксис оформления макроопределений, объединение их в библиотеку, способы подключения библиотек [4, 5].
Порядок выполнения работы
1. Внимательно ознакомиться с теоретическими положениями лабораторной работы, ответить на контрольные вопросы.
2. Определить, какие операторы необходимо объединить в макроопределения (в соответствии с заданием к лабораторной работе № 4).
3. Написать тексты макроопределений.
4. Написать и отладить программу с использованием написанных макроопределений (без библиотеки).
5. Оформить макроопределения в библиотеку.
6. Написать и отладить программу с использованием библиотеки.
Б. Создание препроцессора Цель лабораторной работы
Цель и задачи работы - научиться самостоятельно обрабатывать макроопределения
Теоретические сведения
Макроопределения и макрокоманды нашли применение не только в языках ассемблера, но и во многих языках высокого уровня и интегрированных пакетах (автозамена). Там их обрабатывает специальный модуль, называемый препроцессором. Так, например, хорошо известен препроцессор языка С. Принцип обработки остается тем же самым, что и для программ на языке ассемблера – препроцессор выполняет текстовые подстановки непосредственно над строками самой исходной программы.
Порядок выполнения работы
1. Создать библиотеку макроопределений, выполняющих следующие действия:
- ввод строки текста;
- выполнение арифметических действий: сложение, вычитание, умножение, деление;
- перевод введенных символов в число;
- перевод полученного числового значения в символы;
- вывод результата.
2. Написать программу на Ассемблере, близкую по синтаксису к языку высокого уровня, для вычисления в соответствии с вариантом. Например, сложение трех чисел можно организовать следующей последовательностью строк:
read a
read b
sum a, b
read b
sum a, b
write a
(при условии, что результат будет храниться в переменной a). Следовательно, в библиотеке должны присутствовать макроопределения read, sum и write, выполняющие соответствующие действия. Не забудьте, что вводить с клавиатуры можно только символы, после чего их необходимо преобразовать в числа с помощью таблицы ASCII кодов. Обратное действие нужно проделать при выводе.
ВНИМАНИЕ! Вводить однозначные числа.
3. Написать программу, анализирующую введенную строку и преобразующую ее в вычисления. Если строка начинается с символа «=», то это арифметическое выражение, которое необходимо разобрать на составные части и решить. В противном случае – это комментарий, который должен восприниматься как обыкновенное сообщение. При необходимости дописать библиотеку макроопределений. Например, при вводе строки
Привет!
Должно быть выведено сообщение: «Это не арифметическое выражение». А при вводе
=x+y*z1
программа должна запросить ввод трех чисел, выполнить действия в соответствии с правилами математики и выдать результат на экран.
ВНИМАНИЕ! Вводить однозначные числа.
4. Проверить правильность работы программы на контрольном примере.
5. Оформить отчет.
Содержание отчета
Отчет должен содержать
1. Название лабораторной работы
2. Цель ее выполнения,
3. Тексты макроопределений (для разделов А и Б соответственно).
4. Тексты программ (для разделов А и Б соответственно).
5. Листинги трансляций (для разделов А и Б соответственно).
6. Результаты работы.
Контрольные вопросы
1. Что такое макрокоманда, макрогенерация, макрорасширение, макроподстановка, макроопределение?
2. Из каких частей состоит макроопределение?
3. Каковы преимущества и недостатки использования макроопределений?
4. Какие псевдооператоры Макроассемблера вы знаете?
5. Как создать библиотеку макроопределений?
6. Как использовать библиотеку макроопределений?
