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

в)         MVI A

14

SUI

2D

Регистр А

г)         LXI B

B0

FF

MOV A, B

ADD C

Регистр А и триггер переполнения CY

д)         LXI B

FF

01

MOV A, C

ADI

01

MOV L, A

ADD B

Регистр L

е)         LXI H

F0

01

LXI B

0F

88

DAD B

Регистры H,L

6.30. Определить содержимое указанных регистров после выполнения фрагментов программ, если первоначально было A = 2F; (В) = D0; (С) = 4А; (D) = 0А; (Е) = F2; (М) = 0В; (H) = CE; (L) = E1.

а)         ADD B

SUB C

ADD В

Регистр А

б)         ADD M

MOV C, A

MVI B

00

DAD B

Регистры H, L

в)         ADD E

MOV E, A

MOV A, D

ADI

01

MOV D, A

Регистры D, E

г)         DAD B

MOV A, E

ADD D

Регистры A, H, L

д)         MOV A, C

ADI

FF

INR B

MOV C,A

Регистры B, C

е)         ADD C

MOV L, A

INX H

Регистры H, L

6.31. Проанализировать фрагменты программ, определить содержимое аккумулятора и время выполнения программ при следующих исходных данных: (А) = 00; (С) = А2; (D) = 26; ОЗУ [1112] = 70, (Н) = ВС; (L) = ЕС; тактовая частота fт = 2 МГц:

а)         0005    MVI A

06    OE

07    ADD L

08    JNZ

09    OC

0A   00

0B   MOV A,C

0C   INR A

0D   MOV C, A

б)         0013    MOV A, C

14    ADI

15    00

16    JZ

17    1C

18    00

19    LDA

1A   12

1B   11

1C   DCR A

в)         0101    JMP

02    09

03    01

04    MOV A, C

05    LDA

06    12

07    11

08    SUB A

09    HLT

г)         MVI A

AA

ANA D

ORA C

ANI

82

RRC

д)         MVI M

01

LDA

12

11

MOV B, M

XRA B

RLC

е)         MOV M, A

INR M

INR L

MVI M

10

MOV D, M

LDA

ED

BC

ORA B

6.32. Проанализировать фрагменты программ, определить содержимое аккумулятора или порта 05, рассчитать время выполнения программы при тактовой частоте fт = 2 МГц; в исходном состоянии (порт 06) = 01:

а)         0000    MVI A

01    05

02    MVI B

03    00

04    INR B

05    SUB B

06    JNZ

07    04

08    00

09    MOV A, B

0A   OUT

0B   05

б)         0000    MVI A

01    0A

02    MOV C, A

03    NOP

04    NOP

05    DCR A

06    JNZ

07    03

08    00

09    MOV A, C

в)         0000    ANI

01    00

02    INR A

03    CPI

04    FF

05    JNZ

06    02

07    00

08    HLT

г)         0000    MVI A

01    EE

02    SUI

03    11

04    JM

05    02

06    00

07    NOP

08    NOP

09    NOP

0A   OUT

0B   05

д)         0103    IN

04    06

05    MVI B

06    64

07    MVI C

08    FA

09    DCR С

0A   JNZ

0B   09

0C   01

0D   DCR B

0E    JNZ

0F    07

10    01

11    OUT

12    05

6.33. Просуммировать операнды, находящиеся в ячейках ОЗУ с адресами FDC1 и FDC2, и результат записать в ячейку ОЗУ с адресом FDC1. Составить программу.

6.34. В ячейки ОЗУ 1F01 хранится число x1, в ячейке 1F02 – число x2. Необходимо вывести через порт FF большее из чисел. Составить программу.

6.35. Составить программы для вычисления следующих величин1:

а) y = (37 – 30/2):2+11;

б) y = (61+134/2):8-6;

в) y = (24×4 - 8×2):4;

г) y = (200:8 – 1):4.

6.36. Составить программы для вычисления величин z1:

а) z = 2x+ 1;

б) z = 6x – 5;

в) z = 3x + 2;

г) z = (4x – 8):2;

д)

е)

ж)

з)

Число х поступает через порт 05, число y – через порт 08, число z должно храниться в ячейке ОЗУ 2233. Считать, что x, y и z, а также результаты промежуточных и окончательных вычислений – это целые числа, находящиеся в пределах –127…+127.

6.37. Определить содержимое порта 06 МПС в результате выполнения следующей программы:

0000    IN

01    05

02    ADD A

03    DCR A

04    CALL

05    00

06    10

07    INR A

08    OUT

09    06

0A   HLT

Число апоступает через порт 05. В области памяти, начиная с ячейки 1000, записана подпрограмма вычисления выражения p = log2x, где х – число, находящееся в аккумуляторе к моменту вызова подпрограммы.

6.38. Составить программу вычисления величины z = 1 + cosa+ cos2a, пользуясь подпрограммой вычисления выражения p = cosx, которая записана в области памяти, начиная с ячейки 1100. Число а вводится через порт 05, результат следует вывести через порт 06.

6.39. В памяти МПС, начиная с ячейки 2000, записана подпрограмма перемножения двух чисел, которые берутся из РОНов D и E МП, причём произведение запоминается в Е. Пользуясь этой подпрограммой, составить циклическую программу для вычисления выражения