Разработка программного обеспечения на языке низкого уровня - ассемблер

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

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

 

 

 

 

 

 

 

 

 

КУРСОВАЯ РАБОТА

по дисциплине: программирование

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Тема: "Разработка программного обеспечения на языке низкого уровня - ассемблер"

 

 

 

Выполнил: Руководитель:

Ст. гр. ИБ-05-1 Олешко О.И.

Могила Сергей Виталиевич

 

 

 

 

 

Харьков 2007

Реферат

 

Пояснительная записка содержит в себе стр., 2 приложения.

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

Объект исследования - Изучить язык ассемблер для написания примера программы на ассемблере для 16 битного приложения (DOS приложение) реализации алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2)

Метод исследования - изучение литературы, составления и отладка приложения

Разработанная программа служит наглядной иллюстрацией техники создания DOS приложения.

Для программной реализации проекта использовалась среда программирования MS-DOS

КЛЮЧЕВЫЕ СЛОВА: процедура, оператор, ячейка, отладчик программы, приложение, адрес , директива.

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ

1. Анализ, постановка задачи, этапы создания

. история развития ассемблера

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

. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

4.1 Установка программы и запуск программы

4.2 Работа с программой

.3 Системные требования

5. ПРИМЕР ВЫПОЛНЕНОЙ ПРОГРАММЫ

Заключение

Список использованной литературы

Приложение

 

Введение

 

После создания процессора 8086 фирма Intel разработала более совершение процессоры объединенные под названием I 80x86, такое название означает, что все команды микропроцессора, которые выполняются на младших моделях обязательно , значит все ПО, которые разработаны для процессора 8086 успешно будут работать и на последних моделях 80486 и Pentium. Ми будем рассматривать процессоры с точки зрения программиста. Не смотря на разнообразность моделей процессоров, наиболее важным с точки зрения биологии программирования, есть 8086 як базовая модель и 80386 , як перший процессор фирмы Intel, который в полном объеме реализовал принцип многозадачности.

 

1. Анализ, постановка задачи

 

Программирование на языке ассемблер

Программирование на языке ассемблер считается сложною задачею, причины его такие:

  1. Язык ассемблер любого процессора существенно сложнее любого языка высокого уровня. Чтоб воспользоваться всеми возможностями языка ассемблер, нужно, по крайней мере, найти команды микропроцессора, а их число со всеми возможными вариантами перевешает 100, их количество значительно превышает количество операторов и ключевых слов других языков высокого уровня. Проблема усложняется еще тем, что изменения в ассемблере возникают намного быстрее, чем в языках высокого уровня, это связано с появлением новых микропроцессоров и соответственно новых команд.
  2. Программист, который использует язык ассемблер должен сам следить за распределением памяти и вместо регистров, чтоб корректно разделять и управлять памятью. В языках высокого уровня это делается автоматически с помочью компилятора, но это обстоятельство имеет преимущество: можно оптимально расположить данные в памяти, обеспечить максимальную скорость выполнения и минимальную длину программы.
  3. Программы на языке ассемблер тяжелее проектировать и настраивать, нужно все время помнить, что конкретно находиться в каждом из регистров в данной ячейки памяти. Принято считать, что разработка программы только на языке ассемблер, некоторого процессора, даже если он распространенный не рекомендуется. Понятно, что любую программу можно написать только с помощью ассемблера, но для этого нужно использовать намного больше количество команд и время, которое пойдет на ее выполнение и настройку будет намного больше, чем для языка высокого уровня. Намного выгодней написать программу на языке высокого уровня, а наиболее критические части быстрого действия писать на языке ассемблер.

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

Реализовать программы поднесения чисел к степени чисел над полем за основанием 2 (mod 2) на С++ на Ассемблере и сравнить время выполнения задачи в обоих кодах, и сделать вывод.

Возведение в степень может быть выполнено эффективно двойным методом, выделенным ниже.

Вход положительное целое число , полевой элемент

Выход a k.

. Пусть k = kr kr-1 ... k1 k0 будет двоичным представлением числа , где старший бит равен 1.

. Устанавливаем x a.

. Для i от r - 1 до 0 do

3.1 Установить x x2.

.2 Если ki = 1 тогда установить x a x.

. Выход x.

Этапы создания программы.

Разработка программы на языке ассемблер включает в себя.

) Создание кода программы на С++;

  1. Подготовка начального текста программы на ассемблере;
  2. Ассемблирование программы (получение объектного кода);
  3. Компоновка программы (получение выполненного файла);
  4. Отладка программы (нахождение ошибок).

Эти этапы циклически повторяются.

 

2. История развития асемблера. Характеристика машинного языка

 

Первые компьютеры "знали" один язык - машинный. Р