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


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


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


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


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


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


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


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


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


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



Тема : Безпосереднє адресування

Самостійна робота № 19

Безпосередня адресація припускає, що операнд (вхідний) знаходиться в пам'яті безпосередньо за кодом команди. Операнд звичайно являє собою константу, яку треба кудись переслати, до чого додати і т.д. Наприклад, команда може полягати в тому, щоб додати число 6 до вмісту якогось внутрішнього регістра процесора. Це число 6 буде розташовуватися в пам'яті, усередині програми в адресі, що слідує за кодом даної команди додавання.

У командах безпосередньої адресації операнд розташовується в байтах, що слідують безпосередньо за операційним кодом. Байт або байти, наступні за операційним кодом, частіше є операндами, а не значенням адреси. У цьому випадку дійсний адресу команди визначається знаком # прямо вказує на байт, наступний за операційним кодом. Безпосереднє значення обмежується одним або двома байтами, в залежності від розміру регістра, пов'язаного з командою. У таблиці 1 перераховані команди які використовують безпосередню адресацію.

Команди безпосередньої адресації, пов'язані з використанням індексного регістра (H: X), є трьохбайтовими: один байт - операційний код, два байти містять безпосередні дані. Нижченаведений приклад містить дві безпосередні команди: AIX (скласти безпосереднє значення з H: X) і CPHX (порівняти H: X з безпосереднім значенням). H: X спочатку очищується і потім послідовно инкрементируется на 1 до значення $ FFFF. Після досягнення стану, що визначається CPHX, програма переходить до START і процес необмежено повторюється.

Машинний код Мітка Операція Операнд Комментар
5F START CLRX   ; X = 0
8C   CLRH   ; H = 0
AF01 TAG AIX #1 ; (H:X) = (H:X) + 1
65FFFF   CPHX #$FFFF ; Порівняння (H:X) с $FFFF
26F9   BNE TAG ; Цикл виконуєтся до співпадіння значень
20F5   BRA START ; Почати спочатку

 

 

Таблиця 1. Команди безпосередньої адресації

Мнемоніка Команда
ADC Скласти безпосереднє значення, з перенесенням, з акумулятором (Add with Carry Immediate Value to Accumulator)
ADD Скласти безпосереднє значення з акумулятором (Add Immediate Value to Accumulator)
AIS Скласти безпосереднє значення, зі знаком, з покажчиком стека (Add Immediate Value (Signed) to Stack Pointer)
AIX Скласти безпосереднє значення, зі знаком, з індексним регістром (Add Immediate Value (Signed) to Index Register (H: X))
AND Виконати логічне AND безпосереднього значення з акумулятором (Logical AND Immediate Value with Accumulator)
BIT Виконати порозрядне порівняння безпосереднього значення з акумулятором (Bit Test Immediate Value with Accumulator)
CBEQA Порівняти акумулятор з безпосереднім значенням і перейти якщо дорівнює (Compare A with Immediate and Branch if Equal)
CBEQX Порівняти молодший байт індексного регістра з безпосереднім значенням і перейти якщо дорівнює (Compare X (Index Register Low) with Immediate and Branch if Equal)
CMP Порівняти акумулятор з безпосереднім значенням (Compare Accumulator with Immediate Value)
CPHX Порівняти індексний регістр з безпосереднім значенням (Compare Index Register (H: X) with Immediate Value)
CPX Порівняти молодший байт індексного регістра з безпосереднім значенням (Compare X (Index Register Low) with Immediate Value)
EOR Виконати виключаюче OR безпосереднього значення з акумулятором (Exclusive OR Immediate Value with Accumulator)
LDA Завантажити акумулятор безпосереднім значенням (Load Accumulator from Immediate Value)
LDHX Завантажити індексний регістр безпосереднім значенням (Load Index Register (H: X) with Immediate Value)
LDX Завантажити молодший байт індексного регістра безпосереднім значенням (Load X (Index Register Low) from Immediate Value)
ORA Виконати включаюче OR безпосереднього значення (Inclusive OR Immediate Value)
SBC Відняти безпосереднє значення з перенесенням (Subtract with Carry Immediate Value)
SUB Відняти безпосереднє значення (Subtract Immediate Value)

 



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

  1. Безпосереднє інтегрування
  2. Безпосереднє обчислення з використанням формули Ньютона-Лейбніца.
  3. Безпосереднє програмування відеопам'яті
  4. Безпосереднє спілкування з журналістами
  5. За мірою опосередкованості вирізняють безпосереднє і опосеред­коване спілкування, за тривалістю — короткочасне і тривале, за за­вершеністю — закінчене та незакінчене.
  6. Спостереження: безпосереднє та самоспостереження




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

<== попередня сторінка | наступна сторінка ==>
Тема : Пристрої збереження та передачі інформації | Тема :Програмований контроль переривань К580ВН59

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

  

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


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