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

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

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

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

2017-09-28 240
Инструкция по выполнению лабораторной работы 0.00 из 5.00 0 оценок
Заказать работу

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

 


Поделиться с друзьями:

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

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



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

0.007 с.