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

Практично будь-яка програма містить в собі перелік даних, з якими вона працює. Це можуть бути символьні рядки, призначені для виводу на екран; числа, що визначають хід виконання програми або що беруть участь в обчисленнях; адреси підпрограм, обробників переривань або просто тих або інших полів програми; спеціальні коди, наприклад, коди кольору символів, що виводяться на екран, і так далі. Для визначення даних використовуються, головним чином, три директиви асемблера: db (define byte, визначити байт) для запису байтів, dw (define word, визначити слово) для запису слів і dd (define double, визначити подвійне слово) для запису подвійних слів:

db 255

dw 6.5535

dd 100000000

Окрім перерахованих, є і інші директиви, наприклад df (define fanvord, визначити поле з 6 байт), dq (define quadword, визначити четверне слово) або dt (define tcraword, визначити 10-байтову змінну), але вони використовуються значно рідше.

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

  • ім'я - ідентифікатор, що відрізняє дану директиву від інших однойменних директив. У результаті обробки асемблером певної директиви цьому імені можуть бути привласнені певні характеристики;

  • код операції (КІП) і директива - це мнемонічні позначення відповідної машинної команди, макрокоманди або директиви транслятора;

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

типи операторів асемблера

  • Арифметичні оператори

  • Оператори зсуву

  • Оператори порівняння

  • Логічні оператори

  • Індексний оператор

  • Оператор перевизначення типу

  • Оператор перевизначення сегмента

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

  • Оператор одержання сегментної складової адреси виразу

  • Оператор одержання зсуву виразу

  1. Регістр AX в мові Асемблер

Базовий двобайтний регістр який використовується під час виконання арифметичних команд (множення, ділення…)

  1. Регістр AH в мові Асемблер

Однобайтний регістр який являється старшою частиною регістра АХ (використовується якщо АL переповнений)

  1. Регістр AL в мові Асемблер

Однобайтний регістр який являється молодшою (нижчою) частиною регістра АХ (використовується відразу при використанні АХ)

  1. Регістр BL в мові Асемблер

Однобайтний регістр який являється молодшою (нижчою) частиною регістра ВХ (використовується відразу при використанні ВХ)

  1. Регістр BX в мові Асемблер

Базовий двобайтний регістр який є єдиним вільним неприв’язаним до операцій регістром

  1. Регістр BH в мові Асемблер

Однобайтний регістр який являється старшою частиною регістра ВХ (використовується якщо ВL переповнений)

  1. Регістр CX в мові Асемблер

Базовий двобайтний регістр який використовується для створення циклів

  1. Регістр CH в мові Асемблер

Однобайтний регістр який являється старшою частиною регістра СХ (використовується якщо СL переповнений)

  1. Регістр CL в мові Асемблер

Однобайтний регістр який являється молодшою (нижчою) частиною регістра СХ (використовується відразу при використанні СХ)

  1. Регістр DX в мові Асемблер

Базовий двобайтний регістр загального призначення який найчастіше спарюють з АХ (якщо АХ переповнений)

  1. Регістр DH в мові Асемблер

Однобайтний регістр який являється старшою частиною регістра DХ (використовується якщо DL переповнений)

  1. Регістр DL в мові Асемблер

Однобайтний регістр який являється молодшою (нижчою) частиною регістра DХ (використовується відразу при використанні DХ)

  1. Регістр SР в мові Асемблер

Регістр SP. Покажчик стека забезпечує використання стека в пам'яті, дозволяє тимчасово зберігати адреса і інколи дані.

  1. Спеціальні регістри в мові Асемблер

Акумулятор і регістри Н і L є спеціальними регістрами. Вони є єдиними регістрами, які можуть бути прямо завантажені або записані в пам'ять. Акумулятор є єдиним регістром, який може бути інвертований, зрушено, непрямо завантажений з використанням адреси в парі регістрів В або D, побічно записаний в пам'ять за адресою, що міститься в парі регістрів В або D, або використаний в командах IN і Оut . Регістри Н і L становлять єдину пару, яка може бути використана побічно в арифметичних командах, при записі в пам'ять даних, заданих безпосередньо в команді, або при завантаженні і запису в пам'ять інших регістрів, відмінних від акумулятора. Регістри Н і L є також єдиною парою, яка може бути передана в лічильник команд або покажчик стека. Більш того, ці регістри використовуються як акумулятор подвійної довжини при складанні 16-розрядних чисел (команда DAD ). Регістри D і Е є в деякому сенсі також спеціальними, оскільки однією командою ( XCHG ) можна поміняти їх вміст з вмістом регістрів Н і L. Таким чином, регістри в 8080 і 8085 вельми асиметричні, і програміст повинен акуратно вибирати, для яких даних і адрес якими регістрами користуватися.

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