logo
cpp4_2008

Вариант 3 Программа на ассемблере

Разработать приложение, позволяющее описать программу на языке некоторого ассемблера. Информация о формате оператора языка ассемблера хранится в описателе оператора. В записи операторов языка могут использоваться регистры и идентификаторы. Регистр - число в диапазоне 0..15; идентификатор – последовательность латинских букв длиной не более 8 символов.

Описатель регистрового оператора содержит следующую информацию: поле метки (может отсутствовать) и код операции; номера регистров.

Описатель оператора регистр-память содержит следующую информацию: поле метки (может отсутствовать) и код операции; номер регистра и идентификатор области памяти.

Описатель оператора перехода содержит следующую информацию: код операции и идентификатор метки перехода.

Описатель оператора объявления данных содержит следующую информацию: поле метки – идентификатор данных (обязательное поле), код операции объявления данных и непосредственный операнд (например, число).

Совокупность операторов образует программу на ассемблере, которая представлена таблицей. Каждый элемент таблицы содержит адрес оператора и указатель на его описатель. Элементы таблицы упорядочены по возрастанию значений адреса.

Обеспечить выполнение следующих операций.