Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Безпосередня адресація припускає, що операнд (вхідний) знаходиться в пам'яті безпосередньо за кодом команди. Операнд звичайно являє собою константу, яку треба кудись переслати, до чого додати і т.д. Наприклад, команда може полягати в тому, щоб додати число 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. Команди безпосередньої адресації
Дата публикования: 2014-11-26; Прочитано: 448 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!