- •Методические указания
- •«Моделирование программы гипотетической машины с помощью макросредств»
- •1.Введение.
- •2.Пример выполнения курсовой работы.
- •2.1.Задание.
- •2.2.Анализ задачи и разработка алгоритма.
- •2.3.Разработка программы для гм.
- •2.3.1. Определение данных.
- •2.3.2.Определие команд гм.
- •2.4.Моделирование программы гм на реальной эвм.
- •2.4.1.Выборка и запиь слов гм.
- •2.4.2. Макроопрделения для команд гм.
- •2.5.Технология подготовки программы к выполнению и ее отладка.
- •2.6. Результаты работы программы
- •3. Варианты курсовой работы
- •4.Приложения
- •2. Блоки повторения
- •2.1. Rept-блоки
- •Irpc-блоки
- •2.4 Макрооператоры
- •3. Макросы
- •113.1. Макроопределения
- •3.1. Макрокоманды
- •3. 3. Макроподстановки и макрорасширения
- •3. 5. Макросы и процедуры
- •3. 6. Определение макроса через макрос
- •3.7. Директива local
- •113.8. Директива ехiтм
- •3. 9. Переопределение и отмена макросов
- •4. Условное ассемблирование
- •4. 1. Директивы if и ife
- •4.2. Операторы отношения. Логические операторы
- •4.3. Директивы ifidn ,ifdif , ifb и ifnb
Министерство народного образования Российской Федерации
ИжГТУ
Кафедра вычислительной техники
Методические указания
для выполнения курсовой работы
«Моделирование программы гипотетической машины с помощью макросредств»
по курсу «Технология программирования»
Разработал к.т.н., доцент кафедры ВТ Гафаров Р.М.
Ижевск 2010
1.Введение.
Курсовая работа «Моделирование программы гипотетической машины с помощью макросредств» выполняется студентами специальности 2201 для закрепления знаний и навыков программирования на языках символического кодирования (ассемблерах), полученных на лекционных занятиях и лабораторных работах. Умение программировать на ассемблере имеет не только самостоятельное значение, но и является актуальным для специальности 2201 как основа для понимания структуры и методов функционирования ЭВМ. Исходные данные для курсовой работы задаются в виде параметров некоторой гипотетической (абстрактной) машины (ГМ):
Формат слова fw;
Число регистров общего назначения nR;
Форматы команд ГМ fk;
Количество операндов в команде nOP;
Команды ГМ для обязательной реализации 3-5 команд;
Задача для программирования средствами ГМ.
Команды ГМ для обязательной реализации должны быть дополнены некоторым числом других команд, число и вид которых диктуется задачей и структурой данных, используемых для ее решения.
Выполнение курсовой работы состоит из нескольких этапов:
Анализ задачи и разработка алгоритма. В зависимости от сложности задачи и уровня подготовки студента этот этап может ограничиться абстрактным анализом методов решения задачи и выбором наиболее рационального алгоритма или потребуется моделирование и отладка алгоритма в виде программы-прототипа на языке высокого уровня. Второй подход более практичен, т.к. позволяет повысить надежность программы ГМ и упростить дальнейшие этапы проектирования, что сокращает общую трудоемкость составления и отладки программы.
Составление программы для ГМ – наиболее ответственный этап проектирования. Во-первых, следует выяснить минимальный набор операций, необходимых для реализации разработанного алгоритма. Во-вторых, реализовать эти операции в виде команд ГМ, учитывая параметры указанные в задании (варианте курсовой работы). Требуется разработать структуры данных и директивы для их описания и форматы конкретных команд.
Реализация программы на реальной ЭВМ (РМ). Каждая команда программы для ГМ рассматривается в виде макрокоманды и задача данного этапа состоит в написании для каждой из них соответствующего макроопределения. В макроопределениях макросредствами ассемблера IBM PC реализуются алгоритмы команд ГМ на реальной машине. Основные трудности связаны с согласованием форматов слов двух ЭВМ, в частности с записью в память и выборкой слов ГМ из памяти. Кроме того, должны быть решены вопросы ввода исходных данных (случайные данные, входной файл с данными, ввод с клавиатуры) и вывода результатов. Материалы по макросредствам ассемблера IBM PC приведены в приложении к методическим указаниям.
Далее рассматривается пример разработки и моделирования программы для ГМ одного из вариантов курсовой работы.