в) 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 МП, причём произведение запоминается в Е. Пользуясь этой подпрограммой, составить циклическую программу для вычисления выражения
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.