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

Реферат Проектування компілятора





операнда: віднімає операнд з нуля і додає одиницю. Операндом може бути байт або слово в регістрі або в пам'яті. p align="justify"> Прапори: Команда впливає на прапори AF, CF, OF, PF, SF і ZF.

Об'єктний код: | 1111011w | mod011r/m |: Зрушення вліво або вправо

Операція: Виконує зсув бітів вліво.

Прапори: Команда впливає на прапори CF, OF, PF, SF і ZF (прапор AF не визначено).

Об'єктний код: SAL/SHL: | 110100cw | mod100r/m |.


3. Алгоритми і таблиці компілятора


Компілятор, що розробляється в даній курсовій, є двох-прохідним. Він використовує наступні системні таблиці. - Таблиця Мнемокод. Містить наступні поля: name - мнемокод. SYMTAB - таблиця символічних імен. Містить наступні поля: name - символічне ім'я; sgm - сегмент, в якому воно оголошено; dsp - зміщення в сегменті. SEGTAB - таблиця сегментів. Містить наступні поля: name - ім'я сегмента; len - довжина сегмента в байтах. p align="justify"> Крім вище перерахованих таблиць, використовуються два тимчасових файлу призначених для зберігання об'єктного код двох сегментів. Також використовується таблиця modif використовуваних посилань (записи модифікатори). p align="justify"> На першому проході відбувається заповнення таблиці символічних імен і таблиці використовуються сегментів. Крім того, визначаються формати команд, без чого неможливо заповнення системних таблиць. Мнемокод обробляються наступним чином. Вся рядок розбивається на поля. Якщо в рядку є символічне ім'я, то воно заноситься в таблицю. Далі визначається поле з мнемокод. У таблиці Мнемокод відшукується даний мнемокод і визначається індекс обробника. Якщо мнемокод в таблиці відсутня, то генерується помилка. Після того, як індекс отриманий, обробка рядка передається відповідному обробнику. На даному проході обробник визначає формат команди (зокрема її довжину) і відповідним чином змінює лічильник розміщення. p align="justify"> До початку другого проходу адреси всіх символічних імен відомі. Під час другого проходу остаточно генеруються об'єктні коди команд. Якщо в команді використовується символічне ім'я, то воно відшукується в таблиці символічних імен, і у відповідне поле об'єктного коду записується потрібне значення (це може бути адреса символічного імені або зсув до даного імені в залежності від використовуваної команди). Об'єктний код записується в допоміжні файли. Крім того, якщо об'єктний код містить поле, що потребує модифікації, то в таблицю vmodif записується запис-модифікатор. p align="justify"> Складання об'єктного файлу.

Після закінчення другого проходу є вся необхідна інформація для того, щоб скласти об'єктний файл. Записи, які є незмінними для всіх об'єктних файлів, записуються у вигляді констант. Решта записів формуються на підставі тих даних, які були от...


Назад | сторінка 3 з 10 | Наступна сторінка





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

  • Реферат на тему: Комп'ютерна обробка даних таблиці Microsoft Office Access
  • Реферат на тему: Базові поняття реляційної моделі даних (створення таблиці MS Access)
  • Реферат на тему: Відеореклама. Електронні таблиці
  • Реферат на тему: Електронні таблиці Excel 2003
  • Реферат на тему: Зведення і групування статистичних матеріалів. Статистичні таблиці