Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка елементів навчальної системи програмування

Реферат Розробка елементів навчальної системи програмування





ED-змінні є лише представленням вже існуючого десяткового числа через покажчик, логічно використання ассемблерной псевдокоманди EQU, яка не виділяє пам'ять під змінну. Надалі, при компіляції з асемблера в байт-код, використовуватиметься підстановка відповідного значення псевдокоманди EQU для відповідної BASED-змінної.

. Оператори:

. 1. Оператор присвоювання кодується в 6ти-байтовую SS команду MVN, що має формат:


MVN D1 (L, B1), D2 (B2)


де:

· D1 і D2 - зсув щодо базової адреси, що міститься в регістрі загального призначення;

· B1, B2 - регістри РОН, що містять адресу даних;

· L - довжина операндів в байтах

Команда MVN спеціалізована під копіювання числа з однієї адреси пам'яті в інший. Ця SS-команда вимагає більше число тактів, ніж RX-команда, однак спрощує вихідний еквівалент програми і не вимагає додаткового втручання для правильного копіювання чисел.

. 2. Оператор ADDR кодується у дві 4ех-байтові RX команди: LA і ST, тому в Асемблері IBM 370 відсутня команда, яка б копіювала адреса змінної у відповідне місце пам'яті. Ці команди мають однаковий формат:


LA R1, D2 (X2, B2) R1, D2 (X2, B2)


де:

· R1- регістр РОН;

· D2 - зсув щодо базової адреси, що міститься в регістрі загального призначення;

· X2 -регістри РОН, використовуваний в якості індексу;

· B2 - регістр РОН, що містять адресу даних;

Команда LA завантажує адресу змінної, зазначеної в якості другого операнда в перший операнд - регістр. А команда ST заносить значення першого операнда - регістра в другій операнд - змінну. Таким чином спочатку зчитується адреса змінної з пам'яті в регістр, а потім це значення заноситься в змінну-покажчик.

. 3. Оператор присвоювання - =. Змінні, розташовані по праву сторону від оператора кодуються залежно від типу:

. 3.1. Для BASED-змінних кодування відбувається в два етапи: 1) Завантаження значення покажчика в регістр за допомогою вже наявної у вихідному макеті команди L; 2) Завантаження значення змінної, розташованої по отриманим адресою за допомогою тієї ж команди L.

. 3.2. Завантаження десяткових змінних відбувається за допомогою комманди L. Таким чином, якщо йде привласнення однією десяткової змінної інший, то спочатку йде завантаження другого десяткової змінної в регістр за допомогою комманди L, а потім відбувається копіювання пам'яті за допомогою комманди MVN, описаної раніше.

Модифікація бази даних вихідного макета

У вихідний код для flex був доданий розбір нових лексем BASED, DECIMAL, ADDR і POINTER. Ці ж лексеми додані в набір токенов для bison.

Модифікація алгоритму вихідного макета

Розроблені синтаксичні правила були додані в набір правил для bison.

Були додані функції декларування десяткових змінних, уакзателей і BASED-змінних.

Додана функція poi, яка обробляє лексему ADDR. Ця функція генерує два асемблерні команди - LA і ST.

Функція opa модифікована для того, щоб оператор присвоєння замінювався на асемблерну функцію MVN, якщо операндом є десяткове число.

У функцію avi_ipe додана можливість підстановки замість слова, оголошеного псевдокоманда EQU, імені змінної.

У результаті був розроблений компілятор ЯВУ, позволяюща справлятися з поставленим завданням.

Плюси даної реалізації:

· використання вбудованих функцій асемблера для роботи з числами і адресами;

· BASED-змінні мають уявлення у вихідному файлі, що дозволяє більш точно відновити вихідний код по вихідному еквіваленту;

· не використовується пам'ять для BASED-змінних;

Мінуси даної реалізації:

· беззнакові десяткові числа;

· фіксована мантиса десяткових чисел;

· відсутність арифметичних операцій над десятковими числами;

· вихід файл сумісний тільки з асемблером ЕОМ IBM 370;

Основні переваги Flex і Bison над першою реалізацією компілятора ЯВУ:

· відсутність таблиці проекцій

· відсутність стека цілей і досягнень

· відсутність матриці суміжності і генерації матриці зв'язності

· відсутність 2ух проходів при розборі програми


Назад | сторінка 11 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Контроль якості конденсаторів змінної ємності
  • Реферат на тему: Розробка стабілізатора змінної напруги
  • Реферат на тему: Розробка системи управління базою даних &Футбольна команда Manchester Unite ...
  • Реферат на тему: Розробка блоку управління стабілізатора змінної напруги
  • Реферат на тему: Розвиток потенціалу команди за допомогою коучингу: практика роботи в російс ...