КАТЕГОРИИ: Архитектура-(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) |
Способи адресації даних
Мнемонічна форма запису команд 8-ми і 16-бітові команди складно запам‘ятати і ототожнювати їх з фактичним призначенням. Тому застосовується скорочений запис назви команди шляхом мнемонічного позначення. Для цього зазвичай використовується три букви назви операції, виконуваної командою, наприклад: AND – логічне і; DEC – декремент (накопичення від’ємне); CLA (clear) – команда очищення; NOP – nooperation (нема операції); MOV (move) – пересилання; HLT (halt) – зупинка; INC – інкремент (накопичення додатнє); ADD – сумування; CLAA – очищення акумулятора А (у випадку двох акумуляторів в МП); CLAB – очищення акумулятора B (у випадку двох акумуляторів в МП). Тут А і В – адреси місцезнаходження оброблених даних. Якщо команда оперує числовими даними або адресами областей пам‘яті, то доцільно використання чисел в адресній частині команди. Наприклад, код операції з мнемонічною назвою JMP (jump) – перехід вимагає вказання адреси переходу. Так JMP 177756, де адреса виражена 6-ти розрядним вісімковим числом, двійковий еквівалент якого 1111 1111 1110 11102 є адресою області пам’яті. Мнемонічне позначення коду операції JMP легше запам’ятати ніж його вісімковий еквівалент 3038. Суміщенням скороченого буквенного позначення коду операції з числовою формою запису адреси є одною з найзручніших форм запису команди. Ця форма запису є складовою частиною команди при використанні мови ассемблера. Програма ассемблера перетворює мнемонічне позначення кодів операції у відповідні двійкові еквіваленти.
1. Неявна адресація Однобайтова команда 8-ми розрядного МП – це одна з 256 можливих комбінацій 8 біт, які утворюють машинне слово (байт). Якщо МП має пам’ять 64 кБайт, то необхідний доступ до 65536 областей пам’яті. Тому адресна частина команди повинна бути більшою тої, яка може надати 1-байтова команда. Окрім того, в команді завжди повинен бути вказаний код операції. Яким тоді чином можна використати 1-байтову команду для адресації до даних? Відповідь: 1-байтові команди не адресуються до даних, розташованих в пам’яті; вони керують даними, завантаженими в регістр, регістрову пару, або даними, що зберігаються в області пам’яті, адреса якої знаходиться в регістровій парі. Наприклад, 1-байтова команда пересилання даних з регістру А в регістр В складається з коду операції; адреси джерела даних (регістр А) і адреси приймача (отримувача) даних (регістр В).
Команди з неявною адресацією найбільш швидкодіючі, бо МП витрачає на їх виконання лише 2 мікроцикли: операцію вибору і операцію виконання. 2. Безпосередня адресація Код операції розташовується в першому байті. За кодом операції йдуть дані, які займають 1 або 2 байти. Ці дані беруться не з пам’яті, їх надає машині програміст при запису команди. Таким чином, при цьому не є необхідним вказання адреси пам’яті, необхідним є лише код операції, після якого записуються дані Наприклад, необхідно завантажити акумулятор 8-ми розрядним двійковим числом. Таке завантаження здійснюється при кожному виконанні програми. Вказану програму можна реалізувати командою, код операції якої вказує мікропроцесору завантажити в акумулятор дані довжиною 1 байт, які йдуть безпосередньо за кодом операції. 3. Пряма адресація Тут команди можуть мати довжину, яка дорівнює 2 або 3 байти. 1-й байт – код операції 2-й байт і якщо є 3-й – для адреси. Адреса вказує область пам’яті, в якій знаходяться дані, що піддаються обробці. Використання 2-го і 3-го байтів команди дозволяє адресуватися до будь якої з 65536 областей пам’яті. Тільки при прямій адресації явним чином задається адреса необхідних даних.
Приклад. Записати вміст акумулятора в пам’ять по адресі 000Е16.
4. Опосередкована регістрова адресація Реалізується командами довжиною в одне слово. Містить код операції і номер регістру, вміст якого – адреса місцезнаходження даних в пам’яті. Ця адресація зручна при звертанні до часто використовуваних областей пам’яті і особливо в тих випадках, коли дані організовані у вигляді деякого списку або файлу (набору). Інакше кажучи, використання опосередкованої адресації дає найбільший ефект при запису і читанні слідуючих одна за одною областей пам’яті.
Дата добавления: 2014-01-04; Просмотров: 768; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |