
- •Робота з компілятором ср/м
- •Інструментальні засоби динамічного відлагодження програм
- •Програмні засоби організації програми
- •Текст програми
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Способи адресації операндів і команди пересилання даних однокристального мп кр580
- •Теоретичні відомості Способи адресації в мп кр580
- •2.2. Команди пересилання даних мп кр580
- •Наприклад :
- •2.3. Стек і команди роботи зі стеком в однокристальному мп кр580
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. Короткі теоретичні відомості
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. 6. С умова адреси - умовний виклик підпрограми.
- •2. 8. R умова - умовне повернення з підпрограми.
- •2. 10. Організація підпрограм.
- •Карта пам’яті Текст програми
- •Результати виконання програми:
- •Теоретичні відомості
- •Арифметична операція множення
- •Арифметична операція ділення
- •Словесний опис алгоритму
- •Приклад множення чисел
- •Запис початкових даних
- •Додання
- •Другого множника
- •Зсув першого множника
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Теоретичні відомості
- •Арифметична операція додавання чисел в bcd кодах
- •2.2 Арифметична операція віднімання чисел в bcd кодах
- •2.3 Арифметична операція додавання/віднімання знакових чисел в bcd кодах
- •Перетворення чисел двійково-десяткового формату в двійковий формат і з двійкового формату в bcd-коди.
- •Карта пам'яті
- •Код програми
- •Зміст файлу lr6.Prn
- •Результати виконання програми
- •Теоретичні відомості
- •Додавання та віднімання багаторозрядних чисел цілого типу
- •Множення та ділення багаторозрядних чисел цілого типу
- •Арифметичні операції над дійсними числами
- •3.1 Арифметичні операції над числами в форматі з фіксованою комою
- •Арифметичні операції над числами в форматі з плаваючою комою
- •Код програми
- •Зміст файлу lr7.Prn
- •Результати виконання програми
Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
Кафедра САПР
Звіт
Лабораторна робота №2
з дисципліни
“Архітектура комп'ютера”
на тему:
Способи адресації операндів і команди пересилання даних однокристального мп кр580
Виконав:
Ст. гр. КН-317
Мураль М. М.
Прийняв:
Головацький Р. І.
Львів 2008
ТЕМА: Способи адресації операндів і команди пересилання даних однокристального МП КР580
МЕТА: Вивчити способи адресації операндів і команди пересилання даних в однокристальному мікропроцесорі (МП) КР580, набути практичні навики складання і налагодження програм з використанням цих команд.
ЗАВДАННЯ: Через регістрову пару записати в пам'ять послідовність даних 17, 19, 15, 13, 12, 11. 3-й і 4-й елемент прочитати за допомогою стеку і ввести в регістрову пару Н.
Теоретичні відомості Способи адресації в мп кр580
Пам'ять МП КР580 має байтову структуру можлива адресація в пам'яті будь-якого байта. Ширина вибору з пам'яті - 1 байт. При звертанні до пам'яті використовуються 16-розрядні (двобайтові) адреси. Адресний простір МП КР580 становить 64 Кбайти. Нумерація бітів акумулятора, регістрів і байта пам'яті показана на рис. 1.
Система команд МП КР580 містить 244 команди. Команди складаються з одного, двох або трьох байтів і знаходяться в пам'яті (оперативній або постійній). Багатобайтові команди зберігаються в сусідніх комірках пам'яті.
В однобайтових командах байт використовується для задання коду виконуваної операції (рис.2,а). Однобайтові команди це команди обміну з пам'яттю, арифметичні, логічні, зсувів, операції зі стеком, керування системою переривань.
Двобайтові команди - це команди з безпосереднім операндом або команди вводу/виводу (Рис.2,6). Перший байт команди містить код виконуваної операції, а другий - або безпосередній операнд, або операнд адреси порту вводу/виводу.
Трибайтові команди містять у першому байті код виконуваної операції, а в другому або адреси пам'яті, або два байти безпосередніх даних (рис.2,в).
б)код операції дані або адреси
До команд, які використовують цей формат, відносяться команди переходів до підпрограм, безумовних і умовних переходів, завантаження регістрів і пам'яті. Необхідно звернути увагу на спосіб написання адреси або безпосереднього операнда в трибайтовій команді. Другий байт команди містить молодшу половину адреси або безпосереднього операнда, а третій байт - старшу.
1.Операнд, який розуміється. В команді не задаються явно ні адреса операнда, ні він сам. Операнд розуміється і фактично задається кодом операції команди. найчастіше таким операндом є одиниця, що додається чи віднімається від попереднього значення числа Наприклад :
INR А (Збільшити на 1 вміст акумулятора)
коп
2. Неявна адресація. При цьому способі адресації адреса одного або двох операндів неявне задається в йоді операції. Операція може, наприклад, виконуватися вмістом акумулятора , який адресується кодом команди і спеціамно його вказувати не потрібно. У МП КР580 перший операнд завжди знаходиться в акумуляторі, а другий може бути адресований прямо, непрямо або безпосередньо.
Наприклад :
DAA (Виконати десяткове доповнення акумулятора)
КОП
3. Безпосередня адресація. При безпосередній адресації оеранд є частиною виконуваної команди (рис. 3)
LHLD ADDR ; (L)<-((ADDR)); (H)<-((ADDR+1));
PC - лічильник команд. Цей спосіб адресації використовується при необхідності включення в програму фіксованих значень (констант). У МП КР580 допускається безпосередньо адресувати 8-бітні (байт <В2>) і 16-бітні слова (<В2> - молодший байт, <ВЗ> - старший байт). Наприклад :
ADI 80H
КОП 80Н
Вміст другого байта команди додається до вмісту акумулятора. Результат записується в акумулятор.
4.Пряма регістрова адресація. У полі операндів команди задаються адреси регістрів загального призначення (РЗП) A,B,C,D,E,H,L (рис.4). РЗП
У МП КР580 використовується трирозрядне поле для вибору одного з семи РЗП. Наприклад : MOV Е,С
КОП КОДИ РЕГІСТРІВ
Переслати операнд з регістра С в регістр Е. Коди регістрів Е-011, С-001.
5. Пряма адресація. У полі операнда міститься повна 1б-6ітна адреса байта пам'яті (рис.5)
За допомогою прямої адресації можна звертатип до будь-якого байта адресного простору. Наприклад : STA 800Н
КОП ВИКОНУВАНА АДРЕСА
Вміст акумулятора пересилається в комірку пам'яті, адреса якої вказана у другому і третьому байтах команди (0800Н).
6.
Непряма
регістрова
адресація.
В
адресному
полі
команди
вказується
код
пари
регістрів,
в
якій
міститься
адреса
комірки
пам'яті,
де
розміщені
потрібні
дані
(рис.6).
Старші біти адреси зберігаються у першому регістрі пари, моЛодші- у другому. Наприклад : STAXB
КОД ПАРИ ВС
Непрямий запис вмісту акумулятора в пам'ять. Вміст акумулятора пересилається в комірку пам'яті, адреса якої задана в парі регістрів ВС.
7. Стекова адресація. При стековій адресації реалізується безпосереднє завдання операнда. Дані заносяться в стек або зчитуються зі стеку, на початок якого вказує вміст вказівника стеку (SP). Наприклад PUSH В
КОД ПАРИ ВC