Mikroprocesor Intel 8080/85

advertisement
Mikroprocesor Intel 8080/85
i inne
dr inż. Wiesław Madej
Architektura procesora
A
F
ALU
B
C
D
E
H
L
PC
SP
Procesor 8-bitowy z 16-bitową szyną adresową.
Może zaadresować 64kB (65536) komórek
pamięci.
Bity rejestru Flag (F)
Rejestr zawiera 5 bitów:
Z – bit zera (ustawia się na1 gdy wynik ostatniej operacji
wynosi 0)
S – bit znaku, (0-wynik dodatni 1-wynik ujemny)
CY – bit przeniesienia
AC – bit przeniesienia połówkowego
P – bit parzystości, sygn. parzysty = 1
Struktura systemu 8080
8080
Φ1
DATA
DATA
Φ2
SYNC
DBIN
WR
8228
8224
STSTB
MEM
R
MEMW
IOR
IOW
Przykładowe rozkazy
• MOV- rozkaz przesyłania pomiędzy akumulatorem i rejestrem
• MVI- rozkaz wpisania do akumulatora konkretnej wartości
• ADD B – do akumulatora dodaj wartość B i wynik w
akumulatorze
• ADI 12H – do akumulatora dodaj wartość 12
• ADC – dodanie z uwzględnieniem CY
• ACI – dodanie z uwzględnieniem bitu przeniesienia CY
(konkretna wartość)
• SUB – odejmowanie
• SUI – odejmowanie konkretnej wartości
• SBB , SBI
Procesor Z-80
Architektura procesora
I
A
B
C
D
E
H
L
PC
SP
F
A’
F’
ALU
B’
C’
D’
E’
H’
L’
IX
IY
Bity rejestru Flag (F)
Rejestr zawiera 6 bitów:
Z – bit zera (ustawia się na1 gdy wynik ostatniej operacji jest
równy 0)
S – bit znaku, (0-wynik dodatni 1-wynik ujemny)
CY – bit przeniesienia
AC – bit przeniesienia połówkowego
P/V – bit parzystości lub nadmiaru, sygn. parzysty = 1
N – bit odejmowania – umożliwia korekcję dziesiętną dla
odejmowania
Przykładowe rozkazy
• LD – rozkaz przesyłania pomiędzy
akumulatorem, rejestrami i pamięcią
• ADD A,x – do akumulatora dodaj wartość x i
wynik w akumulatorze
• ADC A,x – dodanie z uwzględnieniem CY
• SUB A,x – odejmowanie
• SBC A,x
• LDIR – skopiuj blok pamięci z inkrementacją
• LDDR – skopiuj blok pamięci z dekrementacją
• ADD HL,nn – dodawanie 16-bitowe
Intel 8086
Pierwszy 16-bitowy mikroprocesor
Intel 8086
Intel 8086 – wyprowadzenia
Schemat blokowy
Rejestr znaczników (flag)
Bezpośrednio do jednostki arytmetyczno-logicznej dołączony jest 16bitowy rejestr znaczników (rejestr flag). Znajdujące się w nim flagi
zostały podzielone na dwie grupy, tj. kontrolną i arytmetyczną. Flagi
arytmetyczne dostarczają dodatkowych informacji na temat wyniku
ostatniej operacji wykonanej przez jednostkę arytmetyczno-logiczną.
Flagi kontrolne wpływają na sposób pracy mikroprocesora.
Znaczniki (flagi)
Mniej znaczący bajt rejestru znaczników odpowiada rejestrowi znaczników mikroprocesora
8080/8085. Cztery najbardziej znaczące bity pozostają nieużywane.
Znaczenie poszczególnych znaczników jest następujące:
• SF (sign flag) - znacznik znaku - równy najbardziej znaczącemu bitowi wyniku
• ZF (zero flag) - znacznik zera
• PF (parity flag) - znacznik parzystości - ustawiany w zależności od liczby jedynek w
najmniej znaczących 8 bitach wyniku
• AF (auxiliary carry flag) - znacznik przeniesienia połówkowego (pomocniczego)
• CF (carry flag) - znacznik przeniesienia
• OF (overflow flag) - znacznik nadmiaru
• IF (interrupt flag) - znacznik przerwań
• DF (direction flag) - znacznik kierunku, wskazuje, czy zawartości rejestrów SI i DI mają
być zwiększane lub zmniejszane o jeden w czasie wykonywania operacji łańcuchowych
– 0 - rejestry są zwiększane; 1 - rejestry są zmniejszane
• TF (trap flag) - znacznik pułapki umożliwiającej pracę krokową
– 0 - praca krokowa wyłączona
– 1 - praca krokowa włączona, mikroprocesor po wykonaniu każdego rozkazu wykona
skok do odpowiedniego podprogramu obsługi przerwania
TRYBY ADRESOWANIA
Mikroprocesor 8086 realizuje następujące tryby
adresowania:
• natychmiastowe
• rejestrowe
• bezpośrednie
• pośrednie
• bazowe
• indeksowe
• indeksowo-bazowe
Adresowanie 20-bitowe
Powstaje poprzez dodanie 16-bitowej zawartości
licznika rozkazów i przesuniętej o 4 bity w lewo
zawartości rejestru segmentowego.
Po raz pierwszy zastosowano zapis adresu:
SEGMENT:OFFSET
Przerwa
Download