Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pz.1.doc
Скачиваний:
3
Добавлен:
15.09.2019
Размер:
435.2 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИНСТИТУТ ИНФОРМАТИКИ И ИСКУССТВЕННОГО

ИНТЕЛЕКТА

Д080403.1.01.05/131.КП Кафедра ПОИС

КурсовОЙ ПРОЕКТ

по дисциплине: «Операционные системы»

Тема: «Разработка кросс - ассемблера для гипотетической микро-ЭВМ с заданной архитектурой»

Руководители:

________ ст.преп. Сорокин Р.А. (дата, подпись)

Разработала:

________ст.гр.СИИ-10б Северенчук А.А.

(дата, подпись)

Донецк, 2012

РЕФЕРАТ

Курсовой проект 36 с., 5 рисунков, 5 таблиц, 3 приложения.

Цель курсового проекта – изучить принципы работы синтаксического анализатора и транслятора, а также формирования объектного кода и листинга исходной программы, написанной на языке, разработанном для заданной гипотетической ЭВМ.

При разработке курсового проекта был использован язык программирования С.

ГИПОТЕТИЧЕСКАЯ ЭВМ, МАКРОПРОЦЕССОР, КОМПИЛЯТОР, МНЕМОКОД, СИСТЕМА КОМАНД, КРОСС-АССЕМБЛЕР, РАЗМЕРНОСТЬ, РЕГИСТР, РЕЖИМ АДРЕСАЦИИ, ТРАНСЛЯТОР

Д080403.1.01.05/131.КП

Фамилия

Подпись

Дата

Разработала

А.А. Северенчук

Пояснительная записка

Литера

Лист

Листов

Рук. Проекта

Р.А. Сорокин

у

3

36

ДонНТУ, каф.ПОИС

Группа СИИ-10б

CОДЕРЖАНИЕ

Введение............................................................................................................

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

2 Описание архитектуры микроэвм ...............................................................

2.1 Структурно-логическая схема микропроцессора ...................................

2.2 Описание форматов команд .....................................................................

2.3 Описание системы команд и режимов адресации ..................................

3 Описание языка ............................................................................................

3.1 Общие сведения .........................................................................................

3.2 Элементы ассемблера................................................................................

3.2.1 Алфавит....................................................................................................

3.2.2 Целые величины .....................................................................................

3.2.3 Имена........................................................................................................

3.2.4 Зарезервированные имена......................................................................

3.2.5 Комментарии............................................................................................

4 Описание программного продукта..............................................................

4.1 Общие сведения .........................................................................................

4.2 Формат объектного файла ........................................................................

4.3 Описание основных структур данных......................................................

4.4 Описание функционирования………………………………...................

4.5 Входные данные…….................................................................................

4.6 Выходные данные......................................................................................

5 Пример программы на мнемокоде...............................................................

6 Результаты ручной трансляции примера....................................................

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

Перечень ссылок .............................................................................................

Приложение А Техническое задание.............................................................

Приложение Б Руководство пользователя.....................................................

Приложение В Листинг программы...............................................................

4

5

6

6

7

8

11

11

11

11

11

12

12

12

13

13

13

15

16

16

16

17

18

19

20

21

24

25

Разработала

Фамилия

Подпись

Дата

З080404.1.01.06/009.КП

Лист

Ст.гр. СИИ-10б

Северенчук А.А.

4

Введение

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

Распространение микрокомпьютеров послужило причиной пеpесмотра отношения к языку ассемблера по двум основным причинам. Во-первых, программы, написанные на языке ассемблера, требуют значительно меньше памяти и времени выполнения.

Во-вторых, знание языка ассемблера и результирующего машинного кода дает понимание архитектуры машины, что вряд ли обеспечивается при работе на языке высокого уровня. Хотя большинство специалистов в области программного обеспечения ведут разработки на языках высокого уровня, таких как Паскаль или С, что проще при написании программ, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера.

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

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

1 постановка задачи

Цель данного курсового проекта состоит в изучении методов разработки компиляторов, а также разработке машинно-ориентированного языка для гипотетической ЭВМ и написании для него компилятора.

Необходимо реализовать следующую постановку задачи: для гипотетической ЭВМ с заданной архитектурой разработать и программно выполнить компилятор для машинно-ориентированного языка этой ЭВМ.

Структура, отображающая программно доступные регистры, информационные связи между ними и машинный язык программ, определяющий способы кодирования информации, форматы данных и команд, режимы адресации и систему команд, называется архитектурой ЭВМ.

Важнейшей характеристикой любого микропроцессора является разрядность его внутренних регистров, а также внешних шин адреса и данных. Разрабатываемый микропроцессор имеет 8-разрядную внутреннюю архитектуру и такой же разрядности шины адреса и данных. Таким образом, адресное пространство составляет 28 = 256 байт.

В состав процессора входят:

  • один 16-разрядный аккумулятор (Acc);

  • 4-разрядный регистр флагов (содержит флаги переполнения, нуля, знака, переноса(O, Z, S, C, соответственно));

  • РОНов нет;

  • два 8-разрядных индексных регистра;

  • Максимальная длина команды составляет 16 бит.

Процессор поддерживает следующие режимы адресации:

  • прямую (адрес поступает с шины данных на регистр IR);

  • относительная (счетчик команд увеличивается на смещение, поступающее с регистра DAR);

  • прямая регистровая (в команде хранится номер регистра, в нем - операнд);

  • непосредственная (обрабатываемые данные являются частью команды);

  • базовая (адрес операнда вычисляется путем сложения смещения заданного в команде и базового регистра).

Размер байта равен 8 бит и основного слова равен 8 бит.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]