Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Асемблер ВІДПОВІДІ!!!.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
123.78 Кб
Скачать
  1. Специфікація типів даних

При програмуванні на мові асемблера використовуються дані наступних типів:

Безпосередні дані, що представляють собою числові або символьні значення, що є частиною команди.

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

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

Ці два типи даних є елементарними, або базовими; робота з ними підтримується на рівні системи команд мікропроцесора. Використовуючи дані цих типів, можна формалізувати і запрограмувати практично будь-яке завдання. Але наскільки це буде зручно - ось питання.

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

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

  1. Набір команд мікропроцесора.

Система команд мікропроцесора

Системою команд мікропроцесораназивається сукупність команд, які може

виконувати мікропроцесор.

Залежно від сукупності команд, які може виконувати мікропроцесор, вони поділяються

на такі види:

СІSС(Complex Instruction Set Computer) мікропроцесор із повним набором команд

(інструкцій) збільшеної довжини. Для підвищення продуктивності передбачається

збільшувати тактову частоту мікропроцесора;

RISC(Reduced Instruction Set Computer), де застосовано спрощену систему команд

однакового формату. Основними командами є команди типу регістр-регістр. Команди

поділено на поля, тому дешифрування таких команд спрощується;

MISC(Multipurpose Instruction Set Computer), де застосовано поєднання команд типу КІ8С

із мікропрограмним пристроєм пам'яті.

Всю сукупність команд мікропроцесора можна поділити на такі види:

• команди передачі даних;

• команди арифметичних операцій;

Система команд мікропроцесора

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

• команди передачі керування;

• ланцюжкові команди;

• команди керування мікропроцесором.

Для виконання команд мікропроцесор використовує регістри операційного пристрою, які

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

мікропроцесора зручно поділити на групи

Група регістрів загального призначення або регістрів даних складається з таких

двобайтних регістрів: АХ, ВХ,СХ, DХ. Особливістю цих регістрів е те, що старший (Н) і

молодший (L) байти цих регістрів можуть адресуватися окремо.

До складу групи вказівних та індексних регістрів входять двобайтні адресні регістри: SР,

ВР, SI, DI. Вони призначені зберігання двобайтних адрес.

Група сегментних регістрів складається з регістра коду команд СS, регістра даних DS.

регістра стека SS, регістра додаткових даних ЕS.

Останню групу регістрів складають регістр-вказівник команд ІР або програмний

лічильник РС, і регістр ознак.

Біти регістра ознак фіксують властивості результатів арифметичних і логічних операцій,

а також призначені для керування певними діями мікропроцесора. Бітами регістра ознак

фіксуються такі ознаки:

Система команд мікропроцесора

• АF— додатковий перенос із молодшої тетради (молодшого напівбайта) у старшу

тетраду (старший напівбайт);

• СF— перенос, який виникає під час виконання арифметичних і логічних операцій;

• ОF— переповнення, яке виникає під час виконання арифметичних операцій;

• SF— знак результату;

• РF— парність кількості одиниць, які містяться у молодшому байті результату;

• ZF— наявність нульового результату операції;

• DF— визначає напрям перегляду ланцюжкових даних;

• IF — ознака переривання;

• TF— перехід мікропроцесора в покроковий режим.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]