- •Лабораторная работа № 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.

Ri