Разработка и исследование программ работы со стеком

ЛАБОРАТОРНАЯ РАБОТА №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. Рабочая тетрадь в клетку

1. Ручка.

2. Карандаш простой.

3. Чертежные принадлежности: линейка

Инструкция по выполнению лабораторной работы

Задание №1: Исследование заданных программ.

2. Исследовать программу 6.1, после чего убедиться, что указатель стека уменьшается на 2.

3. Исследовать программу 6.2, после чего убедиться, что указатель стека увеличивается на 2.

4. Исследовать программу 6.3 и проследить за выполнением команды XTHL. Исследовать программу 6.4 и убедиться в сохранении слова состояния программы. Записать двоичный код этого слова.

Задание №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>

xthl обмен HL и вертушки стека

xthl обмен HL и верхушки стека

pop bc восстановить ВС

mov a,b

hlt

Программа 6.4:

рush psw [A] и [F] в стек

pop hl [A] – H; [F] – L

hlt останов

ЛАБОРАТОРНАЯ РАБОТА №7

Выполнение работы

Задание №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>

xthl обмен HL и вертушки стека

xthl обмен HL и верхушки стека

pop bc восстановить ВС

mov a,b

hlt

Программа 6.4:

рush psw [A] и [F] в стек

pop hl [A] – H; [F] – L

hlt останов

1. До выполнения программы адрес вершины стека был 100h, после выполнения команды PUSH адрес уменьшился на 2 и стал равным 0FFEh.

2. До: 0FFEh, после: 1000h.

3. Команда XTHL взаимно обменивает содержимое регистров: L с содержимым стека с адресом SP и содержимое регистра H с содержимым стека SP+1. При выполнении 2-х таких команд подряд содержимое не изменится.

4. Слово состояния сохраняется в стеке как один байт, с последующим увеличением SP на 2.

Задание №2. 1.Составить программу осуществляющую сложение двух чисел по адресам 0010,0011. Записать эти числа в регистры В и С и записать результат в регистр D. Запись содержимого этих регистров и PSW в стек.

2.После исполнения программы составить таблицу: адреса ячеек стека и содержимого этих ячеек, регистры из которых производилась запись информации в стек.

 
 
  адрес данные
 
 
  стек
B→ 00FE
  00FD
C→ 0FFC
  0FFB
D→ 0FFA
  0FF9
F→ 0FF8

Содержание памяти

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

Команда A FL B C М1/данные М2/данные М3/данные D
MVI H, 0010 - 0010/01
MOV B,M - 0010/01
MVI H, 0011 - 0010/01 0011/01
MOV C,M - 0010/01 0011/01
MOV A,B - 0010/01 0011/01
ADD C - 0010/01 0011/01
MOV D,A - 0010/01 0011/01
PUSH B   - 0010/01 0011/01 00FE/01 00FD/00
PUSH C   - 0010/01 0011/01 0FFC/01 0FFB/00
PUSH D   - 0010/01 0011/01 0FFA/02 0FF9/00
PUSHPSW   - 0010/01 0011/01 0FF8/14
HLT   - 0010/01 0011/01

3.Составить графическое изображение выполнения команды ADD С

Разработка и исследование программ работы со стеком - student2.ru

Ответы на контрольные вопросы:

1.

2.

3.

4.

Анализ результатов, полученных в ходе лабораторной работы:

Программный раздел содержит наборы программ для исследования на языке ассемблера для микропроцессоров 8080.Каждой программе предпосланы введение и комментарии; за каждой программой следует по крайней мере один пример ее использования. При исследовании программ была получена следующая информация: назначение программы, процедуру ее выполнения, используемые регистры, размер памяти, необходимый для программы и ее данных, а также специальные случаи, входные и выходные условия.

С помощью команды PUSH RP осуществляется запись в стек содержимого регистра RP МП, а с помощью команды POP RP – запись данных из стека в регистр RP процессора. Эти команды однобайтные. В них содержится номер пары регистров МП. Сущность команд можно показать следующим образом:

PUSH B: (SP – 1) f B, (SP – 2) f C; SP = SP – 2

POP D: E f (SP), D f (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.

ЛАБОРАТОРНАЯ РАБОТА №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. Рабочая тетрадь в клетку

1. Ручка.

2. Карандаш простой.

3. Чертежные принадлежности: линейка

Наши рекомендации