Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка додатка, що реалізує метод Флойда

Реферат Розробка додатка, що реалізує метод Флойда





ормат запису машинних команд, зручний для сприйняття людиною. Часто для стислості його називають просто ассемблером, що не вірно.

Зміст мови.

Команди мови асемблера один в один відповідають командам процесора і, фактично, являють собою зручну символьну форму запису (мнемокод) команд і їх аргументів. Також мова асемблера забезпечує базові програмні абстракції: зв'язування частин програми і даних тих через мітки з символьними іменами (при асемблюванні [1] для кожної мітки вираховується адресу, після чого кожне входження мітки замінюється на цю адресу) і директиви [2].

Директиви асемблера дозволяють включати в програму блоки даних (описані явно чи лічені з файлу); повторити певний фрагмент вказане число разів; компілювати фрагмент за умовою; задавати адреса виконання фрагмента, відмінний від адреси розташування в пам'яті [уточнити!]; міняти значення міток в процесі компіляції; використовувати макроозначення з параметрами та ін.

Кожна модель процесора, в принципі, має свій набір команд і відповідний йому мову (або діалект) асемблера.

Переваги: ??

) Мінімальна кількість надлишкового коду, тобто використання меншої доличества команд та звернень в пам'ять, дозволяє збільшити швидкість і зменшити розмір програми.

) Забезпечення повної сумісності і максимального використання можливостей потрібної платформи: використання спеціальних інструкцій і технічних особливостей даної платформи.

3) При програмуванні на асемблері стають доступними спеціальні можливості: безпосередній доступ до апаратури, портам вводу-виводу і особливим регістрам процесора, а також можливість написання САМОМОДІФІЦІРУЮЩІЕСЯ коду (тобто метапрограмування, причому без необхідності програмного інтерпретатора).

) Останні технології безпеки, впроваджувані в операційні системи, не дозволяють робити САМОМОДІФІЦІРУЮЩІЕСЯ коду, так як виключають одночасну можливість виконання інструкцій і запис в одному і тому ж ділянці пам'яті (технологія W ^ X в BSD-системах, DEP в Windows).

Недоліки:

) Великі обсяги коду і велике число додаткових дрібних завдань, що призводить до того, що код стає дуже складно читати і розуміти, а отже ускладнюється налагодження та доопрацювання програми, а також труднощі реалізації парадигм програмування та будь-яких інших угод, що призводить до складності спільної розробки.

2) Менша кількість доступних бібліотек, їх мала сумісність між собою.

) Непереносимість на інші платформи (крім двійково сумісних).

Застосування.

Напряму випливає з достоїнств і недоліків.

Оскільки великі програми на асемблері писати вкрай незручно, їх пишуть на мовах високого рівня. На асемблері ж пишуть невеликі фрагменти або модулі, для яких критично важливі:

швидкодія (драйвери);

розмір коду (завантажувальні сектори, програмне забезпечення для мікроконтролерів і процесорів з обмеженими ресурсами, віруси, програмні захисту);

спеціальні можливості: робота безпосередньо з апаратурою або машинним кодом, тобто завантажувачі операційних систем, драйвери, віруси, системи захисту.

Зв'язування ассемблерного коду з іншими мовами.

Оскільки на асемблері найчастіше пишуть лише фрагменти програми, їх необхідно пов'язувати з іншими частинами на інших мовах. Це досягається 2 основними способами:

На етапі компіляції - вставка в програму ассемблерних фрагментів (англ. inline assembler) спеціальними директивами мови, в тому числі написання процедур на мові асемблера. Спосіб зручний для нескладних перетворень даних, але повноцінного ассемблерного коду, з даними і підпрограмами, включаючи підпрограми з безліччю входів і виходів, які не підтримуються високорівневими мовами, за допомогою нього зробити не можна.

На етапі компоновки, або роздільна компіляція. Для взаємодії скомпонованих модулів достатньо, щоб сполучні функції [3] підтримували потрібні угоди про виклики (англ. Calling conventions) і типи даних. Написані ж окремі модулі можуть бути будь-якими мовами, у тому числі і на асемблері.

Синтаксис.

Загальноприйнятого стандарту для синтаксису мов асемблера не існує. Однак, існують стандарти, яких дотримуються більшість розробників мов асемблера. Основними такими стандартами є Intel-синтаксис і AT amp; T-синтаксис.

Інструкції.

Загальний формат запису інструкцій однаковий для обох стандартів: [позначка:] опкод [операнди] [; коментар], де опкод - безпосередньо мнемоніка інстру...


Назад | сторінка 11 з 35 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка та налагодження підпрограм на мові Асемблера
  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд
  • Реферат на тему: Створення резервних Копій програмного коду и даних
  • Реферат на тему: Розробка програми на Асемблері
  • Реферат на тему: Розробка на мові асемблера алгоритму контролю на парність масиву даніх