Запис програм мовою асемблера - Студопедія
ВСТУП
У цьому посібнику містяться всі відомості про систему команд, директиви мови асемблера, систему програмування TASM, операційну систему MS-DOS, необхідні для виконання робіт. Однак ці відомості не претендують на повноту опису, тому цей посібник краще використовувати як практичне доповнення до інших джерел інформації про мову асемблера ПЕОМ IBM PC.
Структура опису лабораторної роботи
Опис кожної роботи складається з наступних розділів:
мета роботи – коротко викладається основна мета роботи та перераховуються очікувані результати;
основні відомості – наводяться мінімальний обсяг відомостей, необхідні виконання роботи;
приклад виконання роботи – наводиться типове завдання та програма, що реалізує поставлене завдання. Приклад можна як шаблон виконання відповідної роботи;
контрольні питання – перед захистом роботи рекомендується спробувати відповісти всі поставлені питання.
ВИКОНАННЯ РОБОТИ
Під час виконання кожної роботи слід керуватися наступною послідовністю кроків:
прочитати опис та розібрати запропонований приклад;
написати програму(и) згідно з варіантом завдання;
відтранслювати програму(и), домогтися відсутності помилок трансляції;
запустити та налагодити програму при кількох наборах вихідних даних;
відповісти на контрольні питання.
ФОРМА ЗВІТУ
Звіт з лабораторної роботи повинен включати:
- тексти програм (бажано у вигляді лістингу трансляції);
- вихідні дані та результати виконання програми для кількох наборів даних.
| Лабораторнаробота |
| ÐÀÇÐÀÁÎÒÊÀ È ÎÒËÀÄÊÀ ÏÐÎÃÐÀÌÌ ÍÀ ßÇÔÊÅ ÀÑÑÅÌÁËÅÐ |
МЕТА РОБОТИ
Мета справжньої роботи - вироблення навичок підготовки та трансляції програм мовою асемблера в операційній системі MS-DOS та налагодження програм з використанням відладчика.
ОСНОВНІ ВІДОМОСТІ
Запис програм мовою асемблера
Поля зручно поділяти табуляцією.
Імена даних, процедур, сегментів або мітки команд можуть складатися не більше ніж з 255 латинських букв або цифр, причому першим символом має бути обов'язково буква. За промовчанням в імені значущими є перші 32 символи. Великі та малі літери можуть асемблером відрізнятися або не відрізнятися (ключи: /ML, /MU та /MX). Мітки машинних команд повинні закінчуватися символом двокрапки.
При трансляції кожному імені ставиться у відповідність ряд атрибутів.
Поле операції містить мнемокод машинної команди, директиви чи макрокоманди. Великі та малі літери в мнемокоді операції асемблером не різняться.
Поле операнда служить для запису операнда, якщо вони потрібні.
Якщо операндів кілька вони, як правило, поділяються комами.
У програмах мовою асемблер допустимі кілька типів констант:
- десяткові – послідовність цифр від 0 до 9;
- шістнадцяткові - послідовність шістнадцяткових цифр від 0 до 9 і від A або a до F або f, що завершується буквою H або h, першою повинна бути десяткова цифра;
- восьмеричні - послідовність цифр від 0 до 7, що завершується літерами Q, q, O або o;
- двійкові – послідовність цифр 0 чи 1, що завершується буквою B чи b.
Нижче наведено типову структуру простої програми на асемблері.
QUIT: exitcode 0
Директиви stack, dataseg і codeseg служать виділення сегментів.
Макрокоманда startupcode містить код, що ініціалізує, який забезпечує завантаження сегментних регістрів DS і SS.
Макрокоманда exitcode здійснює завершення виконання програми та передачу управління ОС. Необов'язковий параметр служить для повернення значення, яке можна перевірити у командних файлах операційної системи.
Директива end відзначає кінець тексту програми та вказує асемблеру, де завершити трансляцію. Тому директива end має бути у кожній програмі. Необов'язковий параметр вказує інструкцію, з якої має розпочатися виконання програми.
служать визначення даних, слів чи байтів, відповідно.
може бути константою або, якщо значення не визначено, можна використовувати символ знака питання.
Конструкція dup ( , . ) використовується для повторення послідовності виразів у дужках заданий раз.
Чи не знайшли те, що шукали? Скористайтеся пошуком:
Вимкніть adBlock! і оновіть сторінку (F5)дуже потрібно