Полученный тест удобен для МП КР580ВМ80, поскольку в нем используются операции поразрядного умножения, суммирования по модулю 2 и проверки нулевого результата, входящие в систему команд этого МП.
Алгоритм вычисления логической функции, в котором используется вышеуказанный тест, представлен на рис. Р8.8.
Программа вычисления логической функции:
FUNC: IN PORTX ;Ввод набора значений арнументов В в аккумулятор
МОV В,А ;Дублирование А в регистре В
МVI С,m ;Организация в регистре С счетчика минтермов и
;импликантов
LХІ Н,М1 ;3агрузка в регистровую пару НL адреса М(1)
МASС: МОV А,В ;Пересылка В в аккумуляюр
АNА М ;Вычисление М(j)ÙВ
INХ Н ;Инкремент адреса М(j)
ЬРА М ;Вычисление теста Т(j) = M(j) ÙBÅC(j)
JZ F1 ;Переход к выводу F=1 при T(j)=0
ІNХ Н ;Инкремент адреса С(j)
DCR С ;Декремент счетчика
JNZ МASС ;Переход к анализу следующего минтерма
;(импликанта) при Т(j)¹ 0
МVI А,00 ;3асылка в аккумулятор «0»
OUТ РОRТF ;Вывод значения функции F = 0
F1: МVІ А,01 ;3асылка в аккумулятор «1»
ОUT РОRТF ;Вывод значения функции F = 1
НLТ ;Останов
................................
................................
M1: M1 ;
C1 ; Коды минтермов и
M2 ; импликантов
C2 ;
.............................
Mm ;
Cm ;
Рис. Р8.8. Алгоритм вычисления логической функции
Р8.34. Коды, представляющие импликанты функции , находим по табл. Р8.2:
М(1)= 11100011; С(1) = 11000011; М(2) = 01111001; С(2) = =00110000.
Для первого набора значений аргументов по табл. Р8.3 формируем тест, соответствующий первому импликанту:
B = 11010011; М(1)=11100011; В ÙМ(1)= 11000011; С(1) = р 11000011; Т(1) = ВÙМ(1)ÅС(1) = 00000000.
Поскольку тест равен 0, первый импликант равен 1 и, ледовательно, F= 1.
На других наборах значений аргументов тесты для обоих мпликантов не равны 0, поэтому F = 0.
Р8.35. Одномерный массив — набор элементов данных одинаковой длины, размещенный в определенной области смежных ячеек ЗУ. Пример элемента данных - однобайтовое число. Могут быть и многобайтовые элементы данных. Адрес любого элемеита данных в массиве (рис. Р8.9,д) определяется суммой дреса начального элемента (символический адрес ВАSЕ) : порядкового номера — индекса IND данного элемента в массиве (если элемент данных многобайтовый, то следует индекс лемента умножить на число байтов). Алгоритм формирования и обработки массивов является циклическим и содержит следующие блоки (рис. Р8.9,б):
1) инициализация: во-первых, загрузка указателя адреса начальным адресом ВАSЕ массива (обычно в МП КР580 роль указателя выполняет регистровая пара НL); во-вторых, загрузка ;четчика числом, равным длине (числу элементов) N массива обычно роль счетчика выполняет один из РОНов микропроцессора или ячейка ЗУ, например ячейка (с символическим адресом LENGTH). Часто реализуют суммирующий счетчик циклов, например, на одном из РОНов, а длину массива N загружают в некоторую ячейку ЗУ (с символическим адресом LENGTH);
2) ввод данных: введение элемента массива из порта ввода например, из порта с символическим адресом ІРОRТ) в ячейку ЗУ, адрес которой размещен в указателе адреса;
3) обработка массива: выполнение необходимых арифметических и логических операций над элементами массива, например выполнение операций суммирования элементов массива;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.