
- •Лабораторная работа № 1 Ознакомление с работой учебной микроЭвм и процессом ввода-вывода информации
- •1 Цель работы
- •2 Теоретические сведения
- •1 3
- •2.1 Принцип работы микроЭвм
- •0000 03Ff 8000 83e0 8400 87ff ffff
- •2.2 Представление информации в микроЭвм
- •2.3 Инструкция по эксплуатации уоу "Электроника-580"
- •2.3.1 Индикатор адреса и данных
- •2.3.2 Ввод команд и данных в озу
- •2.3.3Чтение и запись информации в регистры
- •2.3.4 Чтение содержимого озу или ппзу
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требование к отчету
- •2.1 Команды передачи данных
- •2.2 Арифметические команды
- •2.3 Логические команды
- •2.4 Команды передачи управления
- •2.5 Команды ввода и вывода , обращения к стеку и управления микропроцессором
- •3 Порядок выполнения работы
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Лабораторная работа № 3 Подпрограмма и стек
- •1 Цель работы
- •2 Теоретические сведения
- •2.1 Использование стековой памяти
- •3. Порядок выполнения работы
- •4 Контрольные вопросы
- •3 Порядок выполнения работы
- •Перечень заданий
- •4 Контрольные вопросы
- •5 Требования к отчету
- •Список литературы
- •Уфимский Государственный Авиационный Технический Университет
- •450000, Уфа-центр, ул. К. Маркса, 12
2.1 Команды передачи данных
Первая группа команд в таблице 2.1 обеспечивает выполнение операций размещения, обмена, загрузки и перемещения данных. Число команд - 84 . Наибольшее число команд пересылки типа MOV Ri,Rj. Команды однобайтные, предназначены для пересылки операндов из одного регистра в другой или обмена информацией между РОН и ОЗУ .
Например, команда MOV A,B имеет код 78 (16) ( дополнение к таблице 2.1) адресация - регистровая, выполняет операцию передачи содержимого регистра B в регистр A (AB).
Команды MOV M,Rj осуществляют передачу содержимого одного из РОН в ячейку памяти с адресом ,указанным в регистровой паре H, L . Поэтому перед выполнением данных команд необходимо предварительно поместить младший байт адреса ячейки М в регистр L, старший байт адреса в регистр H. Такая операция выполняется командой LHLD аа, где в ячейке с адресом аа располагают будущее содержимое L, а в ячейке аа+1 содержимое H. Например, после загрузки этой командой регистра Н содержимым 82(16), L - 40(16) выполняется команда MOV M, A: код команды 77(16) загружается в РК и из аккумулятора информация передается в ячейку с адресом 8240(16).
Команды MOV Ri,M осуществляют передачу содержимого ячейки памяти М с адресом , указанным в регистровой паре H,L, в один из РОН .
Рассмотрим назначение других команд :
MVI Ri,V, осуществляют непосредственную передачу операнда, находящегося во втором байте команды , в РОН или ячейку памяти .
MVI B,V код - 06(16), загружает в регистр В второй байт команды, равный V ;
MVI M,V код - 36(16), осуществляет непосредственную передачу V в ячейку с адресом , указанным в регистровой паре H, L .
Таблица 2.1
Мнемо- ника |
ПБ |
Байт |
ОПИСАНИЕ КОМАНДЫ |
RG F | ||||
1 |
2 |
3 |
4 |
Z |
S |
P |
|
|
1. Команды передачи данных | ||||||||
MOV Ri,Rj |
T |
1 |
RiRj |
- |
- |
- |
- |
- |
MVI Ri,V |
T |
2 |
RiV |
- |
- |
- |
- |
- |
LXI P,VV |
T |
3 |
RPVV |
- |
- |
- |
- |
- |
LDA aa |
3A |
3 |
AM(aa) |
- |
- |
- |
- |
- |
STA aa |
32 |
3 |
M(aa)A |
- |
- |
- |
- |
- |
LHLD aa |
2A |
3 |
LM(aa), HM(aa+1) |
- |
- |
- |
- |
- |
SHLD aa |
22 |
3 |
M(aa)L, M(aa+1)H |
- |
- |
- |
- |
- |
LDAX B |
0A |
1 |
A M(B,C) |
- |
- |
- |
- |
- |
LDAX D |
1A |
1 |
A M(D,E) |
- |
- |
- |
- |
- |
STAX B |
02 |
1 |
M(B,C) A |
- |
- |
- |
- |
- |
STAX D |
12 |
1 |
M(D,E) A |
- |
- |
- |
- |
- |
XCHG |
EB |
1 |
HD,L E |
- |
- |
- |
- |
- |
2. Арифметические команды | ||||||||
ADD Ri |
T |
1 |
A(A+Ri) |
+ |
+ |
+ |
+ |
+ |
ADI V |
C6 |
2 |
A(A+V) |
+ |
+ |
+ |
+ |
+ |
ADC Ri |
T |
1 |
A(A+Ri+СУ) |
+ |
+ |
+ |
+ |
+ |
ACI V |
CE |
2 |
A(A+V+СУ) |
+ |
+ |
+ |
+ |
+ |
DAD RP |
T |
1 |
HL(HL+RP) |
- |
- |
- |
+ |
- |
SUB Ri |
T |
1 |
A(A-Ri) |
+ |
+ |
+ |
+ |
+ |
SUI V |
D6 |
2 |
A(A-V) |
+ |
+ |
+ |
+ |
+ |
SBB Ri |
T |
1 |
A(A-Ri-СУ) |
+ |
+ |
+ |
+ |
+ |
SBI V |
DE |
1 |
A(A-V-СУ) |
+ |
+ |
+ |
+ |
+ |
INR Ri |
T |
1 |
RiRi+1 |
+ |
+ |
+ |
- |
+ |
INX RP |
T |
1 |
RPRP+1 |
- |
- |
- |
- |
- |
DCR Ri |
T |
1 |
RiRi-1 |
+ |
+ |
+ |
- |
+ |
DCX RP |
T |
1 |
RPRP-1 |
- |
- |
- |
- |
- |
DAA |
27 |
1 |
Десятичная коррекция |
+ |
+ |
+ |
+ |
+ |
3. Логические команды | ||||||||
ANA Ri |
T |
1 |
A(A & Ri) |
+ |
+ |
+ |
0 |
+ |
ANI V |
E6 |
2 |
A(A & V) |
+ |
+ |
+ |
0 |
+ |
XRA Ri |
T |
1 |
A(A
|
+ |
+ |
+ |
0 |
0 |
XRI V |
EE |
2 |
A(A
|
+ |
+ |
+ |
0 |
0 |
ORA Ri |
T |
1 |
A(A V Ri) |
+ |
+ |
+ |
0 |
0 |
ORI V |
F6 |
2 |
A(A V V) |
+ |
+ |
+ |
0 |
0 |
CMP Ri |
T |
1 |
AA(Z=1,если A=Ri ; СУ=1,если A<Ri) |
+ |
+ |
+ |
+ |
+ |
CPI V |
FE |
2 |
AA(Z=1,если A=V; СУ=1,если A<Ri ) |
+ |
+ |
+ |
+ |
+ |
RLC |
07 |
1 |
L1(A.b7), СУb7 |
- |
- |
- |
+ |
- |
RAL |
17 |
1 |
L1(A,СУ),СУb7 |
- |
- |
- |
+ |
- |
RAR |
1F |
1 |
R1(СУ,A),СУb0 |
- |
- |
- |
+ |
- |
RRC |
0F |
1 |
R1(b0.A),СУb0 |
- |
- |
- |
+ |
- |
STC |
37 |
1 |
СУ 1 |
- |
- |
- |
1 |
- |
CMC |
3F |
1 |
СУ
|
- |
- |
- |
+ |
- |
CMA |
2F |
1 |
А
|
- |
- |
- |
- |
- |
4. Команды передачи управления | ||||||||
JMP aa |
C3 |
3 |
PCaa безусловный переход |
- |
- |
- |
- |
- |
JNZ aa |
C2 |
3 |
PCaa при Z=0, иначе PCPC+1 |
- |
- |
- |
- |
- |
JZ aa |
CA |
3 |
Pcaa при Z=1, иначе PCPC+1 |
- |
- |
- |
- |
- |
JNC aa |
D2 |
3 |
PCaa при СУ=0, иначе PCPC+1 |
- |
- |
- |
- |
- |
JC aa |
DA |
3 |
PCaa при СУ=1, иначе PCPC+1 |
- |
- |
- |
- |
- |
JPO aa |
E2 |
3 |
PCaa при P=0, иначе PCPC+1 |
- |
- |
- |
- |
- |
JPE aa |
EA |
3 |
PCaa при P=1, иначе PCPC+1 |
- |
- |
- |
- |
- |
JP aa |
F2 |
3 |
PCaa при S=0, иначе PCPC+1 |
- |
- |
- |
- |
- |
JM aa |
FA |
3 |
PCaa при S=1, иначе PCPC+1 |
- |
- |
- |
- |
- |
PCHL |
E9 |
1 |
PC (HL) |
- |
- |
- |
- |
- |
CALL aa |
CD |
3 |
PCaa,M(SP-1) PCH, M(SP-2)PCL,SP SP-2 |
- |
- |
- |
- |
- |
RET |
C9 |
1 |
PCH M(SP+1), PCL M(SP), SP SP+2 |
- |
- |
- |
- |
- |
RST i*8 |
T |
1 |
PC(8*i)(10), M(SP-1)PCH, M(SP-2) PCL, SP SP-2 |
- |
- |
- |
- |
- |
5.Команды ввода и вывода, обращения к стеку и управления | ||||||||
IN ap |
DB |
2 |
A[ap] |
- |
- |
- |
- |
- |
OUT ap |
D3 |
2 |
[ap] A |
- |
- |
- |
- |
- |
PUSH RP |
T |
1 |
[ M(SP-1), M(SP-2) ]RP, SPSP-2 |
- |
- |
- |
- |
- |
POP RP |
T |
1 |
RP[ M(SP+1), M(SP)], SP SP+2 |
- |
- |
- |
- |
- |
XTHL |
E3 |
1 |
HM(SP+1), LM(SP) |
- |
- |
- |
- |
- |
SPHL |
F9 |
1 |
SP(H,L) |
- |
- |
- |
- |
- |
EI |
FB |
1 |
Разрешение прерывания |
- |
- |
- |
- |
- |
DI |
F3 |
1 |
Запрещение прерывания |
- |
- |
- |
- |
- |
NOP |
00 |
1 |
Пустая команда |
- |
- |
- |
- |
- |
HLT |
76 |
1 |
Останов |
- |
- |
- |
- |
- |
Дополнение к табл. 2.1.
Rj |
A |
B |
C |
D |
E |
H |
L |
M |
MOV Rj, Ri | ||||||||
A |
7F |
78 |
79 |
7A |
7B |
7C |
7D |
7E |
B |
47 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
C |
4F |
48 |
49 |
4A |
4B |
4C |
4D |
4E |
D |
57 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
E |
5F |
58 |
59 |
5A |
5B |
5C |
5D |
5E |
H |
67 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
L |
6F |
68 |
69 |
6A |
6B |
6C |
6D |
6E |
M |
77 |
70 |
71 |
72 |
73 |
74 |
75 |
------ |
ADD Ri |
87 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
ADC Ri |
8F |
88 |
89 |
8A |
8B |
8C |
8D |
8E |
ANA Ri |
A7 |
A0 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
CMP Ri |
BF |
B8 |
B9 |
BA |
BB |
BC |
BD |
BE |
DCR Ri |
3D |
05 |
0D |
15 |
1D |
25 |
2D |
35 |
INR Ri |
3C |
04 |
0C |
14 |
1C |
24 |
2C |
34 |
MVI Ri,V |
3E |
06 |
0E |
16 |
1E |
26 |
2E |
36 |
ORA Ri |
B7 |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
SUB Ri |
97 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
SBB Ri |
9F |
98 |
99 |
9A |
9B |
9C |
9D |
9E |
XRA Ri |
AF |
A8 |
A9 |
AA |
AB |
AC |
AD |
AE |
-
DAD B
09
INX B
03
POP B
C1
DAD D
19
INX D
13
POPD
D1
DAD H
29
INX H
23
POPH
E1
DAD SP
39
INX SP
33
POP PSW
F1
DCX B
0B
LXI B,VV
01
PUSH B
C5
DCX D
1B
LXI D,VV
11
PUSH D
D5
DCX H
2B
LXI H,VV
21
PUSH H
E5
DCX SP
3B
LXI SP,VV
31
PUSH PSW
F5
i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
RST i*8 |
C7 |
CF |
D7 |
DF |
E7 |
EF |
F7 |
FF |
Команда LDA аа осуществляет прямую загрузку аккумулятора содержимым ячейки памяти с адресом аа , причем второй байт команды - младшие разряды адреса , третий байт - старшие .
STA аа осуществляет передачу содержимого аккумулятора в ячейку с адресом аа , т.е. М(байт3,байт2) А.
LHLD аа загружает регистровую пару H,L содержимым ячейки памяти с адресом аа, аа+1, т.е. Н М(аа+1), L М(аа) .
LDAX B, LDAX D загружают аккумулятор содержимым ячейки по адресу, находящемуся в регистровой паре B,C; D,E соответственно .
STAX B,STAÕ D передают содержимое аккумулятора в ячейку памяти по адресу, находящемуся в регистровой паре B,C;D,E соответственно.
XCHG осуществляет обмен данными между регистрами H и D , L и E .
SHLD аа загружает две соседние ячейки памяти содержимым регистров H,L : М(байт3,байт2=аа(16)) L , М(аа+1) H.