Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Способи адресації МП К580 ВМ80




В МП використовуються п'ять наступних способів адресації.

1. Пряма адресація – коли молодша половина 16-ти розрядної адреси (LAD) міститься у 2-му байті 3-х байтової команди, а старша половина (HAD) – в її 3–му байті. Перший байт команди використовується для розміщення КОП. Формат такої команди має вигляд (мал. 1.6)

 

КОП - 1-й байт
LAD - 2-й байт
HAD - 3-й байт

Мал. 1.6 Формат команди при прямій адресації

Використання такої команди призводить або до зчитування МП даних з пам'яті, або до їх запису з МП в пам'ять (за наявною у команді адресою).

Позитивною якістю таких команд є простота їх реалізації, а недоліком – довжина у 3-и байти, що потребує 3-х МЦ, з яких 1-й – вибір коду команди, а 2-а інших – читання пам'яті.

2. Непряма (посередня) адресація. При необхідності багаторазового звернення до якоїсь чарунки пам'яті її адресу зручніше зберігати не в самій команді, а в одному з внутрішніх регістрів в МП. Тоді в команді потрібно вказати тільки номер (а верніше двійковий код) регістра, в якому зберігається адреса потрібної чарунки пам'яті. Така адресація зветься непрямою. Для збереження 16-ти розрядної адреси однобайтові регістри МП об'єднуються у регістрові пари, які поіменовані по назві першого регістра пари.

Регістрові пари кодуються наступним чином (табл. 1.3)

Таблиця 1.3

Регістрова пара Ім'я регістрової пари Двійковий код
ВС DE HL SP B D H SP  

У першому регістрі пари завжди зберігається старший байт адреси, а в другому – молодший байт. Зрозуміло, що двійковий код регістрової пари легко розміщується в однобайтовій команді разом з КОП, що дозволяє виконувати команди з непрямою адресацією всього лише за один МЦ. Це означає, що затрати часу при такій адресації значно менші, ніж при прямій адресації.

Як приклад, розглянемо схему виконання команди непрямого завантаження акумулятора вмістом чарунки пам'яті з адресою 00А1, яка зберігається в регістровій парі DE.

 
 

 


акумулятор А

 

 

 

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

3. Безпосередня адресація. В командах з безпосередньою адресацією дані операнда знаходяться в 2-му, або в 2-му і 3-му байтах, а в 1-му байті розміщується КОП даної команди. При такому способі адресації нема потреби вказувати будь-яку адресу пам'яті, бо дані беруться безпосередньо з команди, куди вони заносяться при програмуванні. Такими даними, як правило, є певні константи, які заздалегідь відомі програмісту.

На мал. 1.8 показана схема виконання команди безпосереднього завантаження акумулятора А даними, які зберігаються у 2-му байті команди.

 

 


 

 

 

 

4. Регістрова адресація. Якщо дані, що обробляються, вже знаходяться у внутрішніх регістрах МП, то звернутися до них можна вказавши лише двійкові коди регістрів безпосередньо в 1-му байті команди. Така адресація зветься регістровою. Оскільки в наявності в МП є 7-м регістрів, то для їх кодування застосовується 3-и двійкових розряди, а відповідні коди регістрів наведені в табл.1.4.

Таблиця 1.4

Ім'я регістра Двійковий код
В С D E H L A  

Як приклад, розглянемо схему виконання команди пересилки даних з регістра В до регістра С, коли В є регістр-джерело, а С – регістр-приймач. (мал. 1.9) Асемблерна назва такої однобайтової команди є MOV C, B.

 
 

 

 


 

Якщо в кодах регістрових команд (наприклад, пересилки) в полі кода-регістра-приймача або регістра-джерела присутній двійковий код 110, то це свідчить про те, що треба звернутися не до одного з наведених вище регістрів, а до деякої чарунки пам'яті (memory), яка умовно позначається як М. Адреса цієї чарунки повинна зберігатися в регістровій парі HL, при цьому старша півадреса розміщена в регістрі H, а молодша – в L. Команди, в яких разом з регістровою використовується непряма адресація, звуться командами з посередньо-регістровою адресацією.

Схему виконання команди з посередньо-регістровою адресацією розглянемо на прикладі однобайтової команди пересилки даних з пам'яті до регістру С, асемблерна назва якої є MOV C,M. (мал. 1.10).

 

 


5. Стекова адресація. При стековій адресації адреса операнда вказується показчиком стеку SP, в якому знаходиться поточна адреса чарунки зі стекової області пам'яті. Таким чином, стекова адресація є посередньою, а відзнакою від раніше розглянутого способу посередньої адресації є використання показчика стеку. Це безпосередньо витікає з коду команд роботи зі стеком.





Поделиться с друзьями:


Дата добавления: 2015-05-08; Просмотров: 958; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.