Лабораторная работа №2
Изучение схемотехнических
особенностей выполнения команд
Общие сведения
В данной работе обращается внимание на некоторые команды из всего возможного множества, которое реализуется процессором INTEL 8080. Варианты заданий предложены в таблице 3. В процессе работы необходимо разумным образом выбрать начальный адрес программы исходя из удобства синхронизации осциллографа, если этот адрес не определён заданием, организовать цикличность повторения программы для обеспечения возможности использования обычного осциллографа, загрузить программу и все участвующие в программе регистры и ячейки памяти разумной информацией, перейти после пошаговой проверки программы в режим «Прогон», подключить один из каналов осциллографа к выбранному сигналу синхронизации и запустить программу.
В качестве сигнала синхронизации следует выбирать тот сигнал, который меняет своё состояние один раз за всё время цикла выполнения программы. В этом случае может быть обеспечена стабильность изображения на осциллографе. Например, при анализе команды JMP A, когда вся программа будет содержать только одну команду перехода на свой же адрес, можно использовать сигнал M1, который появляется в первом машинном цикле каждой команды. А поскольку цикл будет содержать только одну не однобайтную команду, то за цикл этот сигнал только один раз будет менять своё состояние. Сигнал синхронизации можно искусственно создать, вставив в цикл лишнюю команду, не мешающую анализу временных диаграмм выбранной команды, но позволяющую создать импульс синхронизации в какой-либо цепи. Например, вставив команду типа OUT A на пустой адрес, можно вызвать появление в каждом цикле выполнения программы одиночного импульса на линии IOW. Этот сигнал и может выступать в качестве синхросигнала.
Перед написанием и набором программы необходимо обдумать поведение процессора, выполнить пошаговую проверку работы программы, оценить число требуемых для выполнения программы шагов.
Для каждого задания необходимо выполнить следующее.
-
Представить загрузку памяти и мнемонику команд.
-
Построить временные диаграммы, на которых выделить командные и машинные циклы, такты, состояния шин системы, поставить в соответствие командным циклам мнемонику выполняемой команды, представить на временных диаграммах те сигналы из предложенного ниже множества, которые в данной программе изменяют свои состояния, представить рядом с временными диаграммами состояние тех сигналов, которые не меняют свои состояния. Множество контролируемых сигналов следующее: F2, M1, SYNC или STB, DBIN, WR, IOR, IOW, MEMR, MEMW, шина адреса, шина данных.
-
Таблица 3
н о м е р б р и г а д ы
-
№
1
2
3
4
5
6
1
JMP 8200
JMP 8213
JMP 8207
JMP 821B
JMP 820D
JMP 821F
2
MOV
A,B
MOV
B,A
MOV
B,C
MOV
C,D
MOV
D,H
MOV
H,L
3
MOV
A,M
(HL)=
820F
MOV
B,M
(HL)=
8210
MOV
M,C
(HL)=
8220
MOV
M,D
(HL)=
822F
MOV
E,M
(HL)=
8230
MOV
C,M
(HL)=
8240
4
MVI A,25
MVI
B,54
MVI
C,46
MVI
D,69
MVI
E,78
MVI
H,FO
5
LHLD
8250
SHLD
8260
XCHG
XCHG
STA 82DO
LDAX HL
6
MVI
A,FO
a:XRI FO
JP a
JMP a
MVI
A,89
a:XRI 80
JP a
JMP a
MVI
B,9F
MVI
A,F1
a:XRI FO
JP a
JMP a
MVI
B,FO
MVI
A,00
A:XRI B
JP a
JMP a
MVI
A,00
A:XRI 80
JP a
JMP a
MVI
A,90
A:XRI 80
JP a
JMP a
7
a:INR A
JP O a
JMP a
a:INR B
JP E a
JMP a
a:DCR C
JP E a
JM O a
a:DCR D
JP O a
JM E a
a:INR E
JP E a
JMP a
a:INR H
JP O a
JMP a
8
a:
CALL
8208
JMP a
a:
CALL
8200
JMP a
a:
CALL
8202
JMP a
a:
CALL
8201
JMP a
a:
CALL
8203
JMP a
a:
CALL
820A
JMP a
9
PUSH PSW
POP PSW
PUSH HL
POP HL
PUSH BC
POP BC
PUSH DE
POP DE
PUSH PSW
POP PSW
PUSH DE
POP DE