- •Министерство образования и науки
- •Содержание
- •Информационный процесс, Сигналы
- •Логические состояния
- •Системы счисления
- •Логические элементы и таблица истинности
- •Логическое сложение, дизъюнкция, элемент или
- •Логическое умножение, конъюнкция, элемент и
- •Логический элемент не, отрицание, инверсия
- •Минимизация логических выражений с помощью карт карно
- •Карта карно для двух переменных
- •Карта карно с тремя переменными
- •Карта карно для четырех переменных
- •Комбинационные функциональные схемы
- •Счетверенная двухвходовая схема выборки
- •Мультиплексоры
- •Сумматоры
- •Компараторы
- •Обратные преобразования, записанные в дополнительном коде
- •Арифметика в дополнительном коде
- •Последовательная логика
- •Регистры
- •Параллельно – параллельный четырехразрядный регистр на rs – триггерах
- •Счетный триггер
- •Счетчики
- •Счетчик на сложение
- •Счетчик на вычитание
- •Реверсивный счетчик
- •Счетчик заданной длины
- •Линейные дешифраторы
- •Линейный дешифратор на 10
- •Основы микропроцессорной техники Архитектура эвм
- •Работа эвм
- •Группировки бит
- •Буквенно-цифровой код
- •Тристабильные элементы
- •Структура оперативной памяти
- •Основы микропроцессорной техники
- •Архитектура простой эвм
- •Структура простейшей памяти
- •Состав команд
- •Структура типового микропроцессора
- •Функционирование Эвм
- •Микропроцессор. Поставляемая разработчиком документация
- •Использование регистра, адреса / данных
- •Этапы обработки требования прерывания в микропроцессоре
- •Указатель стека
- •Программирование микропроцессора Состав команд арифметических действий
- •Состав команд логических операций
- •Команда или
- •Команда или – исключающее
- •Команда циклического сдвига с переносом
- •Состав команд операций передачи данных
- •Состав команд операций ветвления
- •Состав команд операций вызова подпрограмм и возврата в основную программу
- •Программирование микропроцессара запись программы
- •Ветвление программ
- •Использование подпрограмм
- •Интерфейс микропроцессора
- •Основные элементы интерфейса портов ввода/вывода
- •Список литературы
Ветвление программ
Рассмотрим на примере.
Найти большее число и поместить его в определенную ячейку памяти.
Во-первых, 2-х кадрах блок-схемы представлены операции загрузки чисел в регистре AиL. Команда сравнение, не разрушая содержимого регистров, вычитает из содержимого Аккумулятора содержимое регистраL. Результат сравнения изменяет состояние индикаторов (флагов) в регистре состояния. Следующий кадр называется знаком принятия решений. Он завершает в программе этап решения и содержит поставленный вопрос [(A) ≥ (L)]? Если да, то программа продолжается последовательно и содержимое аккумулятора помещается в память, затем МП останавливается. Если нет, то программа ответвляется и содержимое регистраLпомещается в память, затем МП останавливается.
Ъ
Метка |
Мнемоника |
Операнд |
Комментарий |
|
MVI |
A, ØF |
Загрузить число 15 (в десятичной форме) в аккумулятор. |
|
MVI |
L, Ø6 |
Загрузить число Ø6 в регистр L. |
|
CPM |
L |
Сравнить содержимое А с содержимым регистра L, индикаторCYрегистра состояния =1, если А<L. |
|
JC |
STORE, L |
Перейти к STORE,L,еслиCY=1 (еслиA<L). В противном случае продолжить последовательность. |
|
STA |
2040H |
Загрузить содержимое А в ячейку памяти 2040. |
|
HLT |
|
Остановить МП. |
STORE,L |
MOV |
A,L |
Поместить регистр Lв А. |
|
STA |
2040H |
Загрузить содержимое А в ячейку памяти 2040. |
|
HLT |
|
Остановить МП. |
В таблице представлена программа на ассемблере, которая решает задачу нахождения наибольшего числа и размещения его в памяти по адресу 2040.
Таким образом, рассмотренный на структурной схеме способ ветвления осуществляется командами перехода, согласно которым принимаются решения, основанные на состоянии индикаторов в регистре состояния.
В этом примере использовался символический адрес (Метка), при команде перехода. Команда ветвления широко используется при программировании.
ЦИКЛЫ
Вычислительные машины (системы) особенно эффективны в случае выполнения повторяющихся задач.
Например, если программе необходимо провести счет от 0 до 254 (ØØ до FE) и вывести результат счета на какую-либо выбранную периферию, то если не использовать циклов, программа будет содержать не менее 300 строчек.
Нарисуем блок-схему этой задачи.
Приведенная структурная схема представляет собой программу, которая содержит в себе примерно 20 команд. Если бы 255 пропусков через программу были запрограммированы последовательно, их список составил бы несколько тысяч команд.
Рассмотрим другой пример.
Структурная схема размещения ряда чисел (от 0 до 8) последовательно в память с адресами от 2040 до 2048. Два первых кадра соответствуют начальной загрузке пары регистров HLи аккумулятора значениями 2040 и ØØ соответственно. Третий кадр соответствует процессу размещения данных в памяти и который будет повторяться 9 раз, в ходе выполнения этой программы. МП, повторяя свои действия, размещает содержимое аккумулятора в памяти по адресу, указанному в паре регистровHL. Четвертый и пятый кадры представляют операции, которые изменяют адрес в паре регистровHLи числа в аккумуляторе. Кадр сравнение и знак принятия решения составляют операцию тестирования. Команда сравнение вычитает число Ø9 из содержимого аккумулятора для установки или сброса индикатора нуля в регистре состояния.
Если содержимое аккумулятора меньше 9 индикатор нуля сброшен. Команда сравнения и условного перехода используются для проверки изменяющегося счета и определения момента выхода из цикла.
Метка |
Мнемоника |
Операнд |
Комментарий |
|
LXI |
H, 2040 |
Загрузить число 2040 в пару регистров HL. |
|
XRA |
A |
Сброс А в ØØ. |
LOOP |
MOV |
M, A |
Поместить А в М. |
|
INX |
H |
Инкремент HL. |
|
INR |
A |
Инкремент А. |
|
CPI |
Ø9 |
Сравнить А= Ø9. Если да, то индикатор нуля Zустановится в единицу. |
|
JZ |
LOOP |
Перейти к LOOP, еслиZ=0, т.е. если содержимое А ≠ Ø9, если да, то продолжить последовательно. |
|
HLT |
|
Остановить МП. |