Russian Language English Language

2. Модели и методы для обоснования выбора состава программных средств ВС

2.1 ПРОГРАММА ТЕСТИРОВАНИЯ ВНЕШНЕЙ ПАМЯТИ ПРОЦЕССОРА TMS320VC5510.

2.2 АССЕМБЛЕР ВИРТУАЛЬНОЙ FALGOL-МАШИНЫ.


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

Предоставление материалов

Письмо в редакцию

На начало


2007, Номер 1 ( 10)



Place for sale
В настоящее время на кафедре ВМСС МЭИ ведется разработка процессора с внутренним языком высокого уровня

BC/NW 2007, 1, (10) :2.2

 

АССЕМБЛЕР ВИРТУАЛЬНОЙ FALGOL-МАШИНЫ

 

С.А. Чернов, Ю.Е. Мороховец,

 

(Москва, Московский энергетический институт (технический университет), Россия)

 

К настоящему времени на кафедре ВМСиС МЭИ(ТУ) завершена разработка программной поведенческой модели базовой вычислительной машины (БВМ) с внутренним языком высокого уровня – виртуальной FALGOL-машины. Имеющиеся в модели средства для отображения и изменения состояния запоминающих устройств БВМ, позволяют создавать небольшие программы, написанные непосредственно в машинном коде. На этапе разработки программной модели этих возможностей было вполне достаточно, но использовать их для создания программ значительного объёма – весьма сложно. В связи с этим, возникла и была успешно решена задача разработки языка ассемблера БВМ, собственно: синтаксиса, семантики языка, среды поддерживающей процесс программирования и компилятора с Ассемблера в машинный код БВМ – ассемблера БВМ.

Разработанный ассемблер представляет собой средство трансляции программ, написанных с использованием мнемокодов машинных команд в эквивалентные программы, состоящие из машинных кодов команд БВМ. Следует отметить, что программа БВМ представляет собой последовательность команд, а данные присутствуют в программе в виде команд загрузки данных. Большая часть машинных команд представлена в синтаксисе Ассемблера их мнемокодами, принятыми при разработке системы команд БВМ. Исключение составляют команды  функциональных, блочных, процедурных и рекурсивно-процедурных скобок, которые записываются в виде символов, принятых в языке FALGOL [1], т.е. '[','{','(','<' и соответствующих им закрывающих скобок. На уровне Ассемблера возможно использование как символьных имён переменных, так и числовых индексов вхождения, т.е. допустимы команды val_0 и val_a, где a - имя переменной. Следом за любой скобкой, кроме '(', допустимо указывать список имён переменных (возможно с инициализацией) и подстановочных значений для последующего обращения к ним по именам, например: {a=5,b=-1.27: ...}.

Реализация ассемблера базируется на виртуальной машине компилятора (ВМК) по структуре схожей с БВМ. В основе ВМК лежат те же принципы тегированного представления и ситуационной дешифрации команд [2]. Усовершенствованные средства описания ситуаций позволили структурировать описание множества ситуаций, что положительно сказалось на надёжности созданного ассемблера. Все описания ситуаций сведены в единую структуру данных, которая при инициализации ВМК преобразуется к виду, удобному для обработки. Множества значений тегов представляются компактно-хранимыми объектами-множествами, для которых определены операции объединения и разности, что позволяет систематизировать описания ситуаций и автоматически генерировать загрузочные таблицы ассоциативных ЗУ, необходимые для аппаратной реализации ВМК.

Код, генерируемый ВМК, подвергается упаковке с использованием префиксов повторения, термов с сокращёнными кодовыми частями, специальных тегов для часто встречающихся команд. Код, полученный в результате ассемблирования, является программой на машинном языке БВМ – компактен и эффективен, при этом машинный язык БВМ обладает основными свойствами блочно-процедурных языков высокого уровня [3].

 

Литература

1.Фальк В.Н. Теоретическая модель языка программирования высокого уровня // Программирование, 1987, №4, - С. 3-12.

2.Мороховец Ю.Е., Чернов С.А. Дешифрация ситуаций в вычислительной машине с внутренним языком высокого уровня. Международный форум информатизации  – 2002: Доклады международной конференции "Информационные средства и технологии". 15-18 октября 2002 г., в 3-х т.т. Т1–М.: Янус-К, 2002 - С. 22-25

3. Пентковский В.М. Язык программирования Эль-76. Принципы построения языка и руководство к пользованию. – 2-е изд. испр. и доп. – М.: Наука. Гл. ред. физ.-мат. лит., 1989 (Б-чка программиста).