- •Методичні вказівки
- •"Системне програмування та операційні системи”
- •Лабораторна робота №1
- •Загальні відомості
- •Компілятор Turbo Assembler
- •Компонування програми
- •Складові частини програми
- •Приклад побудови програми
- •Завдання до лабораторної роботи №1
- •Лабораторна робота №2
- •Програмна модель пристрою fpu
- •Варіанти завдань до лабораторної роботи №2
- •Лабораторна робота №3
- •Опис логічних операцій мови програмування асемблер
- •Приклад програми використання логічних операцій
- •Варіанти завдань до виконання лабораторної роботи №3
- •Лабораторна робота №4
- •Команди для роботи з масивами
- •Приклад програми для роботи з масивами
- •Варіанти завдань до виконання лабораторної роботи №6
- •Лабораторна робота №5
- •Команди для роботи зі стрічками
- •Приклад програми для роботи із стрічками
- •Варіанти завдань до виконання лабораторної роботи №5
- •Контрольні запитання
- •Порядок оформлення звітів до виконання лабораторних робіт
- •Література
- •Навчальне видання
- •« Системне програмування та операційні системи »
Компілятор Turbo Assembler
Компілятор Turbo Assembler – це програма, що розміщена у файлі TASM.EXE. Вона викликається за допомогою команди TASM name у запрошенні DOS. Name являє собою назву вихідного файлу, що містить програмний код на асемблері (файл повинен мати розширення ASM, в протилежному випадку його слід вказувати явно). Після виконання вищевказаної команди, в поточному каталозі створиться файл name.obj, що є переміщуваним результуючим модулем. Виклик компілятора TASM в загальному випадку має вигляд: TASM fileset; …; fileset, де fileset представляє собою запис вигляду options sources, object, list, cross. Тут options є набором опцій, що відносяться до окремого fileset, sources є набором імен файлів, що містять вихідні тексти програм, а object – ім’я файлу, в котрий буде розміщено створений асемблером результуючий модуль. Ім’я list являє собою ім’я файлу, в який буде розміщено протокол компіляції, а cross – ім’я файлу, в який буде розміщено таблицю перехресних посилань. Ця таблиця містить перелік символічних імен модуля, місць, в яких вони визначені, а також номери стрічок, в яких появилися посилання на них. Елементи набору опцій, як правило, розділяються прогалинами, а елементи набору імен файлів повинні відділятися прогалинами або знаками “+”. Якщо у виклику асемблера відсутні параметри, то буде проведено індексацію повного списку його опцій:
/А – команда лексикографічного впорядкування сегментів;
/В – опція, що ігнорується;
/С – помістити у протокол компіляції таблицю перехресних посилань;
/D – визначення символу. Запис /Dsymbol означає команду визначення символу без присвоювання йому значення, запис /Dsymbol=value призведе до визначення символу та присвоєння йому значення, наприклад /Dsize=230;
/Е – команда генерувати команди емуляції операцій з плаваючою комою;
/Н – видає довідку по опціях;
/І – визначає ім’я каталогу файлів, що будуть під’єднуватися. Запис /Idir формує команду пошуку файлів, що підлягають під’єднанню в каталозі dir. Ця опція відноситься тільки до імен файлів, які не містять шляхів. Ця опція може використовуватись багаторазово;
/J – визначення директиви, яка буде виконана до початку компіляції вихідного файлу. Запис /Jaction формує команду виконання директиви action;
/КН – команда сформувати умови для компіляції модуля, що має задану кількість символів. Запис /KHcount дає інформацію про count символів. По замовчуванню – 8192;
/KS – сформувати умови для компіляції фіксованого об’єму пам’яті для строк. По замовчуванню – 150 кілобайт;
/L – генерувати протокол компіляції;
/LA – розкрити код, що генерується сегментними директивами високого рівня (.MODEL та .CODE);
/ML – розрізняти великі та малі букви;
/MU – конвертувати всі малі букви на великі;
/МХ – розрізняти ті великі і малі букви, які входять у склад зовнішніх символів;
/N – виключити з протоколу компіляції інформацію про таблицю зовнішніх символів;
/Р – перевірити програму на наявність команд, що модифікують сегмент коду;
/S – впорядкувати сегменти у відповідності з порядком їх появи у вихідному коді;
/Т – проігнорувати повідомлення про правильну компіляцію;
/V – опція, що ігнорується;
/W – генерувати попередження;
/X – включити в протокол компіляції гілки умовних директив, що не компілюються;
/Z – додати до повідомлень про помилки строки вихідного модуля, що розташовані в околі місць локалізації помилок;
/ZD – помістити в результуючий файл інформацію про номери строк вихідного модуля;
/ZI – помістити в результуючий файл повну інформацію про номери строк та символи вихідного модуля.
