Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.23 Mб
Скачать

Міністерство освіти і науки, молоді та спорту України

Дрогобицький механіко-технологічний коледж

Звіт

Практична робота №4

з дисципліни

Основи програмування контролерів”

Виконав:

Ст. гр. ЕК-41

Ковальчук М.Д.

Прийняв:

Мураль М.М.

Дрогобич 201

ТЕМА: Засоби компіляції, лінкування і налагодження програм в СР/М для мікропроцесора intel 8080 (КР580ВМ80А).

МЕТА: Вивчити засоби компіляції, лінкування і налогоджування програм за допомогою компілятора СР/М для мікропроцесора Intel 8080 (КР580ВМ80А).

ЗАВДАННЯ: Набрати, скомпілювати та запустити програму задану викладачем. Опрацювати основні команди відлагоджувача програм СР/М.

Теоретичні відомості

СР/М (Control Program for Microprocessоrs) — операційна система для МПС (мікропроцесорних систем) на базі мікропроцесорів 8080, 8085, Z80, К580. Це діалогова система, розрахована на роботу з одним користувачем, що забезпечує файлову організацію програм і даних. Діалог організовується за допомогою команд системи. Набір команд, що найбільш використовуються подано нижче.

Внутрішні команди СР/М

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 *.* Затерти усі файли на диску.

Робота з компілятором ср/м

Набір тексту програми здійснюється любим текстовим редактором. Файли, що містять початкові тексти програм пишуть з розширенням filename.asm .

Компілятор СР/М запускається на виконання командою c.exe . Після цього з'являється промпт - [cpm]. Для виходу з системи набираєм [cpm] dos .

Для компіляції необхідно запустити команду [cpm] m filename.asm . В результаті компіляції в СР/М утворяться файли: filename.prn .

Після компіляції необхідно зібрати програму у виконавчий модуль, командою [cpm] l filename.asm . В результаті отримаєм файли filename.com

Зкомпільовану та злінковану програму необхідно перевірити у режимі відлагодження. Для запуску програми у відлагоджувачі запускаєм команду [cpm] d filename.com .

Інструментальні засоби динамічного відлагодження програм

Команди відлагодження програми: 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