
- •2 Описание и принцип работы узлов учебной микроэвм
- •2. Описание клавиатуры и индикации
- •3. Команды системы “Монитор”
- •3.1. Индикация и изменение содержимого памяти
- •3.2. Индикация и изменение содержимого регистров
- •3.3. Передача управления программе пользователя
- •3.4. Определение контрольной суммы массива памяти
- •3.5. Заполнение массива памяти константой
- •3.6. Перемещение массива памяти в адресном пространстве
- •3.7. Прерывание выполнения программы пользователя
- •3.8. Пошаговое выполнение программы
- •2. Порядок выполнения
- •3.Содержание отчета
- •Контрольные вопросы
- •Практическое занятие 3 Программирование алгоритмов с циклической структурой
- •Общие указания
- •2. Порядок выполнения
- •Программирование алгоритмов с разветвленной структурой
- •Дешифрация адресного пространства мпс
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4.Контрольные вопросы
- •Практическое занятие 6 Построение модулей памяти микропроцессорных систем
- •1. Общие сведения
- •2. Задание для самостоятельной работы:
- •3.Порядок выполнения:
- •4. Содержание отчета:
- •Практическое занятие 7 Исследование и настройка параллельного адаптера
- •1. Общие сведения
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4.Контрольные вопросы
- •Методичні вказівки
- •«Компъютерная схемотехника»
- •91034 Р. Луганськ
Практическое занятие 3 Программирование алгоритмов с циклической структурой
Цель занятия: приобретение навыков программирования алгоритмов с циклической структурой.
Общие указания
Алгоритм циклической структуры — алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий. Эту последовательность предписанных действий называют циклом. Циклический алгоритм позволяет существенно сократить объем программы.
Для организации цикла необходимо задать: начальное назначение параметра цикла — значение переменной, которая будет изменяться при повторяемых циклах; изменение значения параметра цикла перед каждым повторением цикла; проверку условия выхода из цикла и переход к началу цикла, если условие не выполнено. Для организации цикла в программе используются команды сравнения и логические: ANA, ANI, XRA, XRI, ORA, ORI, CMP, CPI.
Инкрементирование (декрементирование) данных в регистрах или ячейках памяти: INR, DCR, INX, DCX и команды условных переходов: JC, JNC, JZ, JNZ, JP, JRE, JRO.
Типовая блок-схема циклического алгоритма представлена на рис.3.1.
В блоке 1 устанавливается адрес счетчика команд начала программы. В блок 2 с помощью команды пересылки MUI устанавливается значение счетчика (количество повторений цикла). В блоке 3 помещается основная программа вычислительного процесса. В блоке 4 программируется увеличение (уменьшение) на единицу содержимого регистров, в которых хранятся адреса памяти переменных вычислительного процесса и счетчика циклов. В блоке 5 производится проверка равенства 0 счетчика циклов. Содержимое счетчика циклов проверяется с помощью любой из команд сравнения и по результатам сравнения программируется условный переход на начало цикла или окончание программы. В блоке 6 программируется конец программы с помощью команды END.
В качестве примера выполнения циклического алгоритма служит программа перезаписи «память — память» (табл. 3.1).
Программа выполняет переписывание информации из одной области памяти с начальным адресом NAM в другую с начальным адресом VAM. В область памяти с начальным адресом NAM предварительно вносится необходимая информация.
Рис.3.1. Схема алгоритма
Таблица 3.1.Листинг программы
адрес |
код |
мнемоника |
|
комментарий |
|
|
ORG 815H
|
;определение начала программы |
|
|
|
MVI H,CONST
|
;загрузить в Н значение счетчика |
|
|
|
LXI B,NAM
|
;загрузить в ВС начальный адрес исходной области памяти |
|
|
|
LXI D,VAM
|
;загрузить в DE начальный адрес выходной области памяти |
|
|
|
LDAX B |
;загрузить в аккумулятор байт данных из памяти, адрес который находиться в регистре ВС |
|
|
|
STAX D |
;переписать из аккумулятора информацию по адресу, находящемуся в DE |
|
|
|
INX B |
;увеличить содержимое ВС на единицу |
|
|
|
INX D |
;увеличить содержимое DЕ на единицу |
|
|
|
DCR H |
;уменьшить содержимое Н на единицу |
|
|
|
JNZ M0 |
;переход, если не=0 |
|
|
|
END |
;конец программы |