ЗАСОБИ КОМПІЛЯЦІЇ, ЛІНКУВАННЯ І НАЛАГОДЖЕННЯ ПРОГРАМ В СР/М ДЛЯ МІКРОПРОЦЕСОРА Intel 8080 (КР580ВМ80А)

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Комп'ютери та мікропроцесорні системи
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національній університет "Львівська політехніка" ЗАСОБИ КОМПІЛЯЦІЇ, ЛІНКУВАННЯ І НАЛАГОДЖЕННЯ ПРОГРАМ В СР/М ДЛЯ МІКРОПРОЦЕСОРА Intel 8080 (КР580ВМ80А) Звіт до лабораторної роботи №1 з курсу "Комп'ютери та мікропроцесорні системи" Виконав: Студент групи КН-3 ЛЬВІВ 2008 Тема: ЗАСОБИ КОМПІЛЯЦІЇ , ЛІНКУВАННЯ І НАЛАГОДЖЕННЯ ПРОГРАМ В СР/М ДЛЯ МІКРОПРОЦЕСОРА Intel 8080 (КР580ВМ80А. Мета: Вивчити засоби компіляції, лінкування і налогоджування програм за допомогою компілятора СР/М для мікропроцесора Intel 8080 (КР580ВМ80А). 1. ЛАБОРАТОРНЕ ЗАВДАННЯ 1. Набрати, скомпілювати та запустити програму задану викладачем . 2. Опрацювати осноні команди відлагоджувача програм СР/М. 2. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ СР/М (Control Program for Microprocessоrs) - операційна система для МПС (мікропроцесорних систем) на базі мікропроцесорів 8080, 8085, Z80, К580. Це діалогова система, розрахована на роботу з одним користувачем, що забезпечує файлову організацію програм і даних. Діалог організовується за допомогою команд системи. Набір команд, що найбільш використовуються подано в підрозділі 2.1. 2.1 Внутрішні команди СР/М DIR (Роздрук списку файлів): DIR Друкувати список файлів текучого диску; DIR *.* Друкувати список усіх файлів розміщених на текучому диску; DIR *.ext Друкувати список усіх файлів з розширенням "ext"; DIR filename.* Друкувати список усіх файлів з ім'ям "filename"; DIR filename.ext Друкувати ім'я тільки вказаного файлу. TYPE (Проглянути текстовий файл): TYPE filename.ext Проглянути на консолі файл " filename.ext " REN (Зміна назви файлу): REN newname.ext=oldname.ext Поміняти ім'я файлу з " oldname.ext " на " newname.ext". SAVE (Збереження оперативної пам'яті у файл на диску): SAVE n filename.ext Записати n сторінок оператівної пам'яті (одна сторінка = 256 байтів), починаючи з адреси 100h, на диск у файл "filename.ext". ERA (Затерти): ERA filename.ext Затерти вказаний файл; ERA filename.* Затерти усі файли з ім'ям " filename "; ERA *.ext Затерти усі файли з розширенням "ext"; ERA *.* Затерти усі файли на диску. 2.2 Робота з компілятором СР/М Набір тексту програми здійснюється любим текстовим редактором. Файли, що містять початкові тексти програм пишуть з розширенням filename.asm . Компілятор СР/М запускається на виконання командою c.exe . Після цього з'являється промпт - [cpm]. Для виходу з системи набираєм [cpm] dos . Для компіляції необхідно запустити команду [cpm] m filename.asm . В результаті компіляції в СР/М утворяться файли: filename.prn . Після компіляції необхідно зібрати програму у виконавчий модуль, командою [cpm] l filename.asm . В результаті отримаєм файли filename.com Зкомпільовану та злінковану програму необхідно перевірити у режимі відлагодження. Для запуску програми у відлагоджувачі запускаєм команду [cpm] d filename.com . 2.3 Інструментальні засоби динамічного відлагодження програм Команди відлагодження програми: DDT VERS 1.0 D Вивести тег (192 комірок) пам'яті у шістнадцятковому форматі вміст з текучої та подальших комірок; Наприклад, вивід тегу пам'яті з адреси 100h по 1BFh, (адреси вказані на початку рядків, а далі байти інформації записані по адресах від 0 до F) : DDT VERS 1.0 -D 0100 01 ВС 0F 56 67 78 89 90 8C 65 54 34 D1 11 45 38 0110 62 34 78 4A 29 30 C0 8F 45 D4 09 38 88 9E 44 02 0120 94 0F 69 59 4B 39 E2 72 8C 92 44 E0 72 51 F2 77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01B0 33 44 C6 78 11 D0 77 45 F4 53 B4 58 A5 28 39 46 D start Вивести тег пам'яті у шістнадцятковому форматі, починаючи з комірки, яка розмищена за вказаною адресою ("start"); D start,end Вивести комірки пам'яті у шістнадцятковому форматі, починаючи з адреси "start" і закінчуючи адресою "end"; F start,end,data Записати у файл усі комірки пам'яті з адреси "start" до адреси " end " шістнадцяткове значення " data "; Ifilename.ext Утворити блок управління файлом і записати його під ім'ям "filename.ext " для того, щоб можна було завантажити файл з таким ім'ям в оперативну пам'ять за допомогою команли " R "; R Завантажити в оперативну пам'ять вміст файлу, ім'я якого вказане в команді "I" починаючи з текучої комірки; R start Завантажити в оперативну пам'ять вміст файлу, ім'я якого вказане в команді "I" починаючи з комірки за адресою "start"; L Реасемблювати і вивести на консоль вміст подальших комірок пам'яті починаючи з текучої комірки; L start Реасемблювати і вивести на консоль вміст подальших комірок пам'яті починаючи з комірки за адресою "start"; L start,end Реасемблювати і вивести на консоль вміст подальших комірок пам'яті починаючи з комірки за адресою "start" і закінчуючи адресою "end"; S start Вивести в шістнадцятковому форматі і змінити вміст комірок пам'яті за адресою " start ", продовжуючи обробку подальших комірок пам'яті до вводу символа "."; A start Вставити, починаючи з адреси "start", оператор мови Асемблера. Продовжувати обробку подальших комірок пам'яті до вводу символа "."; M start1,end1,start2 Скопіювати вміст області пам'яті, яка розміщена з адреси "start1", по адресу "end1", в іншу область пам'яті, що розміщена з адреси "start2"; G Виконати усю програму без переривань, починаючи з текучої адреси; Gstart Виконати програму без переривань, починаючи з адреси "start"; Gstart,end Виконати програму без переривань, починаючи з адреси "start" і перервати виконання в точці за адресою "end"; Gstart,end1,end2 Виконати програму без переривань, починаючи з адреси "start" і перервати виконання або в точці за адресою "end1", або в точці за адресою "end2"; Gend Виконати програму без переривань, з текучої адреси і перервати виконання в точці за адресою "end"; Gend1,end2 Почати виконання програми без переривань, починаючи з текучої адреси і перервати виконання або за адресою "end1", або за адресою "end2"; X Вивести текучий вміст регістрів центрального процесора; Наприклад, після виконання команди X на екран виведеться рядок: C1Z0M1E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI B,0FBC Xregister Вивести вміст регістра "register" центрального процесора. Unumber Виконати "number" машинних інструкцій і після їх завершення вивести вміст регістрів центрального процесора; Tnumber Трасування, виконання "number" машинних інструкцій, роздрукувати вміст регістрів центрального процесора після виконання кожної інструкції; Наприклад, після виконання команди T на екран виведеться рядок виконання команди LXI B,0FBC : C0Z0M0E0I0 A=00 B=0FBC D=0000 H=0000 S=0100 P=0103 JMP 013D 2.4 Програмні засоби організації програми Директиви асемблера визначають порядок компілювання, розміщення в пам'яті інформації, присвоюють значення символьним іменам, резервують пам'ять та виконують ряд інших функций. Директиви або псевдокоманди не виконують дій над даними, а лиш використовуються як задають повідомлення в процесі компіляції на машинну мову. На початку асемблерної програми для МП КР580ВМ80А необхідно використовувати директиву ORG. Формат директиви: [мітка:] ORG < вираз > , < вираз > директиви задає 16-ти бітову адресу, яка вказує комірку пам'яті в яку буде завантажуватись перший байт наступної команди або байт даних. Для програм відлагоджувача СР/М рекомендується на початку асемблерної програми вказувати директиву ORG з заданням початкової адреси 100 h, наприклад ORG 100h ; Задається абсолютний адрес 100h LXI H, area1 ; Адрес=100h LXI D, area2 ; Адрес=103h . . . . HLT ; Остання команда Програмною моделю мікропроцесора називають сукупність апаратних вузлів однокристальної інтегральної схеми (КР580ВМ80А), вміст і стан яких можна аналізувати та змінювати за допомогою команд програми. Мікропроцесор КР580ВМ80А містить фіксовану систему з 78 мнемонік команд, які включають 111 операцій для реалізації прикладних програм. Інструментальні засоби динамічного відлагодження програми дозволяють конролювати основні програмно-доступні вузли МП під час виконання програми: C0Z0M0E0I0 A=00 B=0FBC D=0000 H=0000 S=0100 P=0103 C,Z,M,E,I - регістр прапорців (C-перенесення, Z-нуль, M-знак, E-допоміжне перенесення, I-парності кількості одиниць). А - акумулятор (8- розрядний результат заноситься в А), B (B,C), D(D,E), H(H,L) - регістрові пари(включають по парі 8-розрядних регістрів), B,C,D,E,H - 8-розрядні регістри загального користування (РЗК), S (SP) - 16- розрядний вказівник вершини стеку (stack pointer), P (PC) - 16- розрядний лічильник команд (program counter). 3. Карта пам”яті 4.Текст програми org 100h mvi b,88 mov a,b sta 250h mvi a,27 sta 251h add b sta 252h nop hlt 5.Текст .prn – файлу 0100 ORG 100H 0100 0658 MVI B,88 0102 78 MOV A,B 0103 325002 STA 250H 0106 3E1B MVI A,27 0108 325102 STA 251H 010B 80 ADD B 010C 325202 STA 252H 010F 00 NOP 0110 76 HLT 6.Результати роботи 80MATE (tm) CP/M-80 Emulator 1.2 Copyright (c) 1984 Vertex Systems Inc. SN #007# 60K TPA E:[cpm] m lab11.asm CP/M MACRO ASSEM 2.0 0111 000H USE FACTOR END OF ASSEMBLY E:[cpm] l lab11.asm FIRST ADDRESS 0100 LAST ADDRESS 0110 BYTES READ 0011 RECORDS WRITTEN 01 E:[cpm] d lab11.com DDT VERS 1.0 NEXT PC 0180 0100 -t9 C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 MVI B,58 C0Z0M0E0I0 A=00 B=5800 D=0000 H=0000 S=0100 P=0102 MOV A,B C0Z0M0E0I0 A=58 B=5800 D=0000 H=0000 S=0100 P=0103 STA 0250 C0Z0M0E0I0 A=58 B=5800 D=0000 H=0000 S=0100 P=0106 MVI A,1B C0Z0M0E0I0 A=1B B=5800 D=0000 H=0000 S=0100 P=0108 STA 0251 C0Z0M0E0I0 A=1B B=5800 D=0000 H=0000 S=0100 P=010B ADD B C0Z0M0E0I1 A=73 B=5800 D=0000 H=0000 S=0100 P=010C STA 0252 C0Z0M0E0I1 A=73 B=5800 D=0000 H=0000 S=0100 P=010F NOP C0Z0M0E0I1 A=73 B=5800 D=0000 H=0000 S=0100 P=0110 HLT *Execution halted E:[cpm] d DDT VERS 1.0 -d250,252 0250 C2 4C 00 .L. - Висновок: на даній лабораторній роботі я ознайомився із засобами компіляції, лінкування і налагодження програм в СРМ для мікропроцесора Intel 8080.На практиці застосував усі можливості даного відлагоджувача.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!