- •Постановка задачи.
- •Теоретический раздел. Основные понятия.
- •Некоторые возможности Макроязыка
- •Структуры данных Макропроцессора
- •Основные алгоритмы программы.
- •Руководство пользователя.
- •Описание макроязыка.
- •Описание разработанных модулей.
- •Описание разработанных тестов.
- •Список использованной литературы.
- •Листинг программы. Модуль mp.
- •Модуль Assembler.
- •Модуль Main.
- •Модуль MacroGen.
- •Модуль Expr.
- •Модуль Strings.
Руководство пользователя.
Разработанная программа работает в двух режимах: консольном и визуальном. Если строка параметров пуста программа запускается в визуальном режиме. Для запуска макропроцессора в консольном режиме необходимо наличие хотя бы одного параметра запуска.
Работа в консольном режиме.
Запуск макропроцессора:
Project1 [ /if <имя файла> ] [ /mof <имя файла>] [ /aof <имя файла> ] [ /? ]
Параметры:
/if <имя файла> - задает имя входного файла, по умолчанию input.txt;
/mof <имя файла> - задает имя выходного файла макроассемблера, по умаолчанию macroOutput.txt;
/aof <имя файла> - задает имя выходного файла ассемблера, по умолчанию asmOutput.txt;
/? - вывод справочной информации.
После выполнения программы, помимо выходных файлов, будут сформированы следующие файлы:
«errors.txt»: будет содержать список ошибок выявленных макропроцессором;
«TIM.txt»: полученная таблица имен макросов;
«TMO.txt»: полученная таблица макроопределений.
Работа в визуальном режиме.
Интерфейс программы в визуальном режиме организован следующим образом:
Блок под номером 1 служит для вывода содержимого входного файла.
В блоке под номером 2 отображается таблица макроопределений.
Блок под номером 3 служит для вывода результата обработки входного файла макропроцессором.
Блок под номером 4 служит для отображения макрометок внутри обрабатываемого на данный момент макроса (только в пошаговом режиме).
При пошаговой работе процедуры макровызова в 5-ом блоке отображается текущее состояние таблицы локальных переменных.
В блоке под номером 6 выводится таблица имен макросов.
Блок под номером 7 является интерфейсом управления макроассемблером и основным ассемблером.
В блоке под номером 8 отображаются ошибки, обнаруженные в ходе работы макроассемблера и основного ассемблера.
В блоке под номером 9 отображаются коды операций ассемблера.
В блоке под номером 10 отображается таблица символических имен, обнарежнных ассемблером.
В блоке под номером 11 отображена промежуточная таблица ассемблирования.
В блоке под номером 12 отображается результирующий объектный файл, полученный после ассемблирования.
Работа программы в визуальном режиме организована следующим образом. При запуске программы, входным файлом по умолчанию является файл «input.txt». Для загрузки другого входного файла необходимо нажать на кнопку «Загрузить» и выбрать новый входной файл.
Для пошаговой работы макропроцессора, необходимо отметить пункт «пошаговый режим».
Для запуска макропроцессора необходимо нажать кнопку «Первый м/п». Если был установлен пошаговый режим работы, то за один шаг будет обработана только одна строка входного файла. Для обработки следующей строки необходимо нажать кнопку «Шаг».
После завершения первого прохода и при отсутствии ошибок, становится доступным второй проход, для запуска которого необходимо нажать кнопку «Второй проход м/п». Второй проход работает аналогично первому.
При каждом запуске макропроцессора выходной файл сохраняется в файле «macroOutput.txt». Кроме того, в файлам “TIM.txt” и “TMO.txt” сохраняются таблица имен макросов и таблица макроопределений соответственно.
Если 2-й проход макропроцессора был завершен без ошибок, то становится доступным 1-й проход ассемблера. Для его выполнения необходимо нажать на кнопку «Первый проход ассемблера».
После завершения 1-го прохода ассемблирования и в случае отсутствия ошибок становится доступных 2-й проход ассемблера. Для его выполнения требуется нажать на кнопку «Второй проход ассемблера»
Если ассемблирование было завершено без ошибок, то будет сгенерирован объектный модуль, который сохраняется в файл (по умолчанию в asmOutput.txt).
