Вариант 3 Программа на ассемблере
Разработать приложение, позволяющее описать программу на языке некоторого ассемблера. Информация о формате оператора языка ассемблера хранится в описателе оператора. В записи операторов языка могут использоваться регистры и идентификаторы. Регистр - число в диапазоне 0..15; идентификатор – последовательность латинских букв длиной не более 8 символов.
Описатель регистрового оператора содержит следующую информацию: поле метки (может отсутствовать) и код операции; номера регистров.
Описатель оператора регистр-память содержит следующую информацию: поле метки (может отсутствовать) и код операции; номер регистра и идентификатор области памяти.
Описатель оператора перехода содержит следующую информацию: код операции и идентификатор метки перехода.
Описатель оператора объявления данных содержит следующую информацию: поле метки – идентификатор данных (обязательное поле), код операции объявления данных и непосредственный операнд (например, число).
Совокупность операторов образует программу на ассемблере, которая представлена таблицей. Каждый элемент таблицы содержит адрес оператора и указатель на его описатель. Элементы таблицы упорядочены по возрастанию значений адреса.
Обеспечить выполнение следующих операций.
-
Для таблицы:
-
включить новый элемент, не нарушая упорядоченности адресов;
-
найти элемент по заданному адресу;
-
удалить элемент, заданный адресом;
-
показать всю программу.
-
-
Для любого оператора:
-
вывести информацию об операторе;
-
вернуть в качестве результата тип оператора; вернуть значение метки оператора.
-
-
Для регистрового оператора:
-
вернуть значение указанного (первого или второго) регистра;
-
изменить значение указанного регистра.
-
-
Для оператора регистр-память:
-
вернуть значение регистра; изменить значение регистра;
-
вернуть значение идентификатора; изменить значение идентификатора.
-
-
Для оператора объявления данных и оператора перехода:
-
вернуть значение идентификатора; изменить значение идентификатора.
-
-
Для приложения:
-
редактирование программы - внесение, исключение и модификация операторов;
-
(*) проверить корректность использования идентификаторов в программе, используя класс-итератор.
-
- Вариант 1 Линия метро
- Порядок выполнения работы
- Вариант 2 Гостиница
- Порядок выполнения работы
- Вариант 3 Программа на ассемблере
- Порядок выполнения работы
- Вариант 4 Студенты института
- Порядок выполнения работы
- Вариант 5 Книжный каталог
- Порядок выполнения работы
- Вариант 6 Таблица идентификаторов
- Порядок выполнения работы
- Вариант 7 Учебные группы
- Порядок выполнения работы
- Вариант 8 Информационные агентства
- Порядок выполнения работы
- Вариант 9 Учебный план
- Порядок выполнения работы
- Вариант 10 Спортивная команда
- Порядок выполнения работы
- Вариант 11 Файловая система
- Порядок выполнения работы
- Вариант 12 Телефонный сервис
- Порядок выполнения работы
- Вариант 13 Торговый склад
- Порядок выполнения работы
- Вариант 14 Жилищный фонд
- Порядок выполнения работы
- Вариант 15 Туристическое бюро
- Порядок выполнения работы
- Вариант 16 Банковские операции
- Порядок выполнения работы
- Вариант 17 Отдел кадров
- Порядок выполнения работы
- Вариант 18 Жилищная контора
- Порядок выполнения работы
- Вариант 19 Налоговая служба
- Порядок выполнения работы
- Вариант 20 Сетевой сервер
- Порядок выполнения работы
- Вариант 21 Семестровый контроль
- Порядок выполнения работы
- Вариант 22 Сетевой сервис
- Порядок выполнения работы