- •Общие сведения о микропроцессорах, основные определения и классификация
- •Общая структурная схема микропроцессора
- •Два подхода в построении уу микропроцессора
- •Структурная схема мп со схемной логикой управления
- •Принцип микропрограммного управления. Структурная схема мп на основе программируемой логики управления
- •Типовая структурная схема мпс с мультиплексируемой шиной адресов и данных
- •Управление памятью и внешними устройствами
- •Структура микропроцессора к1821вм85а
- •Блок регистров мп к1821вм85а
- •Блок управления мп к1821вм85а
- •Синхронизация и последовательность действий мп к1821вм85а
- •Система прерываний
- •Последовательный ввод-вывод
- •Система команд мп к1821вм85а
- •Пример выполнения программы
- •Приемы программирования микропроцессоров
- •Язык Ассемблера
- •Программирование последовательных участков алгоритма
- •Программирование циклических вычислительных процессов
- •Составление программ, содержащих подпрограммы
- •Общие сведения об интерфейсных схемах
- •Шинные формирователи
- •Буферные регистры
- •Параллельные периферийные адаптеры (ппа)
Программирование циклических вычислительных процессов
При программировании участков алгоритмов, содержащих разветвления и циклы, используются команды условных переходов. При выполнении этих команд МП проверяет состояние соответствующего разряда регистра флажков RF. Если при проверке условие не подтверждается, то выполняется следующая по порядку команда программы. Все команды условных переходов трехбайтные. Первый байт содержит код команды, второй и третий байты – адрес команды, которой передается управление. Таким образом, команды условных переходов позволяют строить ветвящиеся алгоритмы и в зависимости от текущего значения результата выполнения программы переходить на различные участки программы.
Для счета числа повторений цикла на одном из внутренних регистров МП организуется счетчик. В этот регистр предварительно записывается число повторений цикла и после каждого его повторения из регистра вычитается единица, а затем проверяется, равно ли нулю содержимое регистра. При достижении нулевого значения производится выход из цикла.
Пример 2 – Составить циклическую программу сложения массива однобайтных чисел (число слагаемых равно 05 H) с получением двухбайтного результата. Начальный адрес исходных данных 0A00 H. Счетчик циклов организовать на регистре B. Старший байт суммы записать в регистр C, а младший – в аккумулятор AC. Начальный адрес программы 0800 H. Схема алгоритма программы сложения (рисунок 16) состоит в том, что после прибавления каждого элемента массива определяется переполнение аккумулятора AC (значение бита C в регистре флажков RF равно единице), и если это имеет место, то содержимое регистра C
Рисунок 16 – Схема алгоритма циклической программы суммирования однобайтных чисел
увеличивается на единицу. Таким образом, за счет суммирования единиц переноса получается старший байт суммы.
Циклическая программа суммирования однобайтных чисел на языке Ассемблера представлена в таблице 9.
Таблица 9 – Циклическая программа суммирования однобайтных чисел на языке
Ассемблера
Адрес |
Метка |
Команда |
Операнд |
Машинный код |
Комментарий |
0800 |
|
LXI |
H,0A00H |
21 00 0A |
; адрес первого слагаемого |
0803 |
|
MVI |
B,05H |
06 05 |
; количество слагаемых |
0805 |
ADDB: |
XRA |
AC |
AF |
; обнуление регистра AC |
0806 |
|
MOV |
C,AC |
4F |
; обнуление регистра C |
0807 |
M1: |
ADD |
M |
86 |
; суммирование |
0808 |
|
JNC |
M2 |
D2 0C 08 |
; условный переход на ; M2, если (TC) = 0 |
080B |
|
INR |
C |
0C |
; увеличение содержимого ; регистра C на единицу |
080C |
M2: |
INX |
H |
23 |
; увеличение содержимого ; пары регистров H-L на ; единицу |
080D |
|
DCR |
B |
05 |
; уменьшение на единицу ; содержимого счетчика ; циклов |
080E |
|
JNZ |
M1 |
C2 07 08 |
; условный переход на M1, если (TZ) = 0 |
0811 |
|
HLT |
|
76 |
; останов |