Скачать 2.05 Mb.
|
Тема 1.6 Программное обеспечение микропроцессорных систем ЛАБОРАТОРНАЯ РАБОТА №7 Разработка и исследование программ работы со стеком Учебные цели: Исследование методов использования стека при создании программ и подпрограмм. Учебные задачи: 2. Закрепление полученных теоретических знания по программированию микропроцессорных систем. 3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование. Образовательные результаты, заявленные во ФГОС третьего поколения: Студент должен: уметь: - выполнять требования технического задания по программированию микропроцессорных систем; - составлять программы на языке Ассемблера микропроцессорных систем; - создавать и отлаживать программы реального времени средствами программной эмуляции и на аппаратных макетах; - производить тестирование и отладку микропроцессорных систем. знать - программное обеспечение микропроцессорных систем; - базовую функциональную схему микропроцессорной системы; - методы тестирования и способы отладки микропроцессорных систем; - состояние производства и использования микропроцессорных систем; - особенности программирования микропроцессорных систем реального времени; - методы микропроцессорной реализации типовых функций управления. Задачи лабораторной работы: 1.Используя программу эмулятора микропроцессорной системы исследовать систему команд микропроцессора КР580ВМ80 и программы типовых функций управления; 2.Для ввода данных в стек используется участок ОЗУ с начальным адресом 1000h; 3.Практическое использование нового программного продукта. Обеспеченность занятия: 1. Учебно-методическая литература: - Костров Б.В., Ручкин В.Н. Микропроцессорные системы и контроллеры. Учебное пособие. М.,ДЕСС, 2007г,319 с. - Майоров В.Г., Гаврилов А.И. Практический курс программирования микропроцессорных систем. – М.: Машиностроение, 1999 г. - Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ: ИНФРА-М, 2005 - Палагута К.А. Микропроцессоры INTEL 8080, 8085 (КР580ВМ80А, КР1821ВМ85А) и их программирование/ К.А. Палагута. – М.:МГИУ, 2007. – 104 с. - Программирование микропроцессорных систем: Учеб. пособие для вузов /Под ред. В.Ф.Шаньгина. – М.: Академия., 2009. – 303 с. 2. Справочная литература - Конспект лекций «Микропроцессорные системы». Составитель Кузнецов Е.Г. Изд, ГБОУ СПО ЖГК, 2013 г.; - Система команд микропроцессора КР580ВМ80. 3.Технические средства обучения: - Персональный компьютер; - Принтер. 4. Программное обеспечение: - Операционная система Windows; - Программа - эмулятор микропроцессорной системы SHELLКР580. 5. Лабораторное оборудование: - Персональный компьютер; - Принтер. 6. Рабочая тетрадь в клетку
Краткие теоретические и учебно-методические материалы по теме лабораторной работы Подпрограммами называют модули программ, которые могут быть использованы неоднократно, причем обращение к подпрограммам (вызов) может быть осуществлен из любого места основной программы. При этом для запоминания адреса возврата в основную программу используется область памяти ОЗУ, организованная особым образом, получившую название стек. Его название происходит от английского слова Stack, т.е. кипа, стопка (бумаг). Назначение стека в том, чтобы сохранять текущее содержание всех регистров, если происходит прерывание основной программы. Образно стек можно представить в виде записи значений на отдельных листах бумаги и складывания их стопкой. Извлечение из стека происходит всегда в обратном порядке, т.е. только с верхушки стека. Иными словами, соблюдается принцип "последним вошел – первым вышел" (по-английски Last In - First Out, сокращенно LIFO). В любой момент времени в стек можно включить дополнительную информацию, но при извлечении первой всегда будет та, которая включена последней. Для работы со стеком необходимо загрузить его адрес в указатель стека (по умолчанию, указатель стека SP уже настроен на конец памяти). Обычно это делается одной из первых команд программы. Указатель стека загружается либо командой LXI SP, <�адрес стека>, либо командой SPHL. В последнем случае в указатель стека загружается содержимое регистра HL. Чаще всего стек используется явно для временного хранения текущего содержимого регистров общего назначения. Поместить данные в стек можно командой PUSH, а извлечь командой POP. Операнд команды указывает наименование регистровой пары или PSW. Нет никакой аппаратной зависимости между тем, откуда они впоследствии загружаются. Например, можно поместить данные в стек из одной регистровой пары и загрузить их в другую. Регистр признаков FL, входящий младшим байтом в состав PSW, можно сохранить в стеке или явно переслать через стек в один из рабочих регистров. Специальная команда XTHL позволяет обменять содержимое регистра HL с двумя байтами вершины стека. Значение указателя стека при этом не меняется. Адрес верхушки стека в текущий версии эмулятора равен 1000h. Вопросы для закрепления материала к лабораторной работе: 1. Почему непосредственно после выполнения команды загрузки в стек не требуется использовать команду уменьшения на 1 содержимого указателя стека? 2. Для какой цели используется начальная установка указателя стека? 3. Какая команда используется для передачи данных из стека? 4. Какое из указанных ниже действий может произойти при изъятии данных из стека, если его содержимое подверглось изменениям: - извлечение из стека; - загрузка в стек; - вложение подпрограмм; - нарушение работы программы? Задания для лабораторной работы: Задание №1: Исследование заданных программ.
Задание №2: Составить программу осуществляющую сложение двух чисел по адресам 0010,0011. Записать эти числа в регистры В и С и записать результат в регистр D. Запись содержимого этих регистров и PSW в стек. После исполнения программы составить таблицу: адреса ячеек стека и содержимого этих ячеек, регистры из которых производилась запись информации в стек.
Инструкция по выполнению лабораторной работы Задание №1: Исследование заданных программ.
Задание №2: Составить программу осуществляющую сложение двух чисел по адресам 0010,0011. Записать эти числа в регистры В и С и записать результат в регистр D. Запись содержимого этих регистров и PSW в стек. После исполнения программы составить таблицу: адреса ячеек стека и содержимого этих ячеек, регистры из которых производилась запись информации в стек. Составить графическое изображение выполнения команды ADD С Программа 6.1: lxi bc,8513 загрузить данные в ВС push bc запомнить ВС в стеке hlt останов Программа 6.2: lxi sp,0ffe загрузить указатель стека pop загрузить DE из стека hlt все Программа 6.3: mvi l,5 подготовка данных для mvi c,10 демонстрации команды push bc xthl обмен HL и вертушки стека xthl обмен HL и верхушки стека pop bc восстановить ВС mov a,b hlt Программа 6.4: рush psw [A] и [F] в стек pop hl [A] – H; [F] – L hlt останов Методика анализа результатов, полученных в ходе лабораторной работы Автоматическое сохранение и восстановление адреса основной программы при выполнении подпрограмм позволяет сделать подпрограммы вложенными, т. е. осуществить вызов одной подпрограммы из другой. Уровень вложенности для данного МП определяется размером стека. Помимо команд вызова подпрограмм и возврата из них, со стеком можно обмениваться информацией. С помощью команды PUSH RP осуществляется запись в стек содержимого регистра RP МП, а с помощью команды POP RP – запись данных из стека в регистр RP процессора. Эти команды однобайтные Порядок выполнения отчета по лабораторной работе
Образец отчета по лабораторной работе: ЛАБОРАТОРНАЯ РАБОТА №7 Разработка и исследование программ работы со стеком Учебные цели: Исследование методов программных способов маскирования данных и организация условных переходов в микропроцессорных системах Учебные задачи: 2. Закрепление полученных теоретических знания по программированию микропроцессорных систем. 3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование. Выполнение работы Задание №1. Программа 6.1: lxi bc,8513 загрузить данные в ВС push bc запомнить ВС в стеке hlt останов Программа 6.2: lxi sp,0ffe загрузить указатель стека pop загрузить DE из стека hlt все Программа 6.3: mvi l,5 подготовка данных для mvi c,10 демонстрации команды push bc xthl обмен HL и вертушки стека xthl обмен HL и верхушки стека pop bc восстановить ВС mov a,b hlt Программа 6.4: рush psw [A] и [F] в стек pop hl [A] – H; [F] – L hlt останов
Задание №2. 1.Составить программу осуществляющую сложение двух чисел по адресам 0010,0011. Записать эти числа в регистры В и С и записать результат в регистр D. Запись содержимого этих регистров и PSW в стек. 2.После исполнения программы составить таблицу: адреса ячеек стека и содержимого этих ячеек, регистры из которых производилась запись информации в стек.
Содержание памяти MVI HL,0010 MOV B,M MVI HL,0011 MOV C,M MOV A,B ADD C MOV D,A PUSH B PUSH C PUSH D PUSHPSW HLT Информация в регистрах МП и ячейках стека при выполнении задания 2. Таблица 1
3.Составить графическое изображение выполнения команды ADD С Ответы на контрольные вопросы: 1. 2. 3. 4. Анализ результатов, полученных в ходе лабораторной работы: Программный раздел содержит наборы программ для исследования на языке ассемблера для микропроцессоров 8080.Каждой программе предпосланы введение и комментарии; за каждой программой следует по крайней мере один пример ее использования. При исследовании программ была получена следующая информация: назначение программы, процедуру ее выполнения, используемые регистры, размер памяти, необходимый для программы и ее данных, а также специальные случаи, входные и выходные условия. С помощью команды PUSH RP осуществляется запись в стек содержимого регистра RP МП, а с помощью команды POP RP – запись данных из стека в регистр RP процессора. Эти команды однобайтные. В них содержится номер пары регистров МП. Сущность команд можно показать следующим образом: PUSH B: (SP – 1) B, (SP – 2) C; SP = SP – 2 POP D: E (SP), D (SP + 1); SP = SP + 2 При записи в стек содержимого пары регистров или программного счетчика по адресу SP – 1 записывается содержимое старшего регистра из указанной пары (в примере B) или старшего байта PCH (программного счетчика), а по адресу SP – 2 в стек записывается содержимое младшего регистра (в примере C) из указанной пары или младшего байта PCL (программного счетчика). При записи из стека данных в пару регистров или в программный счетчик в младший регистр регистровой пары или в PCL записывается число из адреса, указанного в указателе стека SP, а в старший регистр регистровой пары или в PCH – число, записанное по адресу SP + 1. В результате выполнения команды содержимое SP увеличивается на 2. Таким образом, при записи данных адреса стека убывают от больших к меньшим, а указатель стека SP всегда содержит последний адрес стека, в котором записано число. При разработке программ необходимо назначать область стека, записывая в SP адрес с помощью команды LXI SP, <�Адрес> или команды SPHL. РАЗДЕЛ 1 Тема 1.6 Программное обеспечение микропроцессорных систем ЛАБОРАТОРНАЯ РАБОТА №8 Программирование арифметических операций над многобайтными числами Учебные цели: Изучение способов организации и исследование программ выполнения арифметических операций. Учебные задачи: 2. Закрепление полученных теоретических знания по программированию микропроцессорных систем. 3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование. Образовательные результаты, заявленные во ФГОС третьего поколения: Студент должен: уметь: - выполнять требования технического задания по программированию микропроцессорных систем; - составлять программы на языке Ассемблера микропроцессорных систем; - создавать и отлаживать программы реального времени средствами программной эмуляции и на аппаратных макетах; - производить тестирование и отладку микропроцессорных систем. знать - программное обеспечение микропроцессорных систем; - базовую функциональную схему микропроцессорной системы; - методы тестирования и способы отладки микропроцессорных систем; - состояние производства и использования микропроцессорных систем; - особенности программирования микропроцессорных систем реального времени; - методы микропроцессорной реализации типовых функций управления. Задачи лабораторной работы: 1.Используя программу эмулятора микропроцессорной системы исследовать систему команд микропроцессора КР580ВМ80 и программы типовых функций управления; 2.Изучить команды арифметических операций МП КР580ВМ80 3.Практическое использование нового программного продукта. Обеспеченность занятия: 1. Учебно-методическая литература: - Костров Б.В., Ручкин В.Н. Микропроцессорные системы и контроллеры. Учебное пособие. М.,ДЕСС, 2007г,319 с. - Майоров В.Г., Гаврилов А.И. Практический курс программирования микропроцессорных систем. – М.: Машиностроение, 1999 г. - Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ: ИНФРА-М, 2005 - Палагута К.А. Микропроцессоры INTEL 8080, 8085 (КР580ВМ80А, КР1821ВМ85А) и их программирование/ К.А. Палагута. – М.:МГИУ, 2007. – 104 с. - Программирование микропроцессорных систем: Учеб. пособие для вузов /Под ред. В.Ф.Шаньгина. – М.: Академия., 2009. – 303 с. 2. Справочная литература - Конспект лекций «Микропроцессорные системы». Составитель Кузнецов Е.Г. Изд, ГБОУ СПО ЖГК, 2013 г.; - Система команд микропроцессора КР580ВМ80. 3.Технические средства обучения: - Персональный компьютер; - Принтер. 4. Программное обеспечение: - Операционная система Windows; - Программа - эмулятор микропроцессорной системы SHELLКР580. 5. Лабораторное оборудование: - Персональный компьютер; - Принтер. 6. Рабочая тетрадь в клетку
Краткие теоретические и учебно-методические материалы по теме лабораторной работы Так как МП серии КР580 не имеет специальных команд для работы с числами с плавающей точкой, то при составлении программ для этого процессора, как правило, используется представление чисел с фиксированной точкой. Восьмиразрядное слово данных позволяет представить число, как двоичное число со знаком, имеющее значение от –128 до +127. При этом отрицательные числа представляются в дополнительном коде, а старший разряд числа используется как знаковый. Такое представление чисел не позволяет выполнять арифметические операции с использованием переноса при сложении и заема при вычитании. Число с фиксированной точкой можно представить также двоичными числами без знака, имеющими значения от 0 до 255. Для МП БИС можно представить также числа в виде двоичного числа Binari-сoded-decimal (BCD), при котором каждый байт рассматривается как два полубайта, две тетрады, каждая из которых кодирует десятичную цифру. Такое представление позволяет закодировать 1 байт числа от 0 до 99. Невысокая разрядность адресуемой ячейки памяти в МП КР580 порождает необходимость в программах, реализующих арифметические операции с числами занимающими в памяти группу последовательных ячеек. Идея алгоритма, например сложения трех байтовых чисел, заключается в использовании команды ADC (сложение с заемом). По этой команде к сумме однобайтных слагаемых добавляется содержимое признака СY, в котором (на предыдущем шаге) формируется бит переноса из старшего разряда, т.е. перенос из младших байтов тригер переноса отбрасывается. Операция вычитания выполняется по тому же алгоритму. Микро-ЭВМ может представить арифметические числа с двойной или большей длиной машинного слова. Так как МП имеет 8-разрядное АЛУ, то операции с такими числами должны производиться по байтам, начиная с младших байтов. Так операция сложения чисел 17F5 + 3411 будет производиться следующим образом:
Из приведенных примеров видно, что при суммировании (вычитании) младших байтов чисел можно применять команду ADD (SUB), а при суммировании (вычитании) остальных байтов чисел необходимо использовать команду ADC (SBB), которая будет учитывать состояние разряда С регистра признаков МП. Вопросы для закрепления теоретического материала к лабораторной работе
Задания для закрепления теоретического материала к лабораторной работе Задание №1: Рассмотреть и исследовать программу П7.1 сложения трехбайтных чисел. Задание №2: Рассмотреть и иисследовать программу П7.2 вычитания многобайтных чисел. Задание №3: Составить программу сложения двухбайтных чисел, расположенных в ячейках 0010, 0011, и 0015, 0016 с записью результата в ячейки 0020, 0021. |
Методические указания по выполнению лабораторных работ Издательство Инженерная геодезия. Методические указания по выполнению лабораторных работ. Составители: Шешукова Л. В., Тютина Н. М., Клевцов Е.... |
Методические указания к выполнению kjrcobou и дипломной работ по курсу Методические указания к выполнению курсовой и дипломной работ по курсу «Экономика и организация производства на предприятия приборостроения»:... |
||
Методические указания по выполнению лабораторных работ по дисциплине... Методические указания по выполнению лабораторных работ рассмотрены и утверждены на заседании кафедры «Безопасность труда и инженерная... |
Методические указания для студентов по выполнению лабораторных и... Методические указания для студентов по выполнению лабораторных и практических работ |
||
Методические указания по выполнению практических и лабораторных работ... Учебно-методическое пособие предназначенодля студентов 3 курса, обучающихся по профессии 23. 01. 03 Автомеханик. Пособие содержит... |
Методические указания по выполнению лабораторных работ по дисциплине «Сметное дело» ... |
||
Методические указания к выполнению курсовой и дипломной работ по... Методические указания составлены применительно к выполнению курсовой работы по дисциплине: Экономика и организация производства на... |
Методические указания по выполнению практических и лабораторных работ... Методические указания предназначены для обучающихся по специальностям технического профиля 21. 02. 08 Прикладная геодезия |
||
Методические указания к выполнению лабораторных работ Омск 2006 П. С. Гладкий, Е. А. Костюшина, М. Е. Соколов, Проектирование баз данных: Методические указания к лабораторным работам. Омск: Издательство:... |
Сборник методических указаний для студентов по выполнению лабораторных работ дисциплина «химия» Методические указания для выполнения лабораторных работ являются частью основной профессиональной образовательной программы Государственного... |
||
Ю. А. Дадаян Сборник лабораторных работ по курсу Методические указания предназначены для студентов специальности 200106 «Информационно-измерительная техника и технологии» |
Методические указания к проведению лабораторных работ рпк «Политехник» Спецкурс по эксплуатации систем электроснабжения: Методические указания к проведению лабораторных работ / Сост. С. В. Хавроничев;... |
||
Методические указания по проведению лабораторных работ по дисциплине «Информатика» Методические указания по проведению лабораторных работ предназначены для студентов гоапоу «Липецкий металлургический колледж» технических... |
Методическое пособие по выполнению практических работ по междисциплинарному курсу Планирование численности и рациональной расстановки работников структурного подразделения по рабочим местам |
||
Методические указания по выполнению лабораторных работ Казань 201 Эксплуатация, диагностика и надежность гту: метод указания/ сост.: Б. М. Осипов, А. В. Титов, Р. Г. Сагадеев. Казань: Казан гос... |
Методические указания по выполнению лабораторных работ по дисциплине “Базы данных” Методические указания предназначены для студентов специальностей 230401 «Прикладная математика», 230105 «Программное обеспечение... |
Поиск |