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

Р2.27. Первый способ обмена – это программный обмен, который осуществляется под управлением программы, для чего в соответствующие места программы вводятся специальные команды ввода и вывода. Типовая команда ввода или вывода содержит код операции, адрес (код) ВУ (например, порта) и сопровождается управляющими сигналами. В некоторых случаях по команде ввода или вывода сначала осуществляется проверка готовности ВУ на обмен информации и лишь затем осуществляется обмен.

Второй способ обмена – обмен с прерыванием программы, инициируемый ВУ, которое посылает в МП сигнал «Запрос прерывания». После выполнения текущей команды МП прекращает выполнение основной программы, выдает в ВУ сигнал «Подтверждение прерывания» и после получения от ВУ сигнала «Рестарт», содержащего информацию о том, какая подпрограмма обработки прерывания должна выполняться, приступает к ее выполнению. После окончания подпрограммы происходит автоматический возврат к основной программе.

Третий способ обмена – это непосредственный обмен ВУ с ОЗУ без использования аккумулятора и регистров МП (режим прямого доступа к памяти или режим захвата). При поступлении сигнала «Запрос захвата» МП заканчивает выполнение очередной команды и выдает сигнал «Разрешение захвата», по которому шины МПС переводятся в состояние высокого выходного сопротивления, в результате чего возникает возможность непосредственного подключения ВУ к ОЗУ.

Р6.28.1

а)         MVI A 00111110

A0       10100000

STA     00110010

2C       00101100

B0       10110000

б)         LDA                00111010

OF                   00001111

02                    00000010

MOV D, A      01010111

в)         MOV A, E

STA

56

14

г)         LXI H

02

01

MOV B, M

LDA

F2

F1

MOV M, A

MOV A, B

STA

F2

F1

д)         MOV C, B

LDAX D

MOV B, A

MOV A, C

STAX D

e)        MOV H,B

MOV L,C

SHLD

00

FF

з)        XRA А

MOV В, А

MOV С,А

MOV D,A

MOV E,A

Р6.29. а) По команде MVI A,2D происходит загрузка константы 2D в регистр А. По команде ADI OF происходит продолжение 2D и 0F. В двоичном коде:

В результате сложения (А) = ЗС(1б).

б) По команде MVI В, 54 происходит загрузка константы 54 регистр В, а по команде MOV А, В – ее пересылка в регистр По команде SUI 22 происходит вычитание из константы 54 константы 22.

В двоичном коде:

В результате вычитания (А) = 32(16).

в) По команде MVI А, 14 происходит загрузка константы 14 в регистр А. По команде SUI 2D происходит вычитание из 14 константы 2D.

В двоичном коде

Так как число -00011001 в дополнительном коде 11100111, результате вычитания получим (А) = Е7(16).

г) (A) = AF, (CY) = 1.

д) (L) = 00.

e) (H) = 89, (L) = FF.

Р6.30. a) (A) = BF; б) (Н) = СР; (L)=1B; в) (D) = OB; (Е) = 21; г) (A) = FC; (H) = 9F; (L) = 2B;

д) (B) = D1, (С) = 49; e) (H) = CE, (L) = 7A.

Р6.31. а) Решение приведено в табл. Р6.1.

Таблица Р6.1

Адрес ячейки памяти

Содержимое (мнемокоды и операнды)

Выполняемая операция

Результат операции

Число тактов

0005

MVI A

(A)¬áB2ñ

(A) = 00001110

7

06

0E

07

ADD L

(A)¬(A)+(L)

(A) = 11111010

4

08

JNZ

Переход к 000С, если (А) ¹ 0

Переход к 000С

10

09

0C

0A

00

0B

MOV A, C

(A)¬(C)

Пропуск

5

0C

INR A

(А)¬(А)+1

(А) = 11111011

5

0D

MOV C, A

(С)¬(А)

(С) = (А) = 11111011

5

Всего тактов N = 31 (команда MOV A, C не выполняются), время выполнения t = 15,5 мкс, содержимое аккумулятора после выполнения программы (A) = FB.

б) (А) = 6F, t = 20 мкс;

в) (А) = 00, t = 8,5 мкс;

г) (А) = 41; t = 13 мкс;

д) (А) = Е2, t = 19 мкс;

е) (А) = 10, t = 28 мкс.

Р6.32. а) Программа содержит цикл (ячейки 0004…0008), который выполняется 5 раз;

(Порт 05) = 05; t = 0,5(7 + 7 + (5 + 4 + 10)×5 + 5 + 10) = 62 мкс;