- •Запитання на тести «Архітектура еом»
- •Дайте означення плата,
- •Дайте означення чіп,
- •Дайте означення контролер,
- •Дайте означення порт,
- •Дайте означення шина
- •Дайте означення материнські плати
- •Дайте означення Процесора
- •Дайте означення Відеоадаптера
- •Дайте означення контролерів (див 3 )
- •Дайте означення функції контролерів
- •Дайте означення bios.
- •Дайте означення жорсткого диску
- •Дайте означення Носія інформації
- •Для чого застосовують Мову програмування Асемблер
- •Перевага Асемблера
- •Недоліки Асемблера
- •Дайте означення даних в асемблері
- •Командa mov в мові Асемблер
- •Командa mvi в мові Асемблер
- •Наприклад :
- •Команди множення в мові Асемблер та використання прапорців для цієї команди
- •Команди ділення в мові Асемблер та використання прапорців для цієї команди
- •Синтаксис
- •Алгоритм
- •Состояние флагов после выполнения команды
- •Описание
- •Примеры
- •Проблеми переповнення та методи боротьби з ними в мові Асемблер(зошит)
- •Команди переходів в мові Асемблер
- •Побудова циклів в мові Асемблер
- •Команди зсувів в мові Асемблер
- •Циклічні зсуви в мові Асемблер
Дайте означення даних в асемблері
Практично будь-яка програма містить в собі перелік даних, з якими вона працює. Це можуть бути символьні рядки, призначені для виводу на екран; числа, що визначають хід виконання програми або що беруть участь в обчисленнях; адреси підпрограм, обробників переривань або просто тих або інших полів програми; спеціальні коди, наприклад, коди кольору символів, що виводяться на екран, і так далі. Для визначення даних використовуються, головним чином, три директиви асемблера: 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-байтову змінну), але вони використовуються значно рідше.
мітка - ідентифікатор, значенням якого є адреса першого байта того речення вихідного тексту програми, що він позначає;
ім'я - ідентифікатор, що відрізняє дану директиву від інших однойменних директив. У результаті обробки асемблером певної директиви цьому імені можуть бути привласнені певні характеристики;
код операції (КІП) і директива - це мнемонічні позначення відповідної машинної команди, макрокоманди або директиви транслятора;
операнди - частини команди, макрокоманди або директиви асемблера, що позначають об'єкти, над якими провадяться дії. Операнди асемблера описуються виразами із числовими й текстовими константами, мітками й ідентифікаторами змінних з використанням знаків операцій і деяких зарезервованих слів
типи операторів асемблера
Арифметичні оператори
Оператори зсуву
Оператори порівняння
Логічні оператори
Індексний оператор
Оператор перевизначення типу
Оператор перевизначення сегмента
Оператор іменування типу структури
Оператор одержання сегментної складової адреси виразу
Оператор одержання зсуву виразу
Регістр AX в мові Асемблер
Базовий двобайтний регістр який використовується під час виконання арифметичних команд (множення, ділення…)
Регістр AH в мові Асемблер
Однобайтний регістр який являється старшою частиною регістра АХ (використовується якщо АL переповнений)
Регістр AL в мові Асемблер
Однобайтний регістр який являється молодшою (нижчою) частиною регістра АХ (використовується відразу при використанні АХ)
Регістр BL в мові Асемблер
Однобайтний регістр який являється молодшою (нижчою) частиною регістра ВХ (використовується відразу при використанні ВХ)
Регістр BX в мові Асемблер
Базовий двобайтний регістр який є єдиним вільним неприв’язаним до операцій регістром
Регістр BH в мові Асемблер
Однобайтний регістр який являється старшою частиною регістра ВХ (використовується якщо ВL переповнений)
Регістр CX в мові Асемблер
Базовий двобайтний регістр який використовується для створення циклів
Регістр CH в мові Асемблер
Однобайтний регістр який являється старшою частиною регістра СХ (використовується якщо СL переповнений)
Регістр CL в мові Асемблер
Однобайтний регістр який являється молодшою (нижчою) частиною регістра СХ (використовується відразу при використанні СХ)
Регістр DX в мові Асемблер
Базовий двобайтний регістр загального призначення який найчастіше спарюють з АХ (якщо АХ переповнений)
Регістр DH в мові Асемблер
Однобайтний регістр який являється старшою частиною регістра DХ (використовується якщо DL переповнений)
Регістр DL в мові Асемблер
Однобайтний регістр який являється молодшою (нижчою) частиною регістра DХ (використовується відразу при використанні DХ)
Регістр SР в мові Асемблер
Регістр SP. Покажчик стека забезпечує використання стека в пам'яті, дозволяє тимчасово зберігати адреса і інколи дані.
Спеціальні регістри в мові Асемблер
Акумулятор і регістри Н і L є спеціальними регістрами. Вони є єдиними регістрами, які можуть бути прямо завантажені або записані в пам'ять. Акумулятор є єдиним регістром, який може бути інвертований, зрушено, непрямо завантажений з використанням адреси в парі регістрів В або D, побічно записаний в пам'ять за адресою, що міститься в парі регістрів В або D, або використаний в командах IN і Оut . Регістри Н і L становлять єдину пару, яка може бути використана побічно в арифметичних командах, при записі в пам'ять даних, заданих безпосередньо в команді, або при завантаженні і запису в пам'ять інших регістрів, відмінних від акумулятора. Регістри Н і L є також єдиною парою, яка може бути передана в лічильник команд або покажчик стека. Більш того, ці регістри використовуються як акумулятор подвійної довжини при складанні 16-розрядних чисел (команда DAD ). Регістри D і Е є в деякому сенсі також спеціальними, оскільки однією командою ( XCHG ) можна поміняти їх вміст з вмістом регістрів Н і L. Таким чином, регістри в 8080 і 8085 вельми асиметричні, і програміст повинен акуратно вибирати, для яких даних і адрес якими регістрами користуватися.
