Interní registry (programátorovi neviditelné)
- IR - instrukční registr (8bitový); je napojen na dekodér
instrukcí (řadič)
- DR - datový registr (8 bitový); registr pro čtení/zápis dat
z/do paměti
- AR - adresový registr (16 bitový); adresa pro čtení/zápis z/do
paměti
- TA - Temporary Address register (skládá se z TAH (TA
High - 8 bitů), TAL (TA Low - 8bitů))
Fáze instrukcí (mikroinstrukce)
- Fáze instrukce LDA
- 200 > PC - počátační nastavení PC
- PC > AR, 0 > WR, DR > IR - výběr operačního znaku
- PC + 1 > AR, 0 > WR, DR > TAL - výběr operandu
- PC + 2 > AR, 0 > WR, DR > TAH - výběr operandu
- TA > AR, 0 > WR - výpěr operandu
- DR > A - provedení instrukce
- P3 + 3 > PC - aktualizace PC
- Fáze instrukce STA
- 200 > PC - počátační nastavení PC
- PC > AR, 0 > WR, DR > IR
- PC + 1 > AR, 0 > WR, DR > TAL
- PC + 2 >AR, 0 > WR, DR > TAH
- A > DR
- TA > AR, 1 > WR
- PC + 3 > PC
- další registry B, C, D, E, H, L (8 bitové)
- instrukce přesunu mezi registry MOV R1, R2 - kódování - 1
slabika (kombinace registrů je součástí operačního znaku)
- Fáze MOV
- PC > AR, 0 > WR, DR > IR
- r1 > r2
- PC + 1 > PC
- Aritmetické instrukce
- Fáze INR (Increment Register)
- PC > AR, 0 > WR, DR > IR
- r + 1 > r
- PC + 1 > PC
- Fáze ADD (Add register to A)
- PC > AR, 0 > WR, DR > IR
- A + r v A
- PC + 1 > PC
- Fáze CMA (Complement A) ... (= inverze všech bitů registru A)
- PC > AR, 0 > WR, DR > IR
- NOT A > A
- PC + 1 > PC
Příznakový registr F procesoru I8080
Z (Zero) - = 1 při nulovém výsledku operace, =0
při nenulovém
S (Sign) - Kopie znaménkového bitu výsledku operace
CY (Carry) - Kopie bitu přenášeného z nejvyššího řádu
výsledku operace
AC (Auxilary Carry) - přenos mezi bitem 3 a 4 výsledku
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
< < CY < ^ |
|
|
^ < AC < ^ |
|
|
|
P (Parity) = 1 při sudé paritě výsledku, =0 při liché
paritě výsledku
Příznaky nastavují instrukce: INR, ADD, CMA
Příznaky nemění instrukce: LDA, STA, JMP, MOV
- Fáze CMP r (Compare Register with A)
- PC > AR, 0 > WR, DR > IR
- A - r >> nastavení příznaků
- PC + 1 > PC
Michal Brandejs brandejs@informatics.muni.cz