Реферат: Структурне програмування на асемблері
розробка структурованих програм по методу “зверху вниз”............................................ 24
використання програми salut..................................................................................................... 25
пакет команд для програми salut................................................................................................. 25
переформатування вихідних текстів програмою salut......................................... 26
переформатування неструктурованих програм...................................................................... 26
ЧАСТИНА іі
ЛІСТИНГ ПРОГРАМИ ДРУКУ ДИСКОВОГО asCII ФАЙЛУ............................................................ 28
список використаної літератури................................................................................................ 32
СТРУКТУРНЕ ПРОГРАМУВАННЯ
Одним із найцінніших якостей Макроасемблера версії 2 є те, що він дозволяє вам писати структуровані програми на мові асемблера. Під «структурованими» ми розуміємо програми, що містять оператори високого рівня і виконуючі цикли, умовні передачі керування та інші задачі керування, що при відсутності оператора зажадали б декількох команд на мові асемблера. У дійсноcті структурні оператори забезпечують ті ж види складаних операцій, що і мова Бейсік. Наприклад, одне із сімейств структурних операторів (або логічних структур ) виконує ті ж дії, що й оператор IF-THEN-NEXT.
Але структурне програмування зовсім не зводиться до простої заміни команд на структурні оператори. Воно, скоріше, являє собою філософію розробки програмного забезпечення, в основу якої покладені такі елементи:
- розробка за методу «зверху вниз». (нагадаємо, що при цьому методі розробка програм починається з коментарів, до яких послідовними кроками додаються все нові і нові деталі).
- Програмування без міток.
- Програмування без оператора GOTO (тобто без команд умовної або безумовної передачі керування).
- Запис тексту програми з відступами, що показують рівень вкладеності логічних структур.
- У достатній мірі лістинги, що самодокументуються.
Все це призначено для підвищення якості програм на мові асемблера. Якісні поліпшення повинні бути явними в наступних аспектах:
- розробник повинен краще розуміти логіку програми;
- лістинг повинен бути зрозумілий тим, хто намагається внести власні зміни в чужі програми;
- оскільки програма більш зрозуміла, у ній повинно бути менше помилок;
- підвищується гнучкість і полегшується супровід програми. Це означає, що програма виявиться більш стійкою до зміни зовнішніх ситуацій, ніж це передбачено в проекті, і наступні модифікації органічно ввійдуть в існуючу структуру програми і не внесуть нових помилок;
- програма повинна бути зручною для читання, це допоможе зробити лістинг кращою документацією програми.
Можливість користуватися структурними операторами забезпечується програмою SALUT (Structured Language Utility - сервісна програма структурного програмування на мові асемблера). Ви повинні набрати текст своєї програми, а потім викликати програму SALUT для перетворення структурних операторів у стандартні команди на мові асемблера. Після цього треба як завжди відтранслювати програму і завантажити її.
У цій главі описані структурні оператори програми SALUT і приведені приклади і вказівки по їхньому застосуванню. У ній також обговорюються кроки, що треба виконати для трансляції і форматування структурованих програм.
СТРУКТУРНІ ОПЕРАТОРИ І СТРУКТУРИ ЛОГІКИ КЕРУВАННЯ
Існує більше десяти різних структурних операторів, але ними треба користуватися в строго визначених сполученнях, що у посібнику з Макроасемблеру називаються структурами логіки керування . Нижче визначені вісім різних структур логіки управління, але ми можемо розбити їх на три групи: структура IF (якщо) -- реалізує прийняття рішень Вона змушує мікропроцесор виконувати або пропускати групу команд у залежності від того, задовольняється задана умова чи ні. Структура IF аналогічна оператору IF-THEN на мові Бейсік.
- Структура DO (виконати), що забезпечує повторення групи команд. Вона змушує мікропроцесор циклічно виконувати одну або декілька груп команд, поки не задовольниться задана умова. Структура DO аналогічна операторам FOR-NEXT у мові Бейсік.
- Структура SEARCH (шукати) також пов'язана з повторенням команд, але використовується в тому випадку, коли вам необхідно знати, яка саме з декількох умов привела до завершення виконання циклу. Структура SEARCH виконує свій блок команд для кожної умови виходу з циклу.
УМОВИ У СТРУКТУРАХ ЛОГІКИ КЕРУВАННЯ
У табл. 1 показані умови, якими можна скористатися для керування структурами IF, DO і SEARCH.
СТРУКТУРА IF
Структура IF змушує мікропроцесор виконувати або пропускати групу команд в залежності від того, істинна чи хибна задана умова. Її основна форма:
$IF умова