1. Загальний розділ

Надійність програми досягається, в першу чергу, завдяки її правильному проектування, а не безкінечного тестування. Це правило означає, що якщо програма правильно розроблена у створеному як структура даних, так і структур управління, то це певною мірою гарантує правильність її функціонування. При застосуванні такого стилю програмування помилки є легко локалізації і переборні.

У більшості випадків рекомендується дотримуватися процесу розробки програми на асемблері:

1.  Етапи постановки і формулювання завдання:

• вивчення предметної області та збір матеріалу в проблемно-орієнтир-ваному контексті;

• визначення призначення програми, вироблення вимог до неї і перед-уявлення вимог, якщо можливо, у формалізованому вигляді;

• формулювання вимог до подання вихідних даних і вихідних результатів;

• визначення структур вхідних і вихідних даних;

• формування обмежень і припущень на вихідні і вихідні данні.

2.Етапи проектування:

• формування «ассемблерной» моделі задачі;

• вибір методу реалізації завдання;

2.  Етапи проектування:

• формування «ассемблерной» моделі задачі;

• вибір методу реалізації завдання;

• розробка алгоритму реалізації задачі;

• розробка структури програми відповідно до обраною моделлю пам'яті.

3. Етап кодування:

• уточнення структури вхідних та вихідних даних і визначення формату їх подання;

• програмування задачі;

• коментування тексту програми і складання попереднього опису програми.

4. Етап налагодження і тестування:

• складання тестів для перевірки правильності роботи програми;

• виявлення, локалізація й усунення помилок у програмі, виявлених у тестах;

• коректування коду програми та її опису.

5. Етап експлуатації та супроводу:

• настройка програми на конкретні умови використання;

• навчання користувачів роботі з програмою;

• організація збору відомостей про збої в роботі програми, помилки у вихідних даних, побажання щодо поліпшення інтерфейсу і зручності рабі ти з програмою;

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

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

Традиційно в існуючих реалізацій асемблера немає інтегрованого середовища, подібної інтегрованим середах Turbo Pascal, Turbo С або Visual C. Тому для виконання всіх функцій щодо введення коду програми, її трансляції, редагування та налагодження необхідно використовувати окремі службові програми. Велика частина їх входить до складу спеціалізованих пакетів асемблера.

На малюнку 1.1 наведена загальна схема процесу розробки програми на асемблері. На схемі виділено чотири кроки процесу. На першому кроці, коли вводиться код програми, можна використовувати будь-який текстовий редактор. Основною вимогою до нього є те, щоб він не вставляв сторонніх символів. Файл повинен мати розширення asm.

Рис. 1.1 - Процес розробки програми на асемблері.

Програми, що реалізують інші кроки схеми, входять до складу програмного пакету асемблера. Після написання тексту програми на асемблері настає наступний етап - трансляція програми. На цьому кроці формується об'єктний модуль, який включає в себе подання вихідної програми в машинних кодах і деяку іншу інформацію, необхідну для налагодження та компонування його з іншими модулями. Традиційно на ринку асемблерів для мікропроцесорів фірми Intel є два пакети:

«Макроассемблера» MASM фірми Microsoft і Turbo Assembler TASM фірми Borland.

У цих пакетах багато спільного. Пакет макроассемблера фірми Microsoft (MASM) отримав свою назву тому, що він дозволяв програмісту задувати макровизначеннями (або макроси), що представляють собою іменовані групи команд. Вони мали тим властивістю, що їх можна було вставляти в програму в будь-якому місці, вказавши тільки ім'я групи в місці вставки. Пакет Turbo Assembler (TASM) цікавий тим, що має два режими роботи. Один з цих режимів, званий MASM, підтримує всі основні возможності макроассемблера MASM. Інший режим, званий IDEAL, надає більш зручний синтаксис написання програм, більш ефективне використання пам'яті при трансляції програми та інші нововведення, що наближають компілятор асемблера до компіляторів мов високого рівня.

У ці пакети входять транслятори, компонувальники, отладчики і інші.

У цій роботі для отримання об'єктного модуля вихідний файл піддається трансляції за допомогою програми tasm.exe з пакету TASM.

Після усунення помилок можна приступати до наступного кроку - створення виконуваного (завантажувального) модуля, або, як ще називають цей процес, до компонування програми. Головна мета цього кроку - перетворити код і дані в об'єктних файлах у їх переміщуване виконується відображення. Процес створення виконуваного модуля поділяють на 2 кроки - трансляцію і компоновку. Це зроблено навмисно для того, щоб можна було об'єднувати разом кілька модулів (написаних на одному або декількох мовах). Формат об'єктного файлу дозволяє, при певних умовах, об'єднати декілька окремо відтранслювати вихідних модулів в один модуль. При цьому у функції компонувальника входить вирішення зовнішніх посилань (посилань на процедури і зміни) в цих модулях. Результатом роботи компонувальника є створення завантажувального файлу з розширенням ехе. Після цього операційна система може завантажити такий файл і виконати його.

Усунення синтаксичних помилок ще не гарантує того, що програма буде хоча б буде запускатися, не кажучи вже про правильність роботи. Тому

обов'язковим етапом процесу розробки є налагодження.

На етапі налагодження, використовуючи опис алгоритму, виконується контроль правильності функціонування як окремих ділянок коду, так і всієї програми в цілому. Але навіть успішне закінчення налагодження ще не є гарантією того, що програма буде працювати правильно з усіма можливими вихідними даними. Тому потрібно обов'язково провести тестування програми, тобто перевірити її роботу на «прикордонних» і свідомо некоректних вихідних даних. Для цього складаються тести.

Специфіка програм на асемблері полягає в тому, що вони інтенсивно працюють з апаратними ресурсами комп'ютера. Ця обставина змушує програміста постійно відстежувати вміст певних регістрів і областей пам'яті. Природно, що людині важко стежити за цією інформацією з великим ступенем деталізації. Тому для локалізації логічних помилок у програмах використовують спеціальний тип програмного забезпечення - програмні відлагодження.

Відладчики бувають двох типів:

• інтегровані - відладчик реалізований у вигляді інтегрованого середовища типу середовища для мов Turbo Pascal, Quick С і т.д.;

• автономні - відладчик являє собою окрему програму.

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


Информация о работе «Розробка на мові асемблера алгоритму контролю на парність масиву даних»
Раздел: Промышленность, производство
Количество знаков с пробелами: 27398
Количество таблиц: 0
Количество изображений: 2

Похожие работы

Скачать
206879
0
16

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

Скачать
162235
26
50

... ./ “_____”_________2009р. Виконавець Студент групи x  /xxxxxx./ “_____”____________2009р. Харків 2009 ЗАТВЕРДЖЕНО xxx.03077-01 12 01-1-ЛЗ ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Текст програми xxxxx.03077-01 12 01-1 Аркушів _48_ Харків 2009 ЗМІСТ 1 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ ...

0 комментариев


Наверх