Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие (Представление чисел и арифметические операции в цифровых устройствах. Микропроцессорные устройства и системы на базе МП КР580ВМ80), страница 41

а) (AX)¬(AX)+(BX);

б) (AL)¬(AL)+[(BX)+(SI)];

в) (BX)¬(BX)+[(SI)+disp L];

г) (CX)¬(CX)+2468H;

д) [(BX)]¬0000.

6.60. Составить для МП К1810 фрагмент программы в мнемокодах для обмена содержимого двух ячеек памяти М1 и М2, находящихся в одном сегменте. Определить время выполнения фрагмента при частоте синхронизации fТ = 5МГц.

6.61. Составить для МП К1810 фрагмент программы в мнемокодах, обеспечивающий сложение N 16-битовых слов, хранящихся в парах ячеек памяти, начиная с ячейки с меткой BEG. Результат необходимо поместить в ячейку с меткой RES. Рассчитайте время выполнения при тактовой частоте синхронизации fТ = 5МГц и N = 100.

6.62. Составить для МП К1810 фрагмент программы в мнемокодах для вычисления восьмиместной булевой функции, заданной в DCНФ (т.е. суммой минтермов) . Набор булевых переменных периодически вводится в МПС через порт 07 в виде байта D, в котором биты соответствуют переменным D7 = x7, D6 = x6, …, D0 = x0. Значение функции выводится через порт 05 в виде младшего разряда байта.

Указание. Каждый минтерм булевой функции может быть задан байтом, в котором i-й бит (i = 0, …, 7) равен 0, если xiвходит в минтерм с инверсией, и равен 1 – если без инверсии. Таким образом, первый минтерм задается константой К1 = 10100111 = А7Н, а второй – константой К2 = 10010101 = 95Н.

6.63. Составить для МП К1810 фрагмент программы в мнемокодах для вычисления выражения

z = 2(XY+T), где X, Y, T – беззнаковые 8-биовые операнды, хранящиеся в ячейках памяти с адресами, находящимися соответственно в регистрах BX, CX и DX. Необходимо организовать также следующую процедуру:

при z < 350 – переход по метеке PROC1, при z ³ 350 – вывод результат через порт 02.

Указание. Умножение XY следует организовать с помощью команды MUL, умножение на 2 – удвоением результат.

6.4. МИКРОКОНТРОЛЛЕР КМ1816ВЕ48

Однокристальный 8-разрядный микроконтроллер КМ1816ВЕ48 (сокращенно МК1816) содержит в своем составе все основные узлы микроЭВМ: АЛУ, УУ, ППЗУ, ОЗУ и интерфейсные схемы. Организация, система команд и средства ввода-вывода МК1816 приспособлены для решения задач управления несложными объектами. МК может работать с тактовой частотой до 6МГц, выполнен в корпусе БИС с 40 внешними выводами, требует одного источника питания с напряжением 5В (при программировании ППЗУ необходимы также источник напряжения 25В).

Подробное описание МК1816 имеется в [6, 30]. В командах МК1816 используется ряд специфических обозначений, в частности знак # - это префикс (указатель) непосредственного операнда, знак @ - префикс косвенной адресации. Остальные обозначения поясняются в задачах.

ЗАДАЧИ И УПРАЖНЕНИЯ

6.64. Указать основные программно-доступные узлы микроконтроллера МК1816.

6.65. Какова адресуемая емкость памяти МК1816?

6.66. Охарактеризовать внутреннее ОЗУ МК1816: какие ячейки могут использоваться в качестве регистров общего назначения, какие доступны команды с прямой и косвенной адресацией.

6.67. В чем суть, каковы достоинства и недостатки страничной адресации ППЗУ, используемой в МК1816?

6.68. Каково назначение внутреннего таймера МК1816?

6.69. Расшифровать и объяснить следующие команды МК1816, указать виды адресации, используемые в этих командах, составить машинные коды команд:

а) MOV  A, R5;

б) MOV  A, #0A1H;

в) MOV  A, @R1;

г) MOV  A, T;

д) MOV  @R0,A;

е) MOVP  A, @A;

ж) MOVX  A@r0;

з) XCH  A, R4;

и) XCH  A, @R1;

к) MOVP3  A, @A

6.70. Расшифровать следующие команды МК1816, определить результат их выполнения – содержимое аккумулятора или указанного в команде регистра, а также триггера переноса (признак переноса (С)) при заданных исходных данных:

а) ADD A,R5 при (A) = B3H, (R5) = 16H;

б) ADD A, #0BN при (A) = AAH;

в) ADD A, @R0 при (A) = 11H; [(R0)] = FBH;

г) INC R4 при (R4) = 4FH;

д) INC @R1 при [(R1)] = 2AH;

е) DEC A при (A) = 4CH;

ж) RL A при (A) = 32H, (C) = 0;

з) RR A при (A) = B3H, (C) = 0;

и) RRC A при (A) = B3H, (C) = 0.

6.71. Расшифровать следующие команды МК1816 и определить результат их выполнения при указанных исходных данных:

а) ANL A, R1 при (A) = 2BH, (R1) = 3CH;