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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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



Задание №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 останов

 

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

Автоматическое сохранение и восстановление адреса основной программы при выполнении подпрограмм позволяет сделать подпрограммы вложенными, т. е. осуществить вызов одной подпрограммы из другой. Уровень вложенности для данного МП определяется размером стека.

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

Порядок выполнения отчета по лабораторной работе

 

1. Наименование и цель работы.

2. Программы 6.1 – 6.4

3. Составленную программу и заполненную таблицу с результатами её исследования.

4. Графическое изображение порядка выполнения команды ADD C

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

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

Образец отчета по лабораторной работе:

ЛАБОРАТОРНАЯ РАБОТА №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>

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 С

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

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.

 






Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

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

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...





© cyberpedia.su 2017 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.013 с.