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


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


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


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


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


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


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


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


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


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



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

 

 

Програма мовою асемблера – набір речень, які можуть бути командами, макрокомандами, директивами або коментарями. Для запису речень використовуються наступні поняття:

· ім’я мітки – ідентифікатор, значенням якого є адреса першого байта того речення, яке він позначає;

· ім’я – ідентифікатор, за допомогою якого можна відрізнити дану директиву від інших;

· код операції (коп) і директива – мнемонічне позначення машинної команди, макрокоманди або директиви;

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

Припустимі символи:

1. Всі латинські букви A-Z, a-z. Великі і малі букви не розрізняються за домовленістю.

2. Цифри від 0 до 9.

3. Знаки ?, @, $, _, &.

4. Розділювачі , . : [ ] ( ) < > { } + – * / % ! “ ” ? \ = # ^

Речення формуються з лексем – наборів, які синтаксично нероздільні для мови допустимих символів. Лексемами є:

· Ідентифікатори – набори символів, які використовуються для позначення кодів операцій, імен змінних і міток. Ідентифікатор може складатися з одного або декількох символів. Як символ можна використовувати букви латинського алфавіту, цифри і спеціальні знаки – _, ?, $, @. Ідентифікатор не може починатися символом цифри. Довжина ідентифікатора до 255 символів, хоча транслятор сприймає лише перші 32, а решту ігнорує. Можна регулювати довжину ідентифікаторів, використовуючи опцію /mvn. Можна вказати, щоб транслятор розрізняв (опція /ml), не розрізняв (опція /mu) великі і малі букви (або розрізняв великі і малі букви (опція /mx) тільки в спільних ідентифікаторах);

· ланцюжки символів – набори символів, які знаходяться між апострофами або взяті в лапки;

· цілі числа в одній із систем числення: двійковій (набір двійкових цифр, після якого вказано символ b. Наприклад, 11010001b), десятковій та шістнадцятковій, причому шістнадцяткові числа – набір шістнадцяткових цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F), який закінчується символом h. Якщо цей набір починається символами a, A, b, B, c, C, d, D, e, E, f, F, то перед цим числом потрібно писати обов’язково 0;

Складові частини речень називаються операндами. Вони описують об’єкти, над якими або за допомогою яких виконуються певні дії. Наведемо класифікацію операндів:

· сталі (безпосередні операнди) – число, рядок, ім’я або вираз, які мають певні фіксовані значення. Ім’я не повинно бути переміщуваним, тобто залежати від адреси завантаження програми в пам’ять. Воно може бути визначене операторами equ або =

const equ 7

ind = const – 3

mov bl, ind; еквівалентно mov bl, 4; 4 тут безпосередній операнд

· переміщуваний операнд – будь-яке символьне ім’я, яке зображує деяку адресу пам’яті. Може позначати розташування команди в пам’яті (якщо це мітка) або даних (якщо це ім’я області пам’яті в сегменті даних).

· лічильник адреси – специфічний операнд. Позначається знаком $. Специфіка в тому, що коли транслятор зустрічає в початковій програмі цей символ, то підставляє замість нього поточне значення лічильника адреси.

· регістровий операнд – ім’я регістра (імена регістрів визначені в програмній моделі процесора).

Операнди можуть бути складовими частинами виразів, які є комбінаціями операндів і операторів. Вкажемо деякі оператори.

· арифметичні оператори. До них відносяться унарні оператори “+” і “–”, бінарні “+”, “–”, оператори множення “*”, цілочислового ділення “/”, одержання залишку від ділення “mod”;

· індексний оператор []. Наприклад

mov dx, mas[si] ; пересилка слова за адресою mas+(si) в регістр dx

· оператор перевизначення типу type ptr для перевизначення або уточнення типу мітки або змінної. Тип type може набувати значень: byte, word, dword, qword, tbyte, near, far. Наприклад:

d_wrd dd 0

mov al, byte ptr d_wrd +1; пересилка другого байта з подвійного слова

· оператор перевизначення сегмента : (дві крапки) заставляє обчислювати адресу відносно конкретної сегментної складової, яка задається явно

mov bx, fs:array; сегментна складова змінної array обчислюватиметься

;відносно сегментної складової з регістра fs

· оператор одержання сегментної складової seg повертає фізичну адресу сегмента для виразу, яким може бути мітка, змінна, ім’я сегмента або деяке символьне ім’я. Синтаксис цього оператора

seg вираз

· оператор одержання зміщення виразу offset, синтаксис якого

offset вираз

Приклад застосування останніх двох операторів

data segment

x dw 14

code segment

mov ax, seg x

mov es, ax

mov di, offset x; У парі регістрів es:di повна адреса x

 


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

  1. Адміністративно-командна система, її ознаки та механізм функціонування.
  2. Алгоритмічна конструкція повторення та її різновиди: безумовні цикли, цикли з після умовою та з передумовою.
  3. Базовий синтаксис деяких основних операторів
  4. Боротьба із зимовою слизькістю.
  5. Боротьба із зимовою слизькістю.
  6. Введення команд
  7. Вибрати команду Вставити рядки.
  8. Види вправ із синтаксису й пунктуації
  9. Висування зведеної команди радіаційного та хімічного захисту об’єкта в осередок ураження
  10. Відділення не має права залишати позицію, яку займає, і відходити без наказу командира взводу.
  11. Вплив на розвиток ринку праці в умовах адміністративно-командної економіки
  12. Вчинення злочину за попередньою змовою групою осіб.




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

<== попередня сторінка | наступна сторінка ==>
 | Гострий гнійний плеврит – це дифузне або обмежене гнійне запалення вісцерельного та паріетального листків плеври, яке призводить до нагромадження гною в плевральній порожнині.

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

  

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


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