
- •Постановка задачі
- •1.1.Обробка числових двомірних масивів.
- •1.2.Робота із рядковими змінними.
- •Теоретична частина
- •2.1. Мова програмування асемблер.
- •2.2. Архітектура процесора 8086.
- •2.3. Структура центрального процесора.
- •2.4. Регістри.
- •Практична частина
- •3.1 Опис програми.
- •Реалізація програми
- •Результати роботи
- •Результати роботи програми обробки двохвимірних масивів даних.
- •Результати роботи програми роботи із рядковими змінними
- •Висновок
- •Список використаної літератури
ЗМІСТ
ВСТУП 3
1. ПОСТАНОВКА ЗАДАЧІ 4
1.2 Обробка числових двомірних масивів 4
1.3 Робота із рядковими змінними 4
2. ТЕОРЕТИЧНА ЧАСТИНА 5
2.1 Мова програмування асемблер 5
2.2 Архітектура процесора 8086 6
2.3 Структура центрального процесора 8
2.4 Регістри 10
3. ПРАКТИЧНА ЧАСТИНА 13
4. РЕАЛІЗАЦІЯ ПРОГРАМИ 22
5. РЕЗУЛЬТАТИ РОБОТИ 41
ВИСНОВОК 45
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 46
ВСТУП
Написання розрахунково-графічної роботи з дисципліни “Програмування на асемблері”, є однією із важливих форм навчання, так як дозволяє:
систематизувати, закріпити та розширити теоретичні і практичні знання по спеціальності та застосувати їх при рішенні конкретних задач;
розвивати навички самостійної роботи;
визначити рівень підготовки студента.
У запропонованих методичних вказівках містяться вимоги по порядку виконання та оформлення РГР, варіанти завдань, список рекомендованої літератури та додатки. Методичні вказівки до виконання призначені для студентів денної та заочної форм навчання.
Мета РГР полягає у формуванні у студента навичок практичної роботи з програмування на асемблері задач по обробці масивів та рядкових величин.
Постановка задачі
1.1.Обробка числових двомірних масивів.
Масив повинен вводитись у вигляді константи та з клавіатури.
Ввести
матрицю А позитивних цілих чисел
розмірності N
N:
а) Підрахувати кількість парних елементів та їх суму.
б) Замінити непарні елементи на 0.
в) Визначити номер стовпця, що містить саму більшу кількість нулів.
г) Отримати нову матрицю B шляхом додавання до кожного елементу рядка його наступного елементу (до останнього елементу рядка додається перший елемент рядка).
1.2.Робота із рядковими змінними.
Дано текст, який додається з латинських букв, цифр і закінчується крапкою. Всерединітексту є розділові знаки: коми і крапки з комою. Слова відокремлюються одне від одного розділовими знаками або пропусками. Рядок (або текст) вводиться з клавіатури.
Якщо в тексті двічі підряд трапляється символ “кома”, надрукувати аварійну зупинку.
Теоретична частина
2.1. Мова програмування асемблер.
Програми, створені на мові програмування низького рівня Асемблер мають такі характеристики, як максимальна швидкодія та малий обсяг у пам'яті. У разі, коли швидкість роботи програми чи мінімальний обсяг її в пам'яті грає ключову роль, для створення програм використовують мову асемблера. Навіть існують певні класи програм, які для свого написання потребують виключно мови асемблера.
Нині новітні системи програмування дозволяють об'єднувати в одну програму фрагменти, написані на різних мовах, тому часто застосовується практика складання програм з фрагментів, написаних на різних мовах, причому в програмуванні найкритичніших фрагментах програми чи в таких, що потребують найвищої швидкодії, застосовується мова асемблера. Не виключене й зворотне застосування даної властивості новітніх систем програмування - коли в програму мовою асемблера додається фрагмент чи кілька, написаних мовами високого рівня. Саме так зазвичай чинять при написанні драйверів комп'ютерних пристроїв.
Мова асемблера має ще певну навчальну цінність. Вона відображає найтонші архітектурні особливості і режими роботи мікропроцесора комп'ютера, ця мова програмування надає захоплюючу можливість вивчення структури організації роботи машини на „низькому рівні", вивчення можливостей і ресурсів апаратної частини комп'ютера, особливостей роботи операційної системи комп'ютера.
2.2. Архітектура процесора 8086.
Системний блок персонального комп'ютера містить: блок живлення; системну (материнську) плату; адаптери зовнішніх пристроїв; накопичувачі на жорстких магнітних (НЖМД) і гнучких (НГМД) дисках, а також ряд інших пристроїв. Для нас найбільший інтерес представляє системна плата, на якій розміщуються постійне запам'ятовуючий пристрій ПЗУ (ROM - read only memory), оперативний запам'ятовуючий пристрій ОЗП (RAM - random access memory), процесор і логіка управління, пов'язані між собою шинами.
Фізично і ОЗУ і ПЗУ виконані у вигляді мікросхем. Характерним для персонального комп'ютера є той факт, що при вимиканні електроживлення вміст ОЗУ втрачається (енергозалежна пам'ять), а ПЗУ - ні (енергозалежна пам'ять).
Одна з основних завдань ПЗУ забезпечити процедуру старту персонального комп'ютера. У ПЗУ зберігаються базова система введення / виведення BIOS, а також деякі службові програми і таблиці, наприклад, початковий завантажувач, програма тестування POST і т.п.
Оперативна пам'ять ОЗУ призначена для тимчасового зберігання програм і даних, якими вони маніпулюють. Логічно оперативну пам'ять можна представити у вигляді послідовності осередків, кожна з яких має свій номер, званий адресою.
Центральний процесор (ЦП) у сучасних персональних комп'ютерах виконаний у вигляді однієї надвеликої інтегральної мікросхеми (НВІС). ЦП виконує машинні команди, вибираючи їх в заданій послідовності з оперативної пам'яті. Робота всіх електронних пристроїв комп'ютера координується сигналами управління, виробленими ЦП і деякими іншими НВІС, сигналами тактового генератора, за допомогою яких синхронізуються дії всіх сигналів.
Можливості комп'ютера більшою мірою залежать від типу встановленого процесора і його тактової частоти. Сімейство процесорів 80х86 корпорації Intel включає в себе мікросхеми: 8086, 80186, 80286, 80386, 80486, Pentium, Pentium II, Pentium III і т.д. Сумісні з 80х86 мікросхеми випускають також фірну AMD, IBM, Cyrix. Особливістю цих процесорів є наступність на рівні машинних команд: програми, написані для молодших моделей процесорів, без будь-яких змін можуть бути виконані на більш старших моделях. При цьому базою є система команд процесора 8086, знання якої є необхідною передумовою для вивчення інших процесорів.