Разработка программного обеспечения на языке низкого уровня - ассемблер
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
КУРСОВАЯ РАБОТА
по дисциплине: программирование
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Тема: "Разработка программного обеспечения на языке низкого уровня - ассемблер"
Выполнил: Руководитель:
Ст. гр. ИБ-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. Анализ, постановка задачи
Программирование на языке ассемблер
Программирование на языке ассемблер считается сложною задачею, причины его такие:
- Язык ассемблер любого процессора существенно сложнее любого языка высокого уровня. Чтоб воспользоваться всеми возможностями языка ассемблер, нужно, по крайней мере, найти команды микропроцессора, а их число со всеми возможными вариантами перевешает 100, их количество значительно превышает количество операторов и ключевых слов других языков высокого уровня. Проблема усложняется еще тем, что изменения в ассемблере возникают намного быстрее, чем в языках высокого уровня, это связано с появлением новых микропроцессоров и соответственно новых команд.
- Программист, который использует язык ассемблер должен сам следить за распределением памяти и вместо регистров, чтоб корректно разделять и управлять памятью. В языках высокого уровня это делается автоматически с помочью компилятора, но это обстоятельство имеет преимущество: можно оптимально расположить данные в памяти, обеспечить максимальную скорость выполнения и минимальную длину программы.
- Программы на языке ассемблер тяжелее проектировать и настраивать, нужно все время помнить, что конкретно находиться в каждом из регистров в данной ячейки памяти. Принято считать, что разработка программы только на языке ассемблер, некоторого процессора, даже если он распространенный не рекомендуется. Понятно, что любую программу можно написать только с помощью ассемблера, но для этого нужно использовать намного больше количество команд и время, которое пойдет на ее выполнение и настройку будет намного больше, чем для языка высокого уровня. Намного выгодней написать программу на языке высокого уровня, а наиболее критические части быстрого действия писать на языке ассемблер.
Постановка задачи:
Реализовать программы поднесения чисел к степени чисел над полем за основанием 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.
Этапы создания программы.
Разработка программы на языке ассемблер включает в себя.
) Создание кода программы на С++;
- Подготовка начального текста программы на ассемблере;
- Ассемблирование программы (получение объектного кода);
- Компоновка программы (получение выполненного файла);
- Отладка программы (нахождение ошибок).
Эти этапы циклически повторяются.
2. История развития асемблера. Характеристика машинного языка
Первые компьютеры "знали" один язык - машинный. Р