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

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





чином представляти BASED-змінні в ассемблеровском еквіваленті програми (на виході).

· відсутні арифметичні операції

За цим, для визначеності, були введені наступні обмеження на мовні конструкції компілятора ЯВУ:

· Обмеження на цілі десяткові змінні:

o мають тип P в ассемблеровском еквіваленті програми;

o визначаються як без знакові, тобто завжди позитивні;

o мають довжину 3 байти (мантиса дорівнює 5 (одна тетрада на знак)), тобто це числа від 0 до 99 999;

o НЕ ініціалізовані десяткові змінні на ЯВУ инициализируются нулем в ассемблеровском еквіваленті програми.

· BASED-змінні:

o тільки цілі десяткові

o не мають своє уявлення в пам'яті програми, для цього вони оголошуються через оператор EQU асемблера ЄС ЕОМ.

· Оператор присвоювання кодується в 6 байтовую команду типу SS (Storage - Storage) мови Асемблера. Це означає, що присвоювання працює без використання допоміжних регістрів.

· Покажчики оголошуються як тип A в ассемблеровском еквіваленті програми, мають розмір 4 байта (довжину адреси в ЄС ЕОМ).

Опис розробленого синтаксису мови

Синтаксис існуючого макета був розширений такими правилами:

· додано правило декларування десяткових змінних з ініціалізацією і без

· додано правило декларування покажчиків і десяткових змінних, що базуються на даних, на які посилається цей покажчик

· додано правило отримання адреси існуючої змінної

· додано правило роботи оператора присвоювання

Таким чином, граматика мови має наступний вигляд:

1. lt; PRO gt; ::= Lt; OPR gt; lt; TEL gt; lt; OEN gt;

. lt; OPR gt; ::= Lt; IPR gt;: PROC_OPTIONS (MAIN);

. lt; IPR gt; ::= Lt; IDE gt;

. lt; IDE gt; ::= Lt; BUK gt; | Lt; IDE gt; lt; BUK gt; | Lt; IDE gt; lt; CIF gt;

. lt; BUK gt; ::=A | B | C | D | E | M | P | X

. lt; CIF gt; ::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

. lt; TEL gt; ::= Lt; ODC gt; | Lt; TEL gt; lt; ODC gt; | Lt; TEL gt; lt; OPA gt;

. lt; ODC gt; ::=DCL_ lt; IPE gt; _BIN_FIXED ( lt; RZR gt;); | _ lt; IPE gt; _BIN_FIXED ( lt; RZR gt;) INIT ( lt; LIT gt;); | _ lt; IPE gt; _DECIMAL_FIXED_INIT ( lt; RZR gt;); | _ lt; IPE gt; _DECIMAL_FIXED; | _ lt; IPE gt; _POINTER; | _ lt; IPE gt; _DECIMAL_FIXED_BASED ( lt; IPE gt;);

. lt; IPE gt; ::= Lt; IDE gt;

. lt; RZR gt; ::= Lt; CIF gt; | Lt; RZR gt; lt; CIF gt;

. lt; LIT gt; ::= Lt; MAN gt; B

. lt; MAN gt; ::=1 | lt; MAN gt; 0 | lt; MAN gt; 1

. lt; OPA gt; ::= Lt; IPE gt;=ADDR ( lt; IPE gt;); |

lt; IPE gt;= lt; AVI gt ;;

. lt; AVI gt; ::= Lt; LIT gt; | Lt; IPE gt; | Lt; AVI gt; lt; ZNK gt; lt; LIT gt; |

lt; AVI gt; lt; ZNK gt; lt; IPE gt;

. lt; ZNK gt; ::=+ | -

. lt; OEN gt; ::=END_ lt; IPR gt;


Рис. 1 Розпізнавання граматичних правил у форматі продукцій

Перетворення в код асемблера ЄС ЕОМ

Слідуючи введеним обмеженням, отримуємо наступний ассемблеровскій еквівалент на виході компілятора ЯВУ:

. Змінні:

. 1. Цілі десяткові змінні оголошуються як тип PL3 X через команду DC, де Х - значення при ініціалізації. P - стандартний тип десяткових змінних в Асемблері IBM 370. Літера L означає довжину числа в байтах, яка відповідає 3 байтам - фіксоване значення, зазначене в обмеженнях до компілятора ЯВУ.

. 2. Покажчики оголошуються як тип A через команду DS. Команда DS асемблера IBM 370 виділяє пам'ять на 4 байта НЕ ініціалізованих даних, тому покажчики не можуть бути ініцілізіровани, а довжина 4 байта відповідає довжині адреси архітектури IBM 370.

1.3. BASED-змінні оголошуються через псевдокоманда EQU:

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


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





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

  • Реферат на тему: Фіктівні змінні. Залежність ціни на ноутбуки від кількісніх и якісніх факт ...
  • Реферат на тему: Види витрат виробництва постійні, змінні і загальні, середні і граничні вит ...
  • Реферат на тему: Оператор присвоювання мови FORTRAN
  • Реферат на тему: Розробка програми для оцінки через систему тестування знань
  • Реферат на тему: Розробка та налагодження підпрограм на мові Асемблера