Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Безпосередня адресація припускає, що операнд (вхідний) знаходиться в пам'яті безпосередньо за кодом команди. Операнд звичайно являє собою константу, яку треба кудись переслати, до чого додати і т.д. Наприклад, команда може полягати в тому, щоб додати число 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)





Дата публикования: 2014-11-26; Прочитано: 483 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (1.334 с)...