Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Мова асемблера

Система команд

Лекція №3. Поняття системи команд МП. Використання мови Асемблера. Класифікація команд по функціональному призна ченню. Види адресації операндів в командах.

Тема 1.2. Система команд МП.

Група команд, які може виконувати МП, називається його системою команд. Система команд МП може містити як маленьку кількість (вісім) так і більшу кількість (200) основних команд.

Класифікація команд однієї системи може бути представлена наступним чином, рис.3.1

 

Основні Додаткові
Арифметичні
додавання, віднімання, інкрементування, порівняння, заперечення додавання з переносом, віднімання з займом, множення та ділення
Логічні
І, АБО, ВИКЛЮЧАЮЧЕ АБО, НЕ (заперечення), зсув вправо, зсув вліво арифметичний зсув вправо, циклічний зсув вправо та вліво, циклічні зсуви вправо та вліво з переносом та тестування
Команди передачі даних
завантаження (загрузка), розміщення, переміщення, введення (ввод), виведення (вивід) команди обміну, скидання та ініціалізації.
Команди розгалуження (команди прийняття рішень)
безумовний перехід; перехід, якщо нуль; перехід, якщо не нуль; перехід, якщо рівність; перехід, якщо нерівність; перехід, якщо додатне; перехід, якщо від’ємне. перехід, якщо більше чи менше; перехід, якщо зсув або ні; перехід, якщо переповнення або ні.
Команди виклику підпрограми
CALL – виклик CALL, якщо нуль; CALL, якщо не нуль; CALL, якщо додатне або не додатне
Інші команди
немає операції, помістити в стек, вийти зі стеку, очікування, зупинки, переривання активізації чи скидання, десяткової корекції.

 

Рис.3.1. Класифікація команд типової систеим команд

Систему команд мікропроцесора описують на мові асемблера.

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

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

Всі оператори записуються за допомогою символів коди ASCII.

Мітки відділяються від поля мнемоніки двокрапкою:

МІТКА: MOVA, В; Команда пересилки

Мітки починаються з букви і відрізняються першими п'ятьма символами. Не можна записувати однакову мітку в декількох операторах, проте в одному операторові можна записати зразу декілька різних міток. Мітками позначають лише тих операторів, на яких є заслання з інших операторів програми. При трансляції кожній мітці привласнюється 16-розрядна адреса першого байта поміченої команди:

JMP МІТКА; Команда переходу

МО V В, С;

… … … …

МІТКА: INR А; Помічений оператор

У полі операції записують мнемоніку команди. Мнемоніка відділяється від поля операндів як мінімум одним пропуском.

У полі операндів розміщують один або два операнди. У командах без операндів це поле вільне. Як операнди використовують імена регістрів і регістрових пар, мітки або безпосередні дані. Двійкові дані закінчуються символом В, вісімкові — Q, десяткові — D (може опускатися), шістнадцятиричні — Н; якщо в шістнадцятиричному числі перший знак — буква, то перед нею пишуть цифру 0. Приклад завантаження даних:

МІТКА: MVIA, ОЕН; шістнадцятиричних

MVIВ, 15; десяткових

MVI С, 15 Q; вісімкових

MVIL, 111В; двійкових

У операнд можна записувати один або два символи коди ASCII, які беруться в лапки. Після трансляції запису символів підставляються їх двійкові коди.

Значення операндів можна задавати виразами, які обчислюються під час трансляції:

МІТКА: MVI В, (30+40)/2

МОV 7/2+4, 04Н

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

До основних директив відносяться:

• управління трансляцією ORG, END;

• визначення даних і резервування в пам'яті області даних DB, DW, DS.

Директива ORG (с початку) використовується для установки початкової адреси програми:

МІТКА: ORG 0800Н

При трансляції асемблер привласнює своєму лічильнику адреси значення 0800Я; за цією адресою в програмі буде розташований перший байт команди або даних. Якщо на початку програми директива ORG відсутня, то лічильнику адреси привласнюється нульове значення. Якщо в директиви ORG є мітка, то їй привласнюється адреса елементу пам'яті, наступної за останнім байтом об'єктної коди попереднього оператора.

Директива END (кінець) записується в останньому рядку вихідної програми і повідомляє асемблер про її завершення:

МІТКА: END

Якщо в директиві END записана мітка, то їй привласнюється адреса байта, наступного за останнім байтом об'єктної коди попереднього оператора.

Директиву DB (визначення байтів) використовують для запису в пам'ять масиву однобайтових даних:

МІТКА: DB СПИСОК

Операнд СПИСОК може бути послідовністю байтів даних, відокремлених один від одного комами, або символів, узятих в лапки. Якщо в директиві DB використовується мітка, то їй привласнюється адреса першого байта масиву даних. Використання міток в директиві DB дозволяє організувати символічну адресацію даних:

МІТКА1: DB 15, 1, 24, 50; Запам'ятати чотири байти даних

МІТКА2: DB " Рядок "; Запам'ятати п'ять символів

У першій директиві число 15 запам'ятовується за адресою МЕТКА1, число 1 — за адресою МІТКА 1+1 і т. д..

Директиву DW (визначення слова) використовують для запису в пам'ять масиву двобайтових даних:

МІТКА: DW СПИСОК

Операнд СПИСОК задає послідовність 16-розрядних даних. При виконанні директиви DW молодший байт першого даного запам'ятовується за поточною адресою (адреса мітки), а старший байт — за адресою на одиницю більше. Потім ці дії виконуються для наступних даних:

DATA: DW 1100Н, 0222Н

В даному прикладі число 1100Н запам'ятовується за адресою DATA, Data+l, а число 0222Н — за адресою Data+2, Data+3. Початкова адреса може задавати директива ORG.

Директиву DS (визначення пам'яті) використовують для резервування області пам'яті для даних:

МІТКА: DS ЧИСЛО

Значення операнда ЧИСЛО визначає кількість елементів (байтів) пам'яті, що резервуються для запам'ятовування даних. Вміст цієї області не визначається. Якщо в директиві DS використовують мітку, то їй привласнюють адресу першого байта резервованої області пам'яті:

TABLE: DS 64; Резервують 64 байти даних


Читайте також:

  1. Синтаксис команд мовою асемблера




Переглядів: 1665

<== попередня сторінка | наступна сторінка ==>
Архітектура мікропроцесорів | Формати команд і даних. способи адресації

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.