МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
||||||||||||||||||||||||||
Мова асемблераСистема команд Лекція №3. Поняття системи команд МП. Використання мови Асемблера. Класифікація команд по функціональному призна ченню. Види адресації операндів в командах. Тема 1.2. Система команд МП. Група команд, які може виконувати МП, називається його системою команд. Система команд МП може містити як маленьку кількість (вісім) так і більшу кількість (200) основних команд. Класифікація команд однієї системи може бути представлена наступним чином, рис.3.1
Рис.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 байти даних Читайте також:
|
|||||||||||||||||||||||||||
|