Praca krokowa procesora 8080
Paweł Dąbek
Szyna adresowa |
Szyna danych |
Sygnały sterujące |
Cykl maszynowy |
Rozkaz |
Uwagi |
0000 |
C3 |
M1, MEMR |
FETCH |
JMP 004Bh |
Skok programu do adresu 004B
|
0001 |
4B |
MEMR |
ODCZYT PAMIECI |
|
|
0002 |
00 |
MEMR |
ODCZYT PAMIECI |
|
|
004B |
3E |
M1, MEMR |
FETCH |
MVI A, CEh |
Zapisanie wartości CE w rejestrze A |
004C |
CE |
MEMR |
ODCZYT PAMIECI |
|
|
004D |
D3 |
M1, MEMR |
FETCH |
OUT 85h |
Przesłanie zawartości rejestru A na port 85 |
004E |
85 |
MEMR |
ODCZYT PAMIECI |
|
|
8585 |
CE |
IOW |
PISZ NA WYJÅšCIE |
|
|
004F |
3E |
M1, MEMR |
FETCH |
MVI A, CEh |
Zapisanie wartości CE w rejestrze A |
0050 |
CE |
MEMR |
ODCZYT PAMIECI |
|
|
0051 |
D3 |
M1, MEMR |
FETCH |
OUT A5h |
Przesłanie zawartości rejestru A na port A5 |
0052 |
A5 |
MEMR |
ODCZYT PAMIECI |
|
|
A5A5 |
CE |
IOW |
PISZ NA WYJÅšCIE |
|
|
0053 |
3E |
M1, MEMR |
FETCH |
MVI A, 37h |
Zapisanie wartości 37 w rejestrze A |
0054 |
37 |
MEMR |
ODCZYT PAMIECI |
|
|
0055 |
D3 |
M1, MEMR |
FETCH |
OUT 8Bh |
Przesłanie zawartości rejestru A na port 8B |
0056 |
8B |
MEMR |
ODCZYT PAMIECI |
|
|
8B8B |
37 |
IOW |
PISZ NA WYJÅšCIE |
|
|
0057 |
3E |
M1, MEMR |
FETCH |
MVI A 70h |
Zapisanie wartości 70 w rejestrze A |
0058 |
70 |
MEMR |
ODCZYT PAMIECI |
|
|
0059 |
D3 |
M1, MEMR |
FETCH |
OUT 8Bh |
Przesłanie zawartości rejestru A na port 8B |
005A |
8B |
MEMR |
ODCZYT PAMIECI |
|
|
8D8D |
70 |
IOW |
PISZ NA WYJÅšCIE |
|
|
005B |
3E |
M1, MEMR |
FETCH |
MVI A 26h |
Zapisanie wartości 26 w rejestrze A |
005C |
26 |
MEMR |
ODCZYT PAMIECI |
|
|
005D |
D3 |
M1, MEMR |
FETCH |
OUT 88h |
Przesłanie zawartości rejestru A na port 88 |
005E |
88 |
MEMR |
ODCZYT PAMIECI |
|
|
8888 |
26 |
IOW |
PISZ NA WYJÅšCIE |
|
|
005F |
3E |
M1, MEMR |
FETCH |
MVI A 00h |
Zapisanie wartości 00 w rejestrze A |
0060 |
00 |
MEMR |
ODCZYT PAMIECI |
|
|
0061 |
D3 |
M1, MEMR |
FETCH |
OUT 88h |
Przesłanie zawartości rejestru A na port 88 |
0062 |
88 |
MEMR |
ODCZYT PAMIECI |
|
|
8888 |
00 |
IOW |
PISZ NA WYJÅšCIE |
|
|
0063 |
21 |
M1, MEMR |
FETCH |
LXI H 0D00h |
Przesłanie 0D00 do pary rejestrów HL |
0064 |
00 |
MEMR |
ODCZYT PAMIECI |
|
|
0065 |
0D |
MEMR |
ODCZYT PAMIECI |
|
|
0066 |
36 |
M1, MEMR |
FETCH |
MVI M, C9h |
Zapisanie wartości C9 do adresu |
0067 |
C9 |
MEMR |
ODCZYT PAMIECI |
|
|
0D00 |
C9 |
MEMR |
ODCZYT PAMIECI |
|
|
0068 |
31 |
M1, MEMR |
FETCH |
LXI SP, OFFFh |
Przesłanie 0FFF do wskaźnika stosu |
0069 |
FF |
MEMR |
ODCZYT PAMIECI |
|
|
006A |
0F |
MEMR |
ODCZYT PAMIECI |
|
|
006B |
21 |
M1, MEMR |
FETCH |
LXI H, 0409h |
Przesłanie 0409 do pary rejestrów HL |
006C |
09 |
MEMR |
ODCZYT PAMIECI |
|
|
006D |
04 |
MEMR |
ODCZYT PAMIECI |
|
|
006E |
DF |
M1, MEMR |
FETCH |
RST 3 |
Wydruk na monitor zawartości rejestrów HL |
0FFE |
00 |
STACK, MEMW |
ZAPIS NA STOS |
|
|
00FD |
6F |
STACK, MEMW |
ZAPIS NA STOS |
|
|
0018 |
C3 |
M1, MEMR |
FETCH |
JMP 00C7h |
Skok do adresu 00C7 |
0019 |
C7 |
MEMR |
ODCZYT PAMIECI |
|
|
001A |
00 |
MEMR |
ODCZYT PAMIECI |
|
|
00C7 |
7E |
M1, MEMR |
FETCH |
MOV A,M |
Przesłanie 1B z akumulatora do HL |
0409 |
1B |
MEMR |
ODCZYT PAMIECI |
|
|
00C8 |
FE |
M1, MEMR |
FETCH |
CPI 40h |
Porównanie rejestru A z wartością 40 |
00C9 |
40 |
MEMR |
ODCZYT PAMIECI |
|
|
00CA |
C8 |
M1, MEMR |
FETCH |
RZ |
Powrót warunkowy |
00CB |
CF |
M1, MEMR |
FETCH |
RST 1 |
Wydruk znaku z akumulatora na monitor |
0FFC |
00 |
STACK, MEMW |
ZAPIS NA STOS |
|
|
0FFB |
CC |
STACK, MEMW |
ZAPIS NA STOS |
|
|
0008 |
C3 |
M1, MEMR |
FETCH |
JMP 02DBh |
Skok do adresu 02DB |
0009 |
DB |
MEMR |
ODCZYT PAMIECI |
|
|
000A |
02 |
MEMR |
ODCZYT PAMIECI |
|
|
02DB |
F5 |
M1, MEMR |
FETCH |
PUSH PSW |
Przesłanie danych na stos |
0FFA |
16 |
STACK, MEMW |
ZAPIS NA STOS |
|
|
0FF9 |
87 |
STACK, MEMW |
ZAPIS NA STOS |
|
|
02DC |
3E |
M1, MEMR |
FETCH |
MVI A, 27h |
Przesłanie 27 do rejestru A |
02DD |
27 |
MEMR |
ODCZYT PAMIECI |
|
|
02DE |
D3 |
M1, MEMR |
FETCH |
OUT 85h |
Przesłanie zawartości rejestru A na port 85 |
02DF |
85 |
MEMR |
ODCZYT PAMIECI |
|
|
8585 |
27 |
IOW |
PISZ NA WYJÅšCIE |
|
|
02E0 |
F1 |
M1, MEMR |
FETCH |
POP PSW |
Zdjęcie danych ze stosu |
0FF9 |
87 |
STACK, MEMR |
ODCZYT ZE STOSU |
|
|
0FFA |
16 |
STACK, MEMR |
ODCZYT ZE STOSU |
|
|
02E1 |
D3 |
M1, MEMR |
FETCH |
OUT 84h |
Przesłanie zawartości rejestru A na port 84 |
02E2 |
84 |
MEMR |
ODCZYT PAMIECI |
|
|
8484 |
16 |
IOW |
PISZ NA WYJÅšCIE |
|
|
02E3 |
DB |
M1, MEMR |
FETCH |
IN 85h |
Przesłanie danych z portu 85 do rejestru A |
02E4 |
85 |
MEMR |
ODCZYT PAMIECI |
|
|
8585 |
27 |
IOR |
ODCZYT Z WEJSCIA |
|
|
02E5 |
E6 |
M1, MEMR |
FETCH |
ANI 01h |
Operacja sumy logicznej pomiędzy rej A i 01 |
02E6 |
01 |
MEMR |
ODCZYT PAMIECI |
|
|
02E7 |
CA |
M1, MEMR |
FETCH |
JZ 02E3h |
Skok do adresu 02E3 jeśli spełniony warunek |
02E8 |
E3 |
MEMR |
ODCZYT PAMIECI |
|
|
02E9 |
02 |
MEMR |
ODCZYT PAMIECI |
|
|
02EA |
C9 |
M1, MEMR |
FETCH |
RET |
Powrót z podprogramu do adresu 00CC |
0FFB |
CC |
STACK, MEMR |
ODCZYT ZE STOSU |
|
|
0FFC |
00 |
STACK , MEMR |
ODCZYT ZE STOSU |
|
|
00CC |
23 |
M1, MEMR |
FETCH |
INX H |
Inkrementacja pary rejestrów HL |
00CD |
C3 |
M1, MEMR |
FETCH |
JMP 00C7h |
Skok do adresu 00C7 |
00CE |
C7 |
MEMR |
ODCZYT PAMIECI |
|
|
00CF |
00 |
MEMR |
ODCZYT PAMIECI |
|
|
00C7 |
7E |
M1, MEMR |
FETCH |
MOV A,M |
Przesłanie danych z akumulatora do HL |
040A |
48 |
MEMR |
ODCZYT PAMIECI |
|
|