- •Лабораторная работа №121
- •1.Анализ и совершенствование демонстрационных программ
- •1.1.Теоретический анализ работы программы rotate1
- •1.2.Cовершенствование программы rotate1
- •1.3Анализ работы. Программы rotate2 на adsim c использованием точек останова
- •2.Рассмотрение возможностей различных видов адресации
- •Раздел 2. Условие задачи1, рис.4, решение пунктов 2.1, 2.2, материалы по пункту 2.5. Вопросы по защите лабораторной работы
- •Вопросы по допуску к выполнению лабораторной работы
2.Рассмотрение возможностей различных видов адресации
Задача 1. Заполнить 8 младших адресов 7-ой строки РПД константой 0AAh (см.рис.3).
-
70h
71h
72h
73h
74h
75h
76h
77h
Рис.3. Адреса области РПД, заполняемые константой 0ААh.
Проанализируем возможности команд, описываемых мнемоникой
MOV X3,A (MOV Rn,A-регистровая адресация приемника; MOV ad,A –прямая адресация приемника; MOV @Ri, A –косвенная адресация приемника), для решения поставленной задачи.
2.1. Разработать программу, реализующую решение задачи 1, путем использования прямой адресации приемника, осуществляемой командой MOV ad,A.
2.2. Оценить возможности решения задачи 1, путем использования регистровой адресации приемника, осуществляемой командой MOV Rn,A.
2.3.Косвенная адресация приемника реализуется командой
MOV @Ri, A. Описание последней, читается по мнемонике как: «содержимое А идёт в регистр РПД, адрес которого указан в Ri»(M@Ri <=[A]).
Команда MOV @Ri, A предоставляет возможность эффективного решения задачи 1при использовании (см.рис.4) программной конструкции
«Простейший цикл». На рис. 4,в следует заполнить строки 1 и 3 командами, которые удовлетворяют комментариям, приведенным в соответствующих строках рис. 4,г.
В поле 2В(строка 2, столбец В на рис.4) вписана анализируемая команда MOV @Ri, A (выполняет основное действие цикла). В качестве команды, определяющей момент выхода из цикла, из множества команд передачи управления по условию, произвольным образом выбрана команда DJNZ R2,rel (см. поле 4В на рис. 4).
2.4. После заполнения полей рис.4,в написать исходный текст программы F1.asm, удовлетворяющей условиям задачи 1 (заполнение памяти константой).
|
1 |
Установка начальных параметров цикла |
|
F1: |
Задание числа циклов Задание константы Задание нач. адреса |
М: |
2 |
Основное действие цикла |
|
М: MOV @Ri, A
|
Загрузить очередную ячейку РПД |
|
3 |
Установка параметров следующего цикла |
|
|
Установить адрес следующей ячейки |
нет |
4 |
Проверка: Циклы все? |
|
DJNZ R2,rel(M) |
DEC R2, если NZ идти на М, иначе NOP |
да |
5 |
|
NOP |
Выход из цикла |
а) блок- б)назначение в) программа г) комментарии
схема блоков
Рис.4.Программная конструкция «Простейший цикл» для программы F1
2.5.Получить файлы F1.lst и F1.hex, на ADSIM первый и последний циклы прокрутить пошагово с отображением в отчете копий, фрагментов окон ADSIM.
Отчет должен содержать:
Раздел 1. Рис1 с комментариями, рис.2, табл.1,2,3,4, распечатки файлов: ROTATE1.ASM, ROTATE1.LST и ROTATE1.HEX с анализом связей LST и HEX файлов; распечатки файлов: ROTATE2.ASM, ROTATE2.LST и ROTATE2.HEX, копии с экрана окон ADSIM, снятые в процессе выполнения программы ROTATE2.