Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
ü Признак переноса (С) устанавливается в 1, если при выполнении арифметической команды возникает переполнение аккумулятора или при выполнении команды сдвига вытесняется единица из старшего или младшего разряда.
ü Признак дополнительного переноса (АС) устанавливается в 1, если при выполнении команд возникает единица переноса из третьего разряда числа. Состояние разряда может быть проанализировано лишь командой десятичной коррекции.
ü Признак знака (S) устанавливается в 1, если седьмой (старший) разряд числа равен 1. Машинное слово представляется числом от –128 до +127. Седьмой разряд числа указывает на знак числа. Если он равен 0, то число положительное, если 1, то отрицательное.
ü Признак нулевого содержимого аккумулятора (Z) устанавливается в 1, если после выполнения команды результат равен нулю (все биты аккумулятора равны нулю), в противном случае в разряд записывается 0.
ü Признак паритета (Р) устанавливается в 1, если число единичных битов аккумулятора четно, в противном случае этот разряд будет установлен в нулевое состояние.
Команда условного перехода проверяет состояние соответствующего разряда регистра признаков (F). Если при проверке состояния разряда регистра признаков условие не подтверждается, то выполняется следующая по порядку команда программы, иначе происходит переход. Все команды условных переходов являются трехбайтными: первый байт содержит код команды, второй и третий байты – адрес передачи управления. Таким образом, команды условных переходов позволяют строить ветвящиеся алгоритмы и, в зависимости от текущего значения результата выполнения программы, переходить на различные участки этой программы. Ниже приведен пример программы, использующей маскирование данных и организацию условных переходов.
Программа Прогр. 4.1 (на стр. 52) осуществляет ожидание простого (двоичного) события и при возникновении этого события формирует простое (двоичное) управление. В программе каждый бит порта с адресом 03h ассоциируется с некоторым событием от внешнего устройства, например, соответствует состоянию некоторого концевого переключателя технологического процесса. Таким образом, в технологическом процессе задействованы 8 концевых переключателей с номерами 0, 1, …, 7. Так же в технологическом процессе задействованы 8 исполнительных механизмов с номерами 0, 1, …, 7, могущих принимать выключенное состояние или включенное состояние (0 или 1). Каждому механизму соответствует свой бит порта с адресом 04h. Процессор принимает данные из портов 03h, 04h и выдает данные в порт 04h. Программа ожидает включение концевого переключателя с номером 5 (остальные переключатели могут при этом иметь произвольные состояния). В случае достоверности данного события программа включает механизм с номером 4, в противном случае она отключает этот механизм, если он не отключен. При этом программа не должна изменять состояния остальных механизмов.
Прогр. 4.1. Программа ожидания простого события и формирования простого управления.
MVI B, 5Dh | ;Загрузка в B заранее заданного состояния ; механизмов. | |
MOV A, B | ;Загрузка в Акк. заранее заданного состояния ; механизмов. | |
OUT 04h | ;Вывод в порт механизмов (04h) заранее ; заданного состояния. | |
LAB_1: | IN 04h | ;Чтение в Акк. состояния механизмов. |
MOV B, A | ;Сохранение в B состояния механизмов. | |
IN 03h | ;Чтение в Акк. состояния концевых ; переключателей. | |
ANI 20h | ;Маскирование всех битов Акк., кроме бита ; с номером 5. | |
JZ LAB_2 | ;Если бит с номером 5 равен 0, то переход ; на LAB_2. | |
MVI A, 10h | ;Загрузка в Акк. маски. | |
ORA B | ;Установка бита с номером 4. | |
JMP LAB_3 | ;Безусловный переход на LAB_3. | |
LAB_2: | MVI A, Efh | ;Загрузка в Акк. маски. |
ANA B | ;Сброс бита с номером 4. | |
LAB_3: | OUT 04h | ;Включение/выключение механизма с номером 4. |
JMP LAB_1 | ;Безусловный переход на LAB_1. | |
HLT | ;Конец программы. |
На практике, как правило, приходится иметь дело с гораздо более сложными событиями. Например, процессор должен выполнить некоторое действие, если биты порта с адресом 05h принимают следующие значения: 0-й, 2-й и 4-й биты равны 1, а 1-й и 7-й биты равны 0; или 1-й и 4-й биты равны 1, а 0-й, 3-й и 5-й биты равны 0. Такое событие более кратко можно однозначно записать в виде выражения алгебры Буля:
,
где
– биты порта с адресом 05h, а "
" и "
" – операции логического умножения и логического сложения.
5.2. Задания для самоподготовки
1. Изучить по [1, 2] способы обмена информацией между МП и внешними устройствами; рассмотреть схемы подключения устройств ввода/вывода данных при различных способах обмена.
2. Ознакомиться по [1, 2] со структурными схемами и режимами работы программируемого периферийного адаптера (ППА) К580ВВ55 и программируемого связного адаптера (ПСА) К580ВВ51.
3. Разобрать принцип действия функциональной схемы ввода/вывода, изображенной на Рис. 4.1 (стр. 49).
4. Ознакомиться с командами ввода/вывода МП (см. Табл. 0-7).
5. Изучить способы маскирования данных.
6. Изучить разряды регистра признаков МП и подгруппу команд условных переходов.
7. Изучить работу программы Прогр. 4.1.
преподавателем), осуществляющую переход к подпрограмме временной задержки при возникновении этого события. Здесь
– биты порта с адресом 05h.
Табл. 4.2. Варианты событий для разработки программы ожидания сложного события.
№ | Событие | № | Событие |
1 |
| 16 |
|
2 |
| 17 |
|
3 |
| 18 |
|
4 |
| 19 |
|
5 |
| 20 |
|
6 |
| 21 |
|
7 |
| 22 |
|
8 |
| 23 |
|
9 |
| 24 |
|
10 |
| 25 |
|
11 |
| 26 |
|
12 |
| 27 |
|
13 |
| 28 |
|
14 |
| 29 |
|
15 |
| 30 |
|
5.3. Задания к лабораторной работе
Задание 4.1. Исследование программы ожидания простого события и формирования простого управления.
Порядок выполнения задания:
1. Ввести программу Прогр. 4.1, исправить ошибки, осуществить пуск.
2. Исследовать процесс выполнения программы при различных состояниях концевых переключателей (порт 03h) и различных состояниях исполнительных механизмов (порт 04h). Убедиться в правильности работы программы.
Задание 4.2. Исследование программы ожидания сложного события.
Порядок выполнения задания:
1. Ввести программу, разработанную в п. 8 задания для самоподготовки, исправить ошибки, осуществить пуск.
2. Исследовать процесс выполнения программы при различных значениях состояния порта с адресом 05h. Убедиться в правильности работы программы.
5.4. Содержание отчета
Отчет должен содержать:
1. Название работы, фамилию и инициалы студента, номер группы, цель работы.
2. Функциональную схему вывода информации на дисплей и ввода информации с клавиатуры (Рис. 4.1, стр. 49).
3. Полный перечень команд передачи управления по условию для МП КР580 (см. Табл. 0-3, Табл. 0-11 – Табл. 0-13).
4. Полный перечень команд логических операций для МП КР580 (см. Табл. 0-8, Табл. 0-9).
5. Исследованные в процессе выполнения лабораторной работы программы: Прогр. 4.1 и программу, разработанную в п. 8 задания для самоподготовки с комментариями и в печатном виде.
6. Выводы по лабораторной работе.
5.5. Контрольные вопросы
1. Перечислить и охарактеризовать БИС, используемые при организации интерфейса ввода/вывода в МП-системах на основе процессора КР580ВМ80/КР580ВМ80А.
2. Указать достоинства и недостатки различных способов обмена информацией между МП и устройствами ввода/вывода (УВВ).
3. Режимы работы программируемого периферийного адаптера (ППА) К580ВВ55.
4. Режимы работы программируемого связного адаптера (ПСА) К580ВВ51.
5. Принцип действия функциональной схемы ввода/вывода, изображенной на Рис. 4.1.
6. С помощью каких команд МП может осуществлять ввод/вывод информации?
7. Что такое и для чего предназначено маскирование данных.
8. Перечислить логические команды и команды условной передачи управления МП КР580.
9. По каким условиям записывается 1 в каждый из флагов регистра признаков МП?
Лабораторная работа №6. Выполнение арифметических операций
Цель работы: Изучение способов организации и исследование программ выполнения арифметических операций.
6.1. Краткие сведения из теории
Так как МП серии КР580 не имеет специальных команд для работы с числами с плавающей точкой, то при составлении программ для этого процессора, как правило, используется представление чисел с фиксированной точкой. Восьмиразрядное слово данных позволяет представить число, как двоичное число со знаком, имеющее значение от –128 до +127. При этом отрицательные числа представляются в дополнительном коде, а старший разряд числа используется как знаковый. Такое представление чисел не позволяет выполнять арифметические операции с использованием переноса при сложении и заема при вычитании. Число с фиксированной точкой можно представить также двоичными числами без знака, имеющими значения от 0 до 255.
Для МП БИС можно представить также числа в виде двоичного числа Binari-сoded-decimal (BCD), при котором каждый байт рассматривается как два полубайта, две тетрады, каждая из которых кодирует десятичную цифру. Такое представление позволяет закодировать 1 байт числа от 0 до 99.
Проведение арифметических операций сложения, вычитания, умножения, деления, вычисления специальных функций ниже рассмотрено на примерах.
6.1.1. Сложение и вычитание.
Программа Прогр. 5.1 – это программа сложения массива однобайтных чисел (целых без знака) с получением двухбайтного результата. Слагаемые должны располагаться в последовательных адресах памяти, начиная с адреса 0100h. Результат сложения программы: старший байт – в ячейке памяти с адресом 0121h, младший – в в ячейке памяти с адресом 0120h.
Алгоритм программы сложения состоит в том, что после представления каждого элемента массива определяется переполнение аккумулятора, и, если это имеет место, то содержимое регистра увеличивается на 1. Таким образом, за счет суммирования единиц переноса получается старший байт суммы.
Прогр. 5.1. Программа сложения массива однобайтных чисел с получением двухбайтного результата.
LXI H, 0100h | ;В HL адрес первого слагаемого (загрузка ; указателя). | |
MVI B, 05h | ;В В количество слагаемых (загрузка ; счетчика). | |
XRA A | ;Очистить Акк. и сбросить флаг переноса. | |
MOV C, A | ;Очистить счетчик переносов. | |
LAB_1: | ADD M | ;Прибавить к Акк. число из массива ; слагаемых. |
JNC LAB_2 | ;Если переноса нет, то идти на LAB_2. | |
INR C | ;Увеличить С на 1. | |
LAB_2: | INX H | ;Указать на адрес следующего слагаемого. |
DCR B | ;Уменьшить содержимое счетчика слагаемых. | |
JNZ LAB_1 | ;Если слагаемые не все, то идти на LAB_1. | |
LXI H, 0120h | ;В HL адрес младшего байта результата. | |
MOV M, A | ;Акк. в ячейку памяти с адресом 0120h. | |
INX H | ;В HL адрес старшего байта результата. | |
MOV A, C | ;С в Акк. | |
MOV M, A | ;Акк. в ячейку памяти с адресом 0121h. | |
HLT | ;Выход из программы. |
Микро-ЭВМ может представить арифметические числа с двойной или большей длиной машинного слова. Так как МП имеет 8-разрядное АЛУ, то операции с такими числами должны производиться по байтам, начиная с младших байтов. Так операция сложения чисел 17F5 + 3411 будет производиться следующим образом:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


