29361

Генерация объектного кода для тетрадной формы представления программ

Доклад

Информатика, кибернетика и программирование

последовательность команд загруженных в фиксированные ячейки памяти2. последовательность перемещенных машинных команд3. Предположим что сумматор может выполнять 4 арифметические операции а в целом система команд также включает еще 2 команды: загрузки сумматора из памяти и сохранение результатов в память.Систему команд такой машины можно представить следующим образом:При выполнении любой из первых двух команд содержимое источника копируется в приемник а при выполнении оставшихся 4 команд содержимое ячейки памяти не изменяется.

Английский

2013-08-21

99.5 KB

1 чел.

29) Генерация объектного кода для тетрадной формы представления программ.

Существует 3 формы объектного кода
1. последовательность команд, загруженных в фиксированные ячейки памяти
2. последовательность перемещенных машинных команд
3. программа на языке ассемблера
Объектный код в компиляторах (К) может формироваться как в двоичном виде, т.е. в виде кодов (1,2), так и в символьном виде (на языке ассемблера) (3). Пусть объектный код формируется в символьном виде. Чтобы показать процесс генерации кода, можно рассмотреть теоретическую вычислительную машину с одним сумматором и неограниченной памятью. Предположим, что сумматор может выполнять 4 арифметические операции (+,-,*,/), а в целом система команд также включает еще 2 команды: загрузки сумматора из памяти и сохранение результатов в память.
Для упрощения будем считать, что 
объектная программа формируется в символьном виде, а каждая переменная представляется своим именем, а не указателем, на соотв. ячейку памяти.
Систему команд такой машины можно представить следующим образом:

При выполнении любой из первых двух команд содержимое источника копируется в приемник, а при выполнении оставшихся 4 команд, содержимое ячейки памяти не изменяется.
Генерация кода осуществляется для программы, представленной в некоторой внутренней форме, наиболее удобной из которых для генерации кода является 
список тетрад.

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

Покажем на прмере как выполняется генерация кода рассмотренным методом

A:= (B+D+A)* (D+B+C)
Для него исходный список тетрад будет иметь следующий вид:

(+,B,D,T1)
(+,T1,A,T2)
(+,D,B,T3)
(+,T3,C,T4)
(*,T2,T4,T5)
(:=,T5, ,A).
После машинно-независимой оптимизации представленный список тетрад будет иметь следующий вид:

(+,B,D,T1) (1)
(+,A,T1,T2) (2)
(+,C,T1,T4) (3)
(*,T2,T4,T5) (4)
(:=,T5, ,A).
(5)

Полученный код является избыточным , т.к. содержит команды, являющиеся дублирующими отдельный действия по записи и чтению данных в памяти. Это объясняется тем, что каждая тетрада реализуется стандартной универсальной последовательностью команд, не учитывающая контекст.


 

А также другие работы, которые могут Вас заинтересовать

7472. Исследование электромеханических свойств двигателя постоянного тока последовательного возбуждения 108.09 KB
  Исследование электромеханических свойств двигателя постоянного тока последовательного возбуждения. Цель работы: Исследовать способы регулирования скорости вращения и реверсирования якоря двигателя, построить рабочие характеристики двигателя. Пояснен...
7473. Снятие кривой нагрева электродвигателя и определение постоянной времени нагрева 63.24 KB
  Снятие кривой нагрева электродвигателя и определение постоянной времени нагрева. Цель работы: Изучить процесс нагрева двигателя, получить опытным путем данные построения кривой нагрева электродвигателя и определить значение постоянной времени нагрев...
7474. Исследование трехфазного асинхронного двигателя 55.54 KB
  Исследование трехфазного асинхронного двигателя Цель работы: Экспериментально снять механическую характеристику трехфазного асинхронного двигателя и осуществить его реверс. Пояснения к работе: Для выполнения данной работы используют трехфазный асинх...
7475. Предпринимательство в России на современном этапе его развития 149 KB
  Введение Рыночная экономика предполагает становление и развитие предприятий различных организационно-правовых форм, основанных на разных видах частной собственности, появление новых собственников - как отдельных граждан, так и трудовых коллекти...
7476. Право граждан на отпуск и гарантия его реализации 260 KB
  Право граждан на отпуск и гарантия его реализации Введение Дипломная работа на тему: Право граждан на отпуск и гарантия его реализации определяет круг лиц, пользующихся ежегодными оплачиваемыми отпусками, обобщает положения законодательства о мини...
7477. Проект саду на даху торгівельного центру Центрум в м. Києві 3.8 MB
  Проект саду на даху торгівельного центру Центрум в м. Києві Вступ Слід зазначити, що на сьогодні Київ втратив незліченну кількість зон рекреації. З кожним роком високоповерхові будинки приходять на зміну міським, в минулому численним, садам і...
7478. Конструкция роликомаятниковой мельницы 1.9 MB
  ВВЕДЕНИЕ Объем производства различных строительных материалов возрастает из года в год. Увеличивается выпуск нерудных материалов, сборных железобетонных изделий и конструкций при значительном повышении их качества. Для производства строительных мате...
7479. Сортировочная горка. Пояснение назначения и работы устройств защиты на сортировочной горке 504.5 KB
  ВВЕДЕНИЕ. Неотъемлемой частью перевозочного процесса на железно-дорожном транспорте является технологическая работа, связанная с переработкой грузовых составов на специальных станциях, называемых сортировочными. Для выполнения сортировочной работы ...
7480. Проектирование технологии изготовления корпуса червячного редуктора в условиях автоматизированного производства 489.35 KB
  Тема проекта: Проектирование технологии изготовления корпуса червячного редуктора в условиях автоматизированного производства. Исходные данные к проекту: чертеж редуктора, годовой объем выпуска деталей - 1000 шт., работа участка...