MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Ассемблер для платформы Java

Название:Ассемблер для платформы Java
Просмотров:73
Раздел:Информатика, программирование
Ссылка:Скачать(56 KB)
Описание: Содержание. Содержание. 1 Содержание. 2 Введение. 3 Постановка задачи. 4 Формат файла класса. 5 Структура файла класса. 5 Типы элементов Constant_pool 6 Формат структуры field_info. 7 Формат структуры method_info. 7 Форм

Часть полного текста документа:

Содержание.

Содержание. 1

Содержание. 2

Введение. 3

Постановка задачи. 4

Формат файла класса. 5

Структура файла класса. 5

Типы элементов Constant_pool 6

Формат структуры field_info. 7

Формат структуры method_info. 7

Формат атрибута Code. 8

Работа JVM.. 10

Система команд JVM. 12

Синтаксис языка ассемблера для платформы Java (языка JASM). 14

Тестовые примеры. 18

1. 18

2. 19

3. 20

Проектирование и реализация компилятора. 25

Заключение. 30

Использованная литература. 31


           Введение.

Язык программирования Java был разработан в середине 90-х годов на основе языка Oak, предназначавшегося для программирования «прошивок» для различных электронных устройств. Однако, в отличие от своего предшественника, язык Java получил широкое распространение, прежде всего как язык, использовавшийся в программировании для сети Интернет. В настоящее время область применения Java значительно расширилась, и этот язык часто применяется и в обычном прикладном программировании. Это обусловлено такими преимуществами как кроссплатформенность и безопасность,  которые обеспечиваются тем, что исходный код на Java компилируется не непосредственно в машинный код, а в, так называемый, байт-код, который интерпретируется виртуальной машиной Java (JVM). Во многих современных реализациях JVM байт-код перед выполнением преобразуется в машинные инструкции, что значительно повышает производительность, приближая ее к производительности программ, написанных на C/C++. Таким образом, Java, в современном состоянии этой технологии, сочетает преимущества интерпретируемых и компилируемых языков программирования.

Спецификация, описывающая JVM, как абстрактную вычислительную машину, предоставлена компанией Sun в открытый доступ. Это позволяет создавать как собственные реализации JVM для различных платформ, так и альтернативные компиляторы, генерирующие байт-код Java, в том числе для языков программирования, отличных от Java. Большинство литературы, посвященной Java, почти не уделяет внимания устройству JVM и описывает лишь сам язык Java. Однако, в ряде случаев, знание особенностей архитектуры бывает весьма полезным. В данной работе я создал учебную программу, которая может помочь в изучении архитектуры JVM – несложный ассемблер для байт-кода Java.


Постановка задачи.

Требуется изучить архитектуру уровня команд платформы Java, формат файла класса Java, и написать компилятор ассемблероподобного языка, позволяющего создавать файлы классов, корректно обрабатываемые реальной JVM. Данный компилятор должен поддерживать все команды байт-кода Java и важнейшие возможности JVM.


Формат файла класса.

Основным форматом исполняемых файлов в архитектуре Java является формат файла класса, описанный в The JavaTM Virtual Machine Specification, изданной компанией Sun. Файл данного формата имеет имя, совпадающее с идентификатором класса (за исключением вложенных классов) и расширение .class.

Структура файла класса.

Файл класса имеет следующую структуру:

 

ClassFile {

             u4 magic;

             u2 minor_version;

             u2 major_version;

             u2 constant_pool_count;

             cp_info constant_pool[constant_pool_count-1];

             u2 access_flags;

             u2 this_class;

             u2 super_class;

             u2 interfaces_count;

             u2 interfaces[interfaces_count];

             u2 fields_count;

             field_info fields[fields_count];

             u2 methods_count;

             method_info methods[methods_count];

             u2 attributes_count;

             attribute_info attributes[attributes_count];

  }

(здесь и далее u1, u2, u4 – целые числа размером 8, 16 и 32 бит с порядком байтов старший байт по младшему адресу). ............





Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  
 
     

Вечно с вами © MaterStudiorum.ru