CXQ70116 16bitový mikroprocesor
„
Specifikace
- Model: CXQ70116
- Architektura: 16bitová
- Datová sběrnice: 16bitová externí
- Instrukční sada: Nadmnožina 8086/8088
- Rychlost provádění: 250 ns (při 8 MHz)
- Emulace: Funkce 8080
- Spotřeba energie: K dispozici je pohotovostní režim
Návod k použití produktu
Popis
CXQ70116 je 16bitový mikroprocesor CMOS s vnitřním a
externí 16bitová architektura. Má výkonnou sadu instrukcí
to zahrnuje bitové zpracování, pakované BCD operace a vysokou rychlost
operace násobení/dělení.
Vlastnosti
- Minimální doba provádění instrukce: 250 ns (při 8 MHz)
- Rychlost přenosu dat 2 Mbajty/s (při 8 MHz)
- 2 hodinové cykly v libovolném režimu adresování
Konfigurace pinů (nahoře View)
[Sem zahrňte schéma konfigurace pinů]Blokové schéma
[Sem zahrňte blokové schéma]Identifikace PIN
[Sem zahrňte tabulku identifikace pinů]Funkce pinů
[Sem zahrňte podrobnosti o funkcích špendlíku]FAQ
1.Jak připojit IC pin?
Pin IC by měl být připojen k zemi v souladu s
manuál.
2. Jaká je podporovaná rychlost hodin
mikroprocesor?
Mikroprocesor podporuje takt až 8 MHz.
3. Dokáže CXQ70116 emulovat procesor 8080?
Ano, CXQ70116 dokáže emulovat funkce 8080
procesor.
“`
16bitový mikroprocesor SONY
CXQ70116
Popis
CX070116 je 16bitový mikroprocesor CMOS s vnitřní 16bitovou architekturou a 16bitovou externí datovou sběrnicí. Instrukční sada CX070116 je nadmnožinou
Konfigurace pinů (nahoře View)
{V malém měřítku} { Ve velkém měřítku}
Režim
Režim
z 8086/8088; avšak mnemotechnické pomůcky a provedení
IC
časy jsou jiné. CX070116 má navíc a
A014
AD13
výkonná instrukční sada včetně bitového zpracování,
A012
sbalené operace BCD a vysokorychlostní násobení/
AD11
operace divize. CX070116 umí také emulovat
AD10
funkce 8080 a je dodáván s pohotovostním režimem
A09
ADe
režim, který výrazně snižuje spotřebu energie.
AD1
Je softwarově kompatibilní s CX070108
A De
mikroprocesor.
INZERÁT,
·oo ADn
A,tlPSo A11/PS1
A1a!PS2 A1t!PS3 UBE S/LG
iiD
HLORQ HLOAK
WR
(AQ/AKoJ
1R01AK,1
(BUSLDCKJ
Vlastnosti
AD3 AD2
Minimální doba provádění instrukce:
AD1
250 ns (při 8 MHz)
A Do
· Maximální adresovatelná paměť: 1 MB
NMI
INT
· Bohaté režimy adresování paměti
CLK
· Sada registrů 14 x 16 bitů
GND
· 101 pokynů
IO/M BUFRtw BUFEN ASTB
INTAK ANKETA PŘIPRAVENA RESET
(BS2( (BS1J (BSoJ !OSoJ [OS1)
I
· Instrukční sada je nadmnožinou 8086/B088
instrukční sada
· Bitové, byte, word a blokové operace
· Pokyny pro provoz bitového pole
· Zabalený návod k obsluze BCD
· Doba provedení instrukce násobení/dělení:
2.4 µs až 7.1 µs (při 8 MHz)
· Pokyny pro vysokorychlostní přenos bloků:
2 Mbajty/s (při 8 MHz)
· Vysokorychlostní výpočet efektivních adres:
2 hodinové cykly v libovolném režimu adresování
· Maskovatelné (INT) a nemaskovatelné (NMI) přerušení
vstupy
· Rozhraní kompatibilní se sběrnicí IEEE-796
· Funkce emulace 8080
· Technologie CMOS
· Nízká spotřeba energie
· Pohotovostní funkce
· Jediný napájecí zdroj
· 5-MHz nebo B-MHz hodiny
· 40kolíkový plast/keramika DIP (600 mil)
· Kompatibilní s NEC µPD70116 (V30).
-71-
© 1985 NEC Electronics
CX070116
Blokové schéma
a,
LC PC AW
au cw au
IX IY BP SP
SONY@
Autobusové máslo
T-State Control
Kontrola stavu
Ull!
BUFEN[BSo], BUFFi/W [8$1] flliM{BSaJ ASTB [OSgJ, INTAK (OS1] iiO, iili {iJlJSl:llCKJ
S/LG READY RESET ANKETA
Bus Hold Control
Kontrola přerušení
~~
Efektivní generátor adres
HLDRO !RO!iKoJ HLDAK [RQ/W,]
~NMI
INT
CLK
Řízení sběrnice
Jednotka [BCU] Prováděcí jednotka [EXU]
Skladování mikroinstrukcí
Mikroinstrukce
Dílčí datová sběrnice (16]
PSW
Hlavní datová sběrnice [16]
Řízení mikrosekvence
Inslrukční dekodér
-72-
CX070116
SONY@
Identifikace PIN
Žádný.
Symbol
Směr
Funkce
1
IC*
Vnitřně propojeno
2-16
AD14-ADo
In/Out
Adresová/datová sběrnice
17
NMI
In
Vstup nemaskovatelného přerušení
18
INT
In
Maskovatelný vstup přerušení
19
CLK
In
Hodinový vstup
20
GND
Země
21
RESETOVAT
In
Resetovat vstup
22
PŘIPRAVEN
In
Připravený vstup
23
HLASOVÁNÍ
In
Vstup do ankety
24
INTAK (QS1)
Ven
Výstup potvrzení přerušení (výstup stavového bitu 1 fronty)
25
ASTB (QSo)
Ven
Výstup stroboskopu adresy (výstup stavu fronty bit 0)
26
BUFEN (BSo)
Ven
Výstup povolení vyrovnávací paměti (výstup stavu sběrnice 0)
27
BUFR/W (BS1)
Ven
Výstup pro čtení/zápis z vyrovnávací paměti (výstup stavu sběrnice 1)
28
10/M (BS2)
Ven
Přístup je 1/0 nebo paměť (výstup stavu sběrnice 2)
29
WR (BUSLOCK)
Ven
Zápisový stroboskopický výstup (výstup uzamčení sběrnice)
30
HLDAK (RQ/AK1)
Out (In/Out)
Výstup potvrzení přidržení, (vstup požadavku na přidržení sběrnice/výstup potvrzení 1)
I
31
HLDRQ (RQ/AKo)
In
Vstup požadavku na přidržení (vstup/potvrzení požadavku na přidržení sběrnice
(In/Out)
výstup 0)
32
RD
Ven
Přečtěte si stroboskopický výstup
33
S/LG
In
Vstup do systému Sma II/velkoplošný
34
UBE
Ven
Povolení horního bajtu
35-38 Ais/PS3-A16/PSo
Ven
Adresová sběrnice, vysoké bity nebo výstup stavu procesoru
39
AD15
In/Out
Adresová/datová sběrnice, bit 15
40
Let
Napájení
Poznámky: *IC by měl být připojen k zemi. Tam, kde mají piny různé funkce v malých a velkých systémech, jsou symboly pinů a funkce velkého systému v závorkách. Nepoužité vstupní kolíky by měly být svázány se zemí nebo Voo, aby se minimalizovaly ztráty energie a zabránilo toku potenciálně škodlivých proudů.
– 73 –
CX070116
SONY@
Funkce pinů
Některé piny CXQ70116 mají různé funkce podle toho, zda je mikroprocesor použit v malém nebo velkém systému. Ostatní piny fungují stejným způsobem v obou typech systému.
AD1s – ADo [Address/Data Bus] Pro malé a velké systémy. AD1s – ADo jsou časově multiplexovaná adresová a datová sběrnice. Jsou vysoce aktivní. Tento autobus obsahuje
nižších 16 bitů 20bitové adresy během T1 cyklu sběrnice. Používá se jako 16bitová datová sběrnice během T2, T3 a T4 cyklu sběrnice.
Adresová/datová sběrnice je třístavová a v pohotovostním režimu může být vysoká nebo nízká. Sběrnice bude plout na vysokou impedanci během přidržení a potvrzení přerušení.
NMI [Nonmaskable Interrupt] Pro malé a velké systémy. Tento pin se používá pro zadávání nemaskovatelných požadavků na přerušení. NMI nelze maskovat softwarově. Tento vstup
je spouštěn kladnou hranou a lze jej snímat během libovolného taktu. Skutečné zpracování přerušení však začíná až po dokončení probíhající instrukce.
Obsah vektoru přerušení 2 určuje počáteční adresu pro rutinu obsluhující přerušení. Pamatujte, že požadavek na výpůjčku bude přijat i během potvrzení NMI.
Toto přerušení způsobí, že CXQ70116 opustí pohotovostní režim.
INT [Maskable Interrupt] Pro malé a velké systémy. Tento pin je požadavek na přerušení spouštěný úrovní, který může být maskován softwarem. INT je aktivní high a je snímáno během poslední hodiny instrukce. Přerušení bude přijato, pokud
systém je ve stavu povolení přerušení (pokud je nastaven příznak povolení přerušení IE). CPU vysílá signál INTAK, aby informoval externí zařízení, že byl povolen požadavek na přerušení.
Pokud dojde k přerušení NMI a INT současně, NMI má vyšší prioritu než INT a INT nelze přijmout. Požadavek na výpůjčku bude přijat během potvrzení INT.
Toto přerušení způsobí, že CXQ70116 opustí pohotovostní režim.
CLK [Hodiny] Pro malé a velké systémy. Tento pin se používá pro vstup externích hodin.
RESET [Reset] Pro malé a velké systémy. Tento pin se používá pro signál resetování CPU. Je aktivní vysoko. Vstup tohoto signálu má přednost před všemi ostatními
operace. Poté, co se vstup resetovacího signálu vrátí na nízkou úroveň, CPU zahájí provádění programu počínaje adresou FFFFOH.
Kromě toho, že způsobí normální start CPU, vstup RESET způsobí, že CXQ70116 opustí pohotovostní režim.
READY [Připraveno] Pro malé a velké systémy. Když paměť nebo 1/0 zařízení, ke kterému se přistupuje, nemůže dokončit čtení nebo zápis dat v základním CPU
přístupový čas, může generovat stav čekání CPU (Tw) nastavením tohoto signálu na neaktivní (nízký) a vyžádáním zpoždění cyklu čtení/zápisu.
Pokud je signál READY aktivní (vysoký) během stavu T3 nebo Tw, CPU nevygeneruje stav čekání.
– 74-
CX070116
SONY@
ANKETA [Anketa] Pro malé a velké systémy. CPU kontroluje tento vstup po provedení instrukce POLL. Pokud je vstup nízký, pak provedení
pokračuje. Pokud je vstup vysoký, CPU bude kontrolovat vstup POLL každých pět hodinových cyklů, dokud se vstup opět nezníží.
Funkce POLL a READY se používají k synchronizaci provádění programu CPU s provozem externích zařízení.
RD [Read Strobe] Pro malé a velké systémy. CPU vysílá tento zábleskový signál během čtení dat z 1/0 zařízení nebo paměti. Signál 16/M je
slouží k výběru mezi 1/0 a pamětí. V pohotovostním režimu bude RD vysoká. Je třístavový a při potvrzení přidržení se vznáší na vysokou impedanci.
S/LG [malý/velký]
Pro malé a velké systémy.
Tento signál určuje provozní režim CPU. Tento signál je pevně nastaven na vysokou nebo nízkou úroveň. Když tohle
Pokud je signál vysoký, CPU bude pracovat v režimu malého systému, a když je nízký, ve velkém systému
režimu. Malý systém bude mít na sběrnici nanejvýš jednu hlavní sběrnici, jako je řadič DMA. A
rozsáhlý systém může mít více než jeden master bus přistupující ke sběrnici i k CPU.
Piny 24 až 31 fungují odlišně v závislosti na provozním režimu CPU. Samostatné názvosloví je
přijaté pro tyto signály ve dvou provozních režimech. Funkce
I
Pin č.
S/LG-vysoká
S/LG-nízká
24
INTAK
OS1
25
ASTB
OSo
26
BU FEN
BSo
27
BUFR/W
BS1
28
10/M
BS2
29
WR
BUSLOCK
30
HLDAK
RO/AK1
31
HLDRQ
RO/AKo
INTAK [Potvrzení přerušení] Pro systémy malého rozsahu. CPU generuje nízký signál INTAK, když přijme signál INT. Přerušovací zařízení se synchronizuje s tímto signálem a odešle vektor přerušení do CPU přes
datová sběrnice (AD1 – ADo). INTAK bude v pohotovostním režimu vysoký.
ASTB [Strobe adresy] Pro malé systémy. CPU vysílá tento zábleskový signál k zachycení informací o adrese na externím blokovacím zařízení. ASTB bude nízká
během pohotovostního režimu.
– 75 –
CX070116
SONY@
BUFEN [Buffer Enable] Pro malé systémy. Používá se jako výstupní signál povolení pro externí obousměrnou vyrovnávací paměť. Tento signál generuje CPU
při operacích přenosu dat s externí pamětí nebo 1/0 zařízeními nebo při vstupu vektoru přerušení. BU FEN bude v pohotovostním režimu vysoká. Je třístavový a při držení se vznáší na vysokou impedanci
potvrdit.
BUFR/W [Čtení/zápis z vyrovnávací paměti] Pro malé systémy. Výstup tohoto signálu určuje směr přenosu dat pomocí externí obousměrné vyrovnávací paměti. A
vysoký výkon způsobuje přenos z CPU do externího zařízení; nízký signál způsobí přenos dat z externího zařízení do CPU.
BUFR/W bude v pohotovostním režimu buď vysoká, nebo nízká. Je třístavový a při potvrzení přidržení se vznáší na vysokou impedanci.
iO/M [10/paměť] Pro malé systémy. CPU generuje tento signál pro specifikaci přístupu 1/0 nebo přístupu do paměti. Nízkoúrovňový výstup
určuje 1/0 a high-level určuje paměť.
iO/M bude v pohotovostním režimu buď vysoká, nebo nízká. Je třístavový a při potvrzení přidržení se vznáší na vysokou impedanci.
WR [Write Strobe] Pro malé systémy.
CPU generuje tento zábleskový signál během zápisu dat do 1/0 zařízení nebo paměti. Volba buď 1/0 nebo paměti se provádí signálem 10/M.
WR bude v pohotovostním režimu vysoká. Je třístavový a při potvrzení přidržení se vznáší na vysokou impedanci.
HLDAK [Hold Acknowledge] Pro systémy malého rozsahu. Signál HLDAK se používá k indikaci, že CPU akceptuje signál požadavku na přidržení (HLDRQ). Když tohle
Pokud je signál vysoký, adresová sběrnice, adresová/datová sběrnice a řídicí vedení mají vysokou impedanci.
HLDRQ [Požadavek na pozdržení] Pro malé systémy. Tento vstupní signál je používán externími zařízeními k požadavku CPU na uvolnění adresové sběrnice, adresy/dat
sběrnice a řídící sběrnice.
UBE [Upper Byte Enable] Pro malé a velké systémy. UBE indikuje použití horních osmi bitů (AD1s – ADs) adresové/datové sběrnice během cyklu sběrnice.
Tento signál je aktivní nízko během T1 pro cykly čtení, zápisu a potvrzení přerušení, když mají být použity AD1 – AD. Cykly sběrnice, ve kterých je UBE aktivní, jsou uvedeny v následující tabulce.
– 76 –
CXQ70116
SONY@
Typ Bus Operation Word na sudé adrese
Slovo na liché adrese
Bajt na sudé adrese Bajt na liché adrese Poznámky: *První cyklus sběrnice
**Druhý autobusový cyklus
-UBE
0 0 1 1 0
A Do 0 1 *
Ó··
0
Počet cyklů autobusu 1 2
1
UBE je trvale nízký během stavu potvrzení přerušení. V pohotovostním režimu bude vysoká. Je třístavový a při potvrzení přidržení se vznáší na vysokou impedanci.
A19/PS3 – A16/PSo [Stav adresové sběrnice/procesoru]
Pro malé a velké systémy.
Tyto piny jsou časově multiplexovány, aby fungovaly jako adresová sběrnice a jako signály stavu procesoru.
Při použití jako adresová sběrnice jsou tyto piny nejvyšší 4 bity 20bitové adresy paměti. Během 1/0
přístup, a11 4 bitová výstupní data 0.
Signály stavu procesoru jsou poskytovány jak pro paměť, tak pro použití 1/0. PSJ je vždy 0 v nativní
režim a režim emulace 1 v 8080. Příznak povolení přerušení (IE) je vyveden na pin PS2. Piny PS1 a PSo označují, ke kterému paměťovému segmentu se přistupuje.
I
A11/PS1
A16/PSo
Segment
0
0
Datový segment 1
0
1
Segment zásobníku
1
0
Programový segment
1
1
Datový segment 0
A19/PS3 – A16/PSo bude v pohotovostním režimu buď vysoká, nebo nízká. Jsou třístavové a plavou na vysokou impedanci během potvrzení přidržení.
QS1, QSo [Stav fronty] Pro rozsáhlé systémy. CPU používá tyto signály k povolení externích zařízení, jako je aritmetický procesor s plovoucí desetinnou čárkou
čip, ke sledování stavu interní fronty instrukcí CPU.
QS1
QSo
Stav fronty pokynů
0
0
NOP (fronta se nemění)
0
1
První bajt instrukce
1
0
Splachovací fronta
1
1
Následující bajty instrukce
Stav fronty instrukcí indikovaný těmito signály je stav, kdy prováděcí jednotka (EXU) přistupuje k frontě instrukcí. Výstup dat z těchto pinů je tedy platný pouze po dobu jednoho hodinového cyklu bezprostředně po přístupu do fronty. Tyto stavové signály jsou poskytovány tak, aby čip procesoru s pohyblivou řádovou čárkou mohl monitorovat stav provádění programu CPU a synchronizovat jeho činnost s CPU, když mu je řízení předáno instrukcemi FPO (Floating Point Operation).
QS1, QSo bude v pohotovostním režimu nízká.
-77-
CX070116
SONY@
BS2 – BSo [Bus Status] Pro rozsáhlé systémy. CPU používá tyto stavové signály, aby umožnil externímu řadiči sběrnice sledovat aktuální sběrnici
cyklus je. Externí řadič sběrnice tyto signály dekóduje a generuje řídicí signály potřebné k provedení
přístup k paměti nebo 1/0 zařízení.
BS2
BS1
BSo
Autobusový cyklus
0
0
0
Potvrzení přerušení
0
0
1
1/0 přečteno
0
1
0
1/0 napsat
0
1
1
Zastavit
1
0
0
Načítání programu
1
0
1
Čtení paměti
1
1
0
Zápis do paměti
1
1
1
Pasivní stav
BS2 – BSo bude v pohotovostním režimu vysoká. Jsou třístavové a plavou na vysokou impedanci během potvrzení přidržení.
BUSLOCK [Bus Lock] Pro rozsáhlé systémy. CPU používá tento signál k zabezpečení sběrnice při provádění instrukce bezprostředně následující
Instrukce předpony BUSLOCK. Je to stavový signál pro ostatní mastery sběrnice v multiprocesorovém systému, který jim během této doby brání v používání systémové sběrnice.
Výstup tohoto signálu je třístavový a během potvrzení přidržení se stává vysokou impedancí. BUSLOCK je v pohotovostním režimu vysoký, kromě případů, kdy má instrukce HALT předponu BUSLOCK.
RO/AK1, RO/AKo [Žádost o pozastavení/Potvrzení] Pro rozsáhlé systémy. Tyto piny fungují jako vstupy požadavku na přidržení sběrnice (RO) a jako výstupy potvrzení přidržení sběrnice (AK). RO/AKo
má vyšší prioritu než RO/AK1. Tyto kolíky mají třístavové výstupy s vytahovacími odpory na čipu, které udržují kolík na vysoké úrovni
výstup má vysokou impedanci.
Voo [Power Supply] Pro malé a velké systémy.
Tento pin se používá pro napájení +sv.
GND [Ground] Pro malé a velké systémy. Tento kolík se používá pro uzemnění.
IC [Internally Connected] Tento kolík se používá pro testy prováděné ve výrobě společností SONY. CXQ70116 se používá s tímto kolíkem na zemním potenciálu.
-78 –
CX070116
SONY@
Absolutní maximální hodnocení
Parametr
Napájení voltage Vstupní objemtage Vstup CLK objtage Výstup objtage Ztráta energie Provozní teplota Skladovací teplota
Symbol
Voo V1 VK Vo PoMAX Topr Tstg
(Ta=+25 °C)
Hodnota hodnocení
-0.5 až +7.0 -0.5 až Voo +o,3 -0.5 až Voo +1.0 -0.5 až Voo +0.3
+o,5 -40 až +85 -65 až +150
Jednotka
vvvv
w
oc oc
Komentář: Vystavení zařízení namáhání vyšším, než je uvedeno v absolutních maximálních hodnotách, může způsobit trvalé poškození. Zařízení není určeno pro provoz za podmínek mimo limity popsané v provozních částech této specifikace. Vystavení absolutní maximální jmenovité hodnotě po delší dobu může ovlivnit spolehlivost zařízení.
Charakteristika DC
CXQ70116-5, Ta=-40°C až +85°C, Voo=+5V±10%
Parametr
Symbol
CX070116-8, Ta=-10°C až +70°C, Voo=+5V±5%
Min.
Limity Typ.
Max.
Jednotka
Testovací podmínky
I
Vstupní objemtage vysoká
VIH
2.2
v Voo+0.3
Vstupní objemtage nízká
VIL
-0.5
0.8
v
Vstup CLK objtage vysoká
VKH
3.9
v Voo+1.0
Vstup CLK objtage nízká
VKL
-0.5
0.6
v
Výstupní objemtage vysoká
VOH 0.7XVoo
v
loH = -400 uA
Výstupní objemtage nízká
VOL
0.4
v
loL = 2.5 mA
Vysoký svodový proud na vstupu
ILIH
10
uA
V1 = Voo
Nízký vstupní svodový proud
ILIL
-10
uA
V1=0V
Vysoký svodový proud na výstupu
ILOH
10
uA
Vo=Voo
Nízký výstupní svodový proud
ILOL
-10
uA
Vo=OV
Napájecí proud
70116-5
30
5 MHz
5
70116-8 45
8 MHz
6
60
mA Normální provoz
10
mA Pohotovostní režim
80
mA Normální provoz
12
mA Pohotovostní režim
Kapacita
Parametr Vstupní kapacita 1/0 kapacita
Symbol
C1 C10
Limity
Min.
Max.
15
Jednotka
pF pF
(Ta=+25°C, Voo=OV)
Testovací podmínky
fc=1 MHz Neměřené piny se vrátily do OV
– 79 –
CX070116
SONY@
AC Charakteristika
CX070116-5, Ta=-40°C až +85°C, Voo=+5V±10% CX070116-8,Ta=-10°C až +70°C, Voo=+5V±5%
Parametr
CXQ70116-5 Symbol
Min. Max.
CXQ70116-8 Min. Max.
Malé/Velké měřítko
Cyklus hodin
tCYK
200
500
125
500
Šířka hodinového impulsu vysoká
tKKH
69
50
Nízká šířka hodinového impulsu
tKKL
90
60
Čas vzestupu hodin
r-
Hodiny podzimní čas
tKR
10
8
tKF
10
7
READY neaktivní nastavení na CLK!
tSRYLK
-8
-8
READY neaktivní podržení po CLK t tHKRYH
30
20
READY aktivní nastavení na CLK t
tSRYHK tKKL-8
tKKL-8
READY aktivní přidržení po CLK t
tHKRYL
30
20
Čas nastavení dat do CLK!
tSDK
30
20
Doba uchování dat po CLK!
tHKD
10
10
NMI. INT, čas nastavení POLL do CLK t tSIK
30
15
RESET nastavení času na CLK t
tSRST
30
20
RESET doba přidržení do CLK t
tHRST
10
10
Doba náběhu vstupu (kromě CLK)
tlR
20
20
Vstupní doba pádu (kromě CLK)
tlF
12
12
Doba náběhu výstupu
tOR
20
20
Výstupní doba pádu
TOF
12
12
Malé měřítko
Doba zpoždění adresy z CLK
tDKA
10
90
10
60
Doba udržení adresy z CLK
tHKA
10
10
Čas zpoždění PS od CLK!
tDKP
10
90
10
60
Doba zpoždění plováku PS od CLK t
tFKP
10
80
10
60
Čas nastavení adresy do ASTB!
tSAST tKKL-60
tKKL-30
Doba zpoždění adresy plováku z CLK ! tFKA
tHKA
80
tHKA
60
ASTB t čas zpoždění od CLK !
tDKSTH
80
50
ASTB! doba zpoždění od CLK t
tDKSTL
85
55
ASTB šířka vysoká
tSTST tKKL-20
tKKL-10
Doba držení adresy od ASTB!
tHSTA tKKH-10
tKKL-10
Jednotka
Testovací podmínky
ns ns VKH=3.0V ns VKL=1.5V ns 1.5V až 3.0V ns 3.0V až 1.5V ns ns ns ns ns ns ns ns ns ns 0.8V až 2.2V ns 2.2V až 0.8V ns 0.8V až 2.2V ns 2.2
ns ns ns ns ns
CL=100 pF ns ns ns ns ns
– 80-
CX070116
Parametr
CXQ70116·5 Symbol
Min. Max.
CXQ70116-8 Min. Max.
Jednotka
Testovací podmínky
Doba zpoždění ovládání z CLK
tDKCT
10
110
10
65
ns
Adresa plovoucí na RD)
tAFRL
0
0
ns
RD ) doba zpoždění od CLK )
RD t čas zpoždění od CLK )
lDKRL tDKRH
10
165
10
10
150
10
80
ns
80
ns
Doba zpoždění adresy od RD l –·
Šířka RD nízká
lDRHA tCYk-45 IRA 2tcvK-75
tCYk-40 2tcvK-50
ns ns CL = 100 pF
Čas zpoždění výstupu dat z CLK ) tDKD
10
90
10
60
ns
Doba zpoždění dat z CLK ) tFKD
10
80
10
60
ns
Nízká šířka WR
tww 2tcvK-60
2tcvK-40
ns
–
Čas nastavení HLDRO do CLK l
tSHQK
35
20
ns
Doba zpoždění HLDAK od CLK)
LDKHA
10
160
10
100 ns
Velké měřítko
Doba zpoždění adresy z CLK
!OK
10
90
10
60
ns
Doba udržení adresy z CLK
tHKA
10
10
ns
Čas zpoždění PS od CLK)
IDKP
10
90
10
60
ns
Doba zpoždění plováku PS od CLK t
IFKP
10
80
10
60
ns
I
Doba zpoždění adresy plováku od CLK ) tFKA
tHKA
80
tHKA
60
ns
Doba zpoždění adresy od RD l
tDRHA tcvK-45
tcvK-40
ns
ASTB l čas zpoždění od BS)
!OBST
15
15
ns
BS ) doba zpoždění od CLK l
lDKBL
10
110
10
60
ns
BS l čas zpoždění od CLK )
tDKBH
10
130
10
RD ) doba zpoždění od adresy float tDAFRL
0
0
65
ns
CL = 100 pF
ns
RD ) doba zpoždění od CLK l
R- D l doba zpoždění od CLK l
tDKRL tDKRH
10
165
10
10
150
10
80
ns
80
ns
Šířka RD nízká
!RR 2tcvK-75
2tcvK-50
ns
Čas zpoždění výstupu dat z CLK ) IDKD
10
90
10
60
ns
Doba zpoždění dat z CLK ) !FKD
10
80
10
60
ns
Čas zpoždění AK od CLK)
Čas nastavení RO do CLK t Doba přidržení RO po CLK t
tDKAK
70
50
ns
tSRQK
20
10
ns
lHKRO
40
30
ns
-81-
CXQ70116
Časové průběhy
Průběh vstupu testu AC [kromě CLK]
2.2V
2.2V
2.4V~
0.4V~
o.av
o.av
{c
Testovací body AC výstupu
-~r~
o.av
o.av
Počkejte [Připraveno] Načasování
CLK
Časování hodin
CLK
SONY@
Časování výstupu BUSLOCK
HLASOVÁNÍ. NM I, INT vstup Časování
CLK~
PO([~
NMl,IT~
RESET časování
Vee _ J
CLK RESET
L4 CLK CYKLY
-82-
CX070116
SONY@
Načasování čtení [malé měřítko]
T4
T1
T2
T3
CLK
A1/PS3 A,,IPSO .j_J,'0<-;lf~
T4 ,_
Načasování zápisu [malé měřítko]
T4
T1
T2
T3
T4
CLK
A1.,'PS3 A11/PS0
__..,,._.,_……,,'——…;._…jL_.j(,_
ASTB BUFFi.1W
Načasování čtení [velké měřítko]
T4
T1
T2
T3
T4
CLK
ASTB (71088
Výstup)
BUFR W
iOM -_V/…___ _ _ _ _ _V I _-_ –
Načasování zápisu [velké měřítko]
T4
T1
T2
T3
T4
CLK
A1,JPS3 A 1_tP$0
POUŽITÍ
A0 15 -A00
ASTB (71088
Výstup)
8 $ 2 – 850
Stav sběrnice
I
jako,-jako0
I
-83 –
CX070116
SONY@
Časování potvrzení přerušení
TI
T2
T3
Tl
Tl
Tl
T4
TI
T2
T3
Tl
BUFFi'W IOM
Načasování požadavku na pozastavení/potvrzení [malé měřítko] 1 nebo 2 CLK HLDRQ HLDAK
Načasování požadavku/potvrzení autobusu [velké měřítko]
~1m·_”P'-.:
1._~1-m·”P'I
70116
~
Koprocesor
– 84-
CX070116
SONY@
Konfigurace registrace
Čítač programů [PC] Čítač programů je 16bitový binární čítač, který obsahuje adresu segmentového offsetu dalšího
instrukce, kterou má EXU provést. PC se zvýší pokaždé, když mikroprogram načte instrukci z fronty instrukcí. Nový
hodnota umístění je načtena do PC pokaždé, když je provedena instrukce větvení, volání, návratu nebo přerušení. V tomto okamžiku je obsah PC stejný jako u ukazatele předběžného načtení (PFP).
Ukazatel předběžného načtení [PFP] Ukazatel předběžného načtení (PFP) je 16bitový binární čítač, který obsahuje posun segmentu, který se používá k
vypočítat adresu paměti programu, kterou řídicí jednotka sběrnice ( BCU) používá k předběžnému načtení dalšího slova pro frontu instrukcí. Obsah PFP je offsetem od registru PS (Program Segment).
PFP se zvýší pokaždé, když BCU předběžně načte instrukci z paměti programu. Nové umístění bude načteno do PFP vždy, když se provede pokyn k větvi, volání, návratu nebo přerušení. V té době bude obsah PFP stejný jako obsah PC (Program Counter).
Registry segmentů [PS, SS, DSo a DS1]
Adresy paměti, ke kterým přistupuje CXQ70116, jsou rozděleny do logických segmentů o velikosti 64 kB. The
počáteční (základní) adresa každého segmentu je určena registrem segmentů a offsetem od tohoto začátku
adresa je určena obsahem jiného registru nebo skutečnou adresou. Toto jsou čtyři typy používaných segmentových registrů.
Registr segmentů
Výchozí posun
I
PS (programový segment) !——–
SS (segment zásobníku)
PFP SP, efektivní adresa
DSo (datový segment 0)
IX, účinná adresa
DS1 (datový segment 'I)
IY
Obecné registry [AW, BW, CW a OW] Existují čtyři 16bitové univerzální registry. Každý z nich může být použit jako jeden 16bitový registr nebo jako dva
8bitové registry rozdělením na jejich horní a dolní bajty (AH, AL BH, BL CH, CL, DH, DL). Každý registr se také používá jako výchozí registr pro zpracování specifických instrukcí. Výchozí
přiřazení jsou: AW: násobení/dělení slova, slovo 1/0, rotace BCD, převod dat, překlad AL: násobení/dělení bajtů, byte 1/0, rotace BCD, převod dat, překlad AH: násobení/dělení bajtů BW: Překlad CW: větev řízení smyčky, opakovací prefix CL: instrukce Shift, instrukce rotace, operace BCD/adresa přímé dělení OW: 1 vícenásobná adresa ve Wordu
Ukazatele [SP, BP] a indexové registry [IX, IY] Tyto registry slouží jako základní ukazatele nebo indexové registry při přístupu do paměti pomocí založeného adresování, indexovaného adresování nebo založeného indexovaného adresování.
Tyto registry lze také použít pro přenos dat a aritmetické a logické operace stejným způsobem jako registry pro všeobecné použití. Nelze je použít jako 8bitové registry.
Každý z těchto registrů také funguje jako výchozí registr pro specifické operace. Výchozí přiřazení jsou: SP: Operace se zásobníkem IX: Přenos bloků (zdroj), operace s řetězci BCD IY: Přenos bloků (cíl), operace s řetězci BCD
– 85 –
CX070116
SONY@
Stavové slovo programu [PSW]
Stavové slovo programu se skládá z následujících šesti stavových a čtyř řídicích příznaků.
Stavové příznaky
Kontrolní příznaky
· V (přetečení)
· MD (režim)
· S (znak)
· DIR (směr)
· Z (nula)
· IE (Povolit přerušení)
· AC (Auxiliary Carry)
· BRK (přestávka)
· P (parita)
· CY (Carry)
Když je PSW zatlačeno na hromádku, obrázky slov různých příznaků jsou jako zde.
PSW
15 14 13 12 11 10 9 8 7 6 5 4 3 2
0
M
v D
Bs z0 A0 str
c
D
I ER
c
y
R
K
Stavové příznaky se nastavují a resetují v závislosti na výsledku každého typu provedené instrukce. Jsou poskytovány instrukce pro přímé nastavení, resetování a doplnění příznaku CY. Jiné instrukce nastavují a resetují kontrolní příznaky a řídí provoz CPU.
Vysokorychlostní provádění pokynů
Tato část zdůrazňuje hlavní architektonické prvky, které zvyšují výkon CXQ70116. · Duální datová sběrnice v EXU · Efektivní generátor adres · 16/32bitové dočasné registry/shiftery (TA. TB) · 16bitový čítač smyček · PC a PFP
Metoda duální datové sběrnice Pro snížení počtu kroků zpracování při provádění instrukce byla použita metoda duální datové sběrnice
přijato pro CXQ70116 (obrázek 1). Obě datové sběrnice (hlavní datová sběrnice a dílčí datová sběrnice) mají šířku 16 bitů. U operací sčítání/odčítání a logických a porovnávacích operací se doba zpracování oproti jednosběrnicovým systémům zrychlila asi o 30 %.
-86 –
CX070116
Obr. 1. Duální datové sběrnice
16
SONY@
Obr. 2. Generátor efektivních adres
První a druhý bajt instrukce
EA generátor
16
l!ffectlve ·ddreH
I
Subdatabus
Hlavní datová sběrnice
Example ADD AW, BW Jedna sběrnice Krok 1 TA – AW Krok 2 TB – BW Krok 3 AW – TA +
AW – AW+ BW Dual Bus TA – AW, TB – BW AW+– TA+ TB TB
Generátor efektivních adres Tento obvod (obrázek 2) provádí vysokorychlostní zpracování pro výpočet efektivních adres pro přístup
paměť. Výpočet efektivní adresy metodou mikroprogramování obvykle vyžaduje 5 až 12 hodinových cyklů.
Tento obvod vyžaduje pouze dva hodinové cykly pro generování adres pro jakýkoli režim adresování. Zpracování je tedy několikanásobně rychlejší.
16/32-bitové dočasné registry/posunovače [TA. TB] Tyto 16bitové dočasné registry/posouvače (TA. TB) jsou určeny pro násobení/dělení a posun/rotaci
instrukce. Tyto obvody zkrátily dobu provádění instrukcí násobení/dělení. Ve skutečnosti, tyto
instrukce mohou být vykonávány asi čtyřikrát rychleji než u metody mikroprogramování. TA + TB: 32bitový dočasný registr/posun pro instrukce násobení a dělení. TB: 16bitový dočasný registr/posun pro instrukce posunu/rotace.
– 87-
CX070116
SONY@
Čítač smyček [LC] Tento čítač se používá k počítání počtu smyček pro primitivní instrukci přenosu bloku řízenou
opakovat prefixovou instrukci a počet posunů, které budou provedeny pro instrukci vícebitového posunu/rotace.
Zpracování prováděné pro vícebitovou rotaci registru je znázorněno níže. Průměrná rychlost je přibližně dvojnásobná oproti metodě mikroprogramu.
Example RORC AW.CL; CL = 5
+ Mikroprogramová metoda
8 (4 X 5) = 28 hodin
LC metoda
+ 7 5 = 12 hodin
Čítač programů a ukazatel předběžného načtení [PC a PFP] Mikroprocesor CXQ70116 má čítač programů (PC), který adresuje paměť programu
umístění instrukce, která má být provedena jako další, a ukazatel předběžného načtení (PFP), který adresuje místo v paměti programu, ke kterému se má dále přistupovat. Obě funkce jsou poskytovány v hardwaru. Časová úspora několika hodin je realizována při provádění instrukce větvení, volání, návratu a přerušení ve srovnání s mikroprocesory, které mají pouze jeden ukazatel instrukce.
Rozšířené pokyny
Kromě pokynů 8088/86 má CXQ70116 následující rozšířené pokyny.
Pokyn PUSH imm PUSH R POP imm POP R
MUL imm SHL imm8 SHR imm8 SHRA imm8 ROL imm8 ROR imm8 ROLC imm8 RORC imm8
CH KIND INM OUTM PŘIPRAVTE LIKVIDOVAT
Funkce Vloží okamžitá data do zásobníku Vloží 8 obecných registrů do zásobníku Vloží okamžitá data do zásobníku Vybere 8 obecných registrů ze zásobníku Provede 16bitové násobení obsahu registru nebo paměti okamžitými daty
Posune/otočí registr nebo paměť o okamžitou hodnotu
Kontroluje index pole podle určených hranic Přesune řetězec z portu 1/0 do paměti Přesune řetězec z paměti do portu 1/0 Přidělí oblast pro rámeček zásobníku a zkopíruje ukazatele předchozích rámců Uvolní aktuální rámec zásobníku při ukončení procedury
– 88-
CX070116
SONY@
Vylepšené provozní pokyny zásobníku
PUSH imm/POP imm Tyto instrukce umožňují okamžité vložení dat do zásobníku nebo vyjmutí dat ze zásobníku.
PUSH R/POP R Tyto instrukce umožňují, aby obsah osmi obecných registrů byl tlačen nebo vytahován z
zásobník s jedinou instrukcí.
Vylepšené instrukce pro násobení MUL reg16, imm16/MUL mem16, imm16
Tyto instrukce umožňují obsah registru nebo paměťového místa vynásobit 16 bity
okamžitá data.
Vylepšené pokyny pro posun a otočení SHL reg, imm8/SHR reg, imm8/SHRA reg, imm8
Tyto instrukce umožňují posunutí obsahu registru o počet bitů definovaných
okamžitá data.
ROL reg, imm8/ROR reg. imm8/ROLC reg, imm8/RORC reg, imm8
Tyto instrukce umožňují otáčení obsahu registru o počet bitů definovaných
okamžitá data.
Check Array Boundary Instruction CHKIND reg16, mem32
I
Tato instrukce se používá k ověření, že hodnoty indexu ukazující na prvky datové struktury pole jsou
v definovaném rozsahu. Spodní limit pole by měl být v paměťovém umístění mem32, horní limit lmit
+ in mem32 2. Pokud hodnota indexu v reg16 není mezi těmito limity, když se provede CH KIND, BRK 5
dojde. To způsobí skok na místo ve vektoru přerušení 5.
Instrukce bloku 1/0 OUTM OW, src-block/INM dst-block, OW
Tyto instrukce se používají k výstupu nebo vstupu řetězce do nebo z paměti. když předchází opakování
předpona.
Pokyny pro zásobníkový rám PŘIPRAVTE imm16, imm8
Tato instrukce se používá ke generování zásobníkových rámců požadovaných jazyky blokových struktur, jako je PASCAL a Ada. Stohovací rám se skládá ze dvou oblastí. Jedna oblast má ukazatel, který ukazuje na jiný snímek, který má proměnné, ke kterým má aktuální snímek přístup. Druhá je oblast lokální proměnné pro aktuální proceduru.
DISPOSE Tato instrukce uvolní poslední rámec zásobníku vygenerovaný instrukcí PREPARE. Vrací zásobník
a základní ukazatele na hodnoty, které měly před použitím instrukce PREPARE k volání procedury.
-89-
CX070116
SONY@
Jedinečné pokyny
Kromě pokynů 8088/86 a rozšířených pokynů má CXQ70116 následující jedinečné pokyny.
Instrukce INS EXT ADD4S SUB4S CMP4S ROL4 ROR4 TEST1 NOT1 CLR1 SET1 REPC RE PNC FP02
Funkce Vložit bitové pole Extrahovat bitové pole Přidá sbalené desetinné řetězce Odečte jeden sbalený desítkový řetězec od jiného Porovná dva sbalené desítkové řetězce Otočí jednu BCD číslici doleva přes AL nižší 4 bity Otočí jednu BCD číslici doprava přes AL nižší 4 bity Testuje zadaný bit a nastaví/resetuje Z příznak Invertuje zadaný bit, dokud není vymazán zadaný bit, další příznak CY Opakuje, dokud se nesmaže zadaný bit další příznak CY Nastaví a je nastaven příznak Další volání procesoru s pohyblivou řádovou čárkou
Provozní instrukce bitového pole s proměnnou délkou Tato kategorie má dvě instrukce: INS (Insert Bit Field) a EXT (Extract Bit Field). Tyto pokyny
jsou vysoce efektivní pro počítačovou grafiku a jazyky na vysoké úrovni. Mohou napřample, použít pro datové struktury, jako jsou sbalená pole a data typu záznamu používaná v PASCAL.
INS reg8, regB/INS reg8, imm4
Tato instrukce (obrázek 3) přenáší nízké bity z 16bitového registru AW (počet bitů je zadán
druhým operandem) do paměťového místa určeného segmentovou bází (DS1 regist~
plus bajt
offset (registr IY). Počáteční bitová pozice v tomto bajtu je specifikována jako offset o nižší 4 bity
první operand.
Po každém úplném přenosu dat je registr IY a registr určený prvním operandem
automaticky aktualizovány tak, aby ukazovaly na další bitové pole.
Počet přenesených bitů (druhý operand) může specifikovat buď okamžitá data, nebo registr. Protože
maximální přenosná bitová délka je 16 bitů, pouze spodní 4 bity zadaného registru (OOH až OFH)
bude platit.
Data bitového pole mohou překrývat bajtovou hranici paměti.
-90-
CX070116
SONY@
Obr. 3. Vkládání bitového pole
15
AW
Btt-h
V(Il~-
rBit offset Hranice bajtů
Byleolfset (IY)
~1
:'Já.
I
Paměť
'
t
Základ segmentu (DS1)
EXT reg8. reg8/ EXT reg8, imm4
Tato instrukce (obrázek 4) načte do registru AW data bitového pole, jehož bitová délka je určena parametrem
druhý operand instrukce z paměťového místa, které je specifikováno registrem segmentu DSo
(základ segmentu), registr indexu IX (bajtový offset) a spodní 4 bity prvního operandu (bitový offset).
Po dokončení přenosu se registr IX a spodní 4 bity prvního operandu automaticky převezmou
aktualizováno tak, aby ukazovalo na další bitové pole.
Pro druhý operand mohou být specifikována buď okamžitá data, nebo registr. Protože maximální přenosná bitová délka je 16 bitů, budou však pouze nižší 4 bity zadaného registru (OH až OFH).
platný. Data bitového pole mohou překrývat bajtovou hranici paměti.
I
Obr. 4. Extrakce bitového pole
i
15
AVi
ij(J lBtt-
1
V/111
Hranice bajtů
Byle-(IX)
·,
:: t Segmeot base (OSOi
-91-
CX070116
SONY@
Zabalené BCD provozní pokyny
Zde popsané instrukce zpracovávají zabalená BCD data buď jako řetězce (ADD4S, SUB4S, CMP4S) nebo operandy v bajtovém formátu (ROR4, ROL4). Zabalené řetězce BCD mohou mít délku 1 až 255 číslic.
Když je počet číslic sudý, nastaví se příznaky nuly a přenosu podle výsledku operace. Když je počet číslic lichý, nemusí být v tomto případě příznak nula a přenos nastaven správně (CL= liché), příznak nuly nebude nastaven, pokud horní 4 bity nejvyššího bajtu nebudou všechny nulové. Příznak přenosu nebude nastaven, pokud nedojde k přenosu horních 4 bitů nejvyššího bajtu. Když je CL liché, obsah horních 4 bitů nejvyššího bajtu výsledku není definován.
ADD4S Tato instrukce přidá sbalený řetězec BCD adresovaný registrem indexu IX do sbaleného řetězce BCD
adresovaný registrem indexu IY a ukládá výsledek do řetězce adresovaného registrem IY. Délka řetězce (počet BCD číslic) je určena registrem CL a výsledek operace ovlivní příznak přenosu (CY) a příznak nuly (Z).
+ BCD řetězec (IY, CL) – BCD řetězec (IY, CL) BCD řetězec (IX, CL)
SUB4S Tato instrukce odečítá sbalený řetězec BCD adresovaný indexovým registrem IX od sbaleného BCD.
řetězec adresovaný registrem indexu IY a uloží výsledek do řetězce adresovaného registrem IY. Délka řetězce (počet BCD číslic) je určena registrem CL a výsledek operace ovlivní příznak přenosu (CY) a příznak nuly (Z).
BCD řetězec (IY, CL) – BCD řetězec (IY, CL) – BCD řetězec (IX, CL)
CMP4S Tato instrukce provádí stejnou operaci jako SUB4S kromě toho, že výsledek není uložen a pouze přenášen
jsou ovlivněny příznaky (CY) a nulový příznak (Z). BCD řetězec (IY, CL) – BCD řetězec (IX, CL)
ROL4 Tato instrukce (obrázek 5) zpracovává bajtová data registru nebo paměti přímo specifikovaná instrukcí
bajt jako data BCD a používá spodní 4 bity registru AL (ALL) k otočení těchto dat o jednu číslici BCD doleva. Obr. 5. BCD Rotate Left (ROL4)
AL
reg/pam
ROR4 Tato instrukce (obrázek 6) zpracovává bajtová data registru nebo paměti přímo specifikovaná instrukcí
bajt jako data BCD a používá spodní 4 bity registru AL (ALL) k otočení těchto dat o jednu číslici BCD doprava. Obr. 6. BCD Rotate Right (ROR4)
AL
Pokyny pro manipulaci s bity
TEST1 Tato instrukce testuje určitý bit v registru nebo paměťovém místě. Pokud je bit 1, příznak Z se resetuje na O.
Pokud je bit 0, příznak Z je nastaven na 1.
-92-
CX070116
SONY@
NOT1 Tato instrukce invertuje určitý bit v registru nebo paměťovém místě.
CLR1
Tato instrukce vymaže určitý bit v registru nebo paměťovém místě.
SET1 Tato instrukce nastavuje konkrétní bit v registru nebo paměťovém místě.
Opakujte pokyny pro předponu
REPC
Tato instrukce způsobí, že CXQ70116 bude opakovat následující instrukci pro přenos primitivního bloku, dokud nebude příznak CY vymazán nebo registr CW nebude nulový.
REPNC
Tato instrukce způsobí, že CXQ70116 bude opakovat následující instrukci pro přenos primitivního bloku, dokud se nenastaví příznak CY nebo se registr CW nestane nulou.
Instrukce s plovoucí desetinnou čárkou
02. RP
Tato instrukce je doplňkem instrukce 8088/86 s pohyblivou řádovou čárkou, FP01. Tyto pokyny jsou uvedeny v další části.
I
Návod k obsluze režimu
CXQ70116 má dva provozní režimy (obrázek 7). Jedním z nich je nativní režim, který provádí 8088/86, rozšířené a jedinečné instrukce. Druhým je režim emulace 8080, ve kterém je emulována instrukční sada 8080. Pro výběr mezi těmito dvěma režimy je k dispozici příznak režimu (MD). Nativní režim je vybrán, když je MD 1 a režim emulace, když MD je 0. MD je nastaveno a resetováno. přímo i nepřímo, provedením instrukcí pro manipulaci s režimem.
Pro přepnutí operace z nativního režimu do režimu emulace a zpět jsou k dispozici dvě instrukce: BRKEM (přerušení emulace) a RETEM (návrat z emulace).
K přepnutí z emulačního režimu do nativního režimu a zpět se používají dvě instrukce: CALLN (Call Native Routine) a RETI (Return from Interrupt).
Systém se vrátí z režimu emulace 8080 do nativního režimu, když je přítomen signál RESET nebo když je přítomno externí přerušení (NMI nebo INT).
Obr. 7. Provozní režimy
DRŽTE REOJHOLD ACK
8080 Režim
– 93 –
CX070116
SONY@
BRKEM imm8 Toto je základní instrukce použitá pro spuštění režimu emulace 8080. Tato instrukce funguje přesně
stejné jako instrukce BRK, kromě toho, že BRKEM resetuje příznak režimu (MD) na 0. PSW, PS a PC jsou uloženy do zásobníku. MD je poté resetováno a vektor přerušení určený operandem imm8 tohoto příkazu je načten do PS a PC.
Poté jsou vyzvednuty instrukční kódy rutiny zpracování přerušení, na kterou se skočilo. Poté CPU provede tyto kódy jako instrukce 8080.
V režimu emulace 8080 jsou registry a příznaky 8080 prováděny následujícími registry a příznaky CXQ70116.
8080
CXQ70116
registry:
A
AL
B
CH
c
CL
D
DH
E
DL
H
BH
L
BL
SP
BP
Příznaky:
PC
PC
c
CY
z
z
s
s
p
p
AC
AC
V nativním režimu se SP používá pro ukazatel zásobníku. V režimu emulace 8080 tuto funkci vykonává BP.
Toto použití nezávislých ukazatelů zásobníku umožňuje zajistit nezávislé oblasti zásobníku pro každý režim a chrání zásobník jednoho z režimů před zničením chybnou operací zásobníku v druhém režimu.
Registry SP, IX, IY a AH a čtyři segmentové registry (PS, SS, DSo a DS1) používané v nativním režimu nejsou ovlivněny operacemi v režimu emulace 8080.
V režimu emulace 8080 je segmentový registr pro instrukce určen registrem PS (nastaveným automaticky vektorem přerušení) a segmentovým registrem pro data je registr DSo (nastavený programátorem bezprostředně před vstupem do režimu emulace 8080).
RETEM [žádný operand] Když je RETEM spuštěn v režimu emulace 8080 (interpretováno CPU jako instrukce 8080),
CPU obnoví PS, PC a PSW (jako by tomu bylo při návratu z rutiny zpracování přerušení) a vrátí se do nativního režimu. Současně je obsah příznaku režimu (MD), který byl uložen do zásobníku instrukcí BRKEM, obnoven na MD = 1. CPU je nastaveno do nativního režimu.
CALLN imm8 Tato instrukce umožňuje volat podprogramy nativního režimu z režimu emulace 8080. Na
návrat z podprogramu do režimu emulace 8080, použije se instrukce RETI. Zpracování provedené, když je tato instrukce provedena v režimu emulace 8080 (interpretuje se
CPU jako instrukce 8080), je podobný tomu, který se provádí, když je instrukce BRK provedena v
-94-
CX070116
SONY@
nativní režim. Operand imm8 určuje typ vektoru přerušení. Obsah PS. PC a PSW jsou posunuty na zásobník a hodnota příznaku MD 0 je uložena. Příznak režimu je nastaven na 1 a vektor přerušení určený operandem je načten do PS a PC.
RETI [žádný operand] Toto je univerzální instrukce používaná k návratu z rutin přerušení zadaných instrukcí BRK
nebo externím přerušením v nativním režimu. Když se tato instrukce provede na konci podprogramu zadaného provedením instrukce CALLN, operace, která obnoví PS, PC a PSW, je přesně stejná jako provedení v nativním režimu. Po obnovení PSW se však obnoví hodnota režimu emulace 8080 příznaku režimu (MD), CPU se nastaví do režimu emulace a všechny následující instrukce jsou interpretovány a prováděny jako instrukce 8080.
RETI se také používá k návratu z procedury přerušení zahájené přerušením NMI nebo INT v režimu emulace.
Pokyny pro provoz s plovoucí desetinnou čárkou
FP01 fp-op, paměť/FP02 fp-op, paměť
Tyto instrukce se používají pro externí procesor s pohyblivou řádovou čárkou. Operace s pohyblivou řádovou čárkou je
předán procesoru s pohyblivou řádovou čárkou, když CPU načte jednu z těchto instrukcí. Od tohoto bodu
CPU provádí pouze nezbytné pomocné zpracování (efektivní výpočet adresy, generování fyzického
adresy a spuštění cyklu čtení paměti). Procesor s pohyblivou řádovou čárkou vždy monitoruje instrukce načtené CPU. Když to interpretuje jeden
jako pokyn pro sebe provede příslušné zpracování. V tomto okamžiku procesorový čip s plovoucí desetinnou čárkou používá buď samotnou adresu, nebo adresu i čtená data cyklu čtení paměti prováděného
I
CPU. Tento rozdíl v použitých datech závisí na tom, která z těchto instrukcí je provedena.
Poznámka: Během cyklu čtení paměti iniciovaného CPU pro provedení FP01 nebo FP02 CPU ne
přijímat všechna načtená data na datové sběrnici z paměti. Přestože CPU generuje paměť
adresa, data používá procesor s pohyblivou řádovou čárkou.
Přerušení provozu
Přerušení použitá v CXQ70116 lze rozdělit do dvou typů: přerušení generovaná externími požadavky na přerušení a přerušení generovaná softwarovým zpracováním. Toto jsou klasifikace.
Externí přerušení (a) Vstup NMI (nemaskovatelné) (b) Vstup INT (maskovatelné)
Softwarové zpracování V důsledku provádění instrukce -Když dojde k chybě dělení během provádění instrukce DIV nebo DIVU -Když je instrukcí CHKIND detekována chyba překročení paměti - Instrukce podmíněného přerušení - Když V = 1 během provádění instrukce BRKV Instrukce nepodmíněného přerušení -Instrukce přerušení 1 bajtu: BRK3 - instrukce přerušení 2 bajtů: Operace BAK imm8 Příznak příznaku jsou nastaveny na režim zpracování BAK8080 Příznak EmRK je nastaven režim zpracování -BRKEM imm8 -CALLN imm8
– 95 –
CX070116
SONY@
Vektory přerušení Počáteční adresy pro rutiny zpracování přerušení jsou buď určeny automaticky jedním
umístění tabulky vektorů přerušení nebo vybrané při každém zadání zpracování přerušení. Tabulka vektorů přerušení je znázorněna na obrázku 8. Tabulka používá 1 K bajtů adres paměti OOOH to
3 FFH a může ukládat data počáteční adresy pro maximálně 256 vektorů (4 bajty na vektor). Odpovídající zdroje přerušení pro vektory 0 až 5 jsou předem určeny a vektory 6 až 31 jsou
Rezervováno. Tyto vektory proto nelze použít pro obecné aplikace. K dispozici jsou instrukce BR KEM a instrukce CALLN (v emulačním režimu) a vstup INT
obecné aplikace pro vektory 32 až 255. Jeden vektor přerušení se skládá ze 4 bajtů (obrázek g). 2 bajty v nízkých adresách paměti jsou
načteny do PC jako offset a vysoké 2 bajty jsou načteny do PS jako základní adresa. Byty jsou kombinovány v opačném pořadí. Byty nižšího řádu ve vektoru se stanou nejvýznamnějšími bajty v PC a PS a bajty vyššího řádu se stanou nejméně významnými bajty.
Obr. 8. Tabulka vektorů přerušení
OOOH 004H 008H OOCH 010H 014H 018H
VectorO Veclor1 Vector2 Vector3 Vector4 Yector5 Vector&
Chyba dělení
Zlomit vlajku
Vstup NMI
r=. “-_BAK 3 Instrukce BRKV Instrukce
Věnováno
07CH 080H
3FCH
Vector31 Vector32
Vektor225
Gen
} · Instrukce BAK imma · Instrukce BRKEM · Vstup INT [Externí) · Instrukce CALLN
Obr. 9. Vektor přerušení 0
002H
PS ~ (03H.
002 hodin)
PC ~ (001H. OOOH)
001H 003H
Na základě tohoto formátu by měl být obsah každého vektoru inicializován na začátku programu. Nyní jsou zobrazeny základní kroky pro přechod na rutinu zpracování přerušení.
(SP -1, SP -2) PSW (SP -3, SP -4) PS (SP -5. SP -6) PC SP +- SP -6 IE +- 0, BRK +- 0, MD PS vektorové vysoké bajty PC +- vektorové nízké bajty
-96 –
CX070116
SONY@
Pohotovostní funkce
CXQ70116 má pohotovostní režim pro snížení spotřeby energie během stavů čekání na program. Tento režim je nastaven instrukcí HALT v nativním i emulačním režimu.
V pohotovostním režimu jsou vnitřní hodiny napájeny pouze obvodům souvisejícím s funkcemi potřebnými k uvolnění tohoto režimu a funkcí řízení přidržení sběrnice. V důsledku toho lze spotřebu energie snížit na 1/10 úrovně běžného provozu v nativním nebo emulačním režimu.
Pohotovostní režim se uvolní zadáním signálu RESET nebo externím přerušením (NMI, INT). Funkce přidržení sběrnice je účinná v pohotovostním režimu. CPU se vrátí do pohotovostního režimu, když je odstraněn požadavek na udržení sběrnice. Během pohotovostního režimu jsou všechny řídicí výstupy deaktivovány a adresová/datová sběrnice bude buď vysoká nebo nízká.
Instrukční sada
Následující tabulky stručně popisují instrukční sadu CXQ70116.
· Typy operací a operandů – definuje zkratky používané v tabulce Instrukční sady.
· Operace příznaků – definuje symboly používané k popisu operací příznaků.
· Adresování paměti – ukazuje, jak kombinace mem a mod určují režimy adresování paměti.
· Výběr 8- a 16-bitových registrů – ukazuje, jak reg a W vybírají registr, když mod = 111 .
· Výběr registrů segmentů – ukazuje, jak sreg vybírá registr segmentů. · Instrukční sada – zobrazuje mnemotechnické pomůcky instrukcí, jejich účinek a operační kódy číslo
bajtů v instrukci, počet hodin potřebných pro provedení a vliv na CXQ70116
I
vlajky.
Operace a typy operandů
Identifikátor reg reg8 regl 6 dmem mem mem8 mem16 mem32 imm imm16 imm8 imm4 imm3 ace sreg src-table
Popis 8 nebo 16bitový obecný registr 8bitový obecný registr 16bitový obecný registr 8 nebo 16bitové přímé paměťové místo 8 nebo 16bitové paměťové místo 8bitové paměťové místo 16bitové paměťové místo 32bitové paměťové místo Konstantní (0 až FF FFH) Konstantní až 0 FH FF Konstantní (0 až FF FFH) Konstantní (0 až FF FFH) Konstantní 0) Registr AW nebo AL Registr segmentů Název 7bajtové překladové tabulky
– 97 –
CX070116
SONY@
Identifikátor src-block dst-block near-proc far-proc near-label short-label far-label
memptr16
memptr32
regptrl 6
pop-hodnota
fp-op
R
w
reg mem mod S:W
X, XXX, YYY, zzz
AW AH AL BW
cw
CL
ow
SP PC PSW IX IY
Popis
Název bloku adresovaný registrem IX Název bloku adresovaný registrem IY Postup v rámci aktuálního segmentu programu Postup umístěný v jiném segmentu programu Označení v aktuálním segmentu programu Označení mezi -128 a +127 bajty od konce instrukce Označení v jiném segmentu programu Slovo obsahující offset paměťového místa v rámci aktuálního programového segmentu, do kterého se má řízení přenést Dvojité slovo obsahující offset a segment základní adresy paměti, která má být přenesena do paměti 16 místo v rámci programového segmentu, do kterého má být řízení přeneseno Počet bajtů zásobníku, který má být vyřazen (0 až 64 K bajtů, obvykle sudé adresy) Okamžitá data k identifikaci kódu instrukce externí operace s pohyblivou řádovou čárkou Sada registru Pole slova/bajtu (0 až 1) Pole registru (000 až 111) Pole paměti (000 až 111) Pole paměti (00 až 10) Pole režimu 01:11, 6:8 (16 = 16WXNUMX) XNUMX bitů. Ve všech ostatních časech data = XNUMX bitů. Data k identifikaci instrukčního kódu externího aritmetického čipu s pohyblivou řádovou čárkou Akumulátor (XNUMX bitů) Akumulátor (vysoký bajt) Akumulátor (nízký bajt) BW registr (XNUMX bitů)
cw registr (16 bitů)
Registr CW (nízký bajt) Registr OW (16 bitů) Ukazatel zásobníku (16 bitů) Čítač programu (16 bitů) Stavové slovo programu (16 bitů) Indexový registr (zdroj) (16 bitů) Indexový registr (cíl) (16 bitů)
– 98-
CX070116
Identifikátor PS SS DSo DS1 AC
CY
p
sz
DIR IE
v
MUDr. BRK
(…)
disp ext-disp8 temp tmpcy seg offset
~
+
x
% A NEBO XOR XXH XXXXH
SONY@
Popis Registr programového segmentu (16 bitů) Registr segmentu zásobníku (16 bitů) Registr datového segmentu 0 (16 bitů) Registr datového segmentu 1 (16 bitů) Pomocný příznak přenosu Příznak parity Příznak příznaku Příznak nuly Příznak směru Příznak povolení přerušení Příznak přetečení Příznak přerušení Příznak režimu Hodnoty v závorkách jsou obsah paměti Displacemerit (8 nebo 16-bitový znak + 16 bitů) posunutí) Dočasný registr (8/8/16 bitů) Dočasný příznak přenosu (32 bit) Okamžitá data segmentu (1 bitů) Okamžitá offsetová data (16 bitů) Směr přenosu Sčítání Odčítání Násobení Dělení Modulo Logický součin Logický součet Výhradní logický součet Dvouciferná hexadecimální hodnota Čtyřmístná hexadecimální hodnota
-99-
CXQ70116
Vlajkové operace
Identifikátor (prázdný)
0
xu
R
Popis Žádná změna Vymazáno na 0 Nastaveno na 1 Nastaveno nebo vymazáno podle výsledku Nedefinováno Dříve uložená hodnota je obnovena
Adresování paměti
pam
000 001 010 011 100 101 110 111
00 BW +IX BW+ IY BP+ IX BP+ IY IX IY Přímá adresa BW
mod 01
BW +IX+ disp8 BW + IY + disp8 BP+ IX+ disp8 BP+ IY + disp8 IX+ disp8 IY + disp8 BP+ disp8 BW + disp8
10 BW +IX+ disp16 BW + IY + disp16 BP+ IX+ ·disp16 BP+ IY + disp16 IX+ disp16 IY + disp16 BP+ disp16 BW + disp16
Výběr 8- a 16-bitových registrů (mod 11)
reg
W=O
W=1
000
AL
AW
001
CL
cw
010
DL
DW
011
BL
BW
100
AH
SP
101
CH
BP
110
DH
IX
111
BH
IY
Výběr registrů segmentů
sreg
00
DS1
01
PS
10
SS
11
DSo
– 100-
SONY@
CX070116
SONY@
Tabulka na následujících stránkách ukazuje sadu pokynů. Na „Ne. of Clocks“, pro instrukce odkazující na operandy paměti je levá strana lomítka(/) počet hodin pro bajtové operandy nebo slovní operandy sudé adresy a pravá strana je pro slovní operandy liché adresy. U instrukcí podmíněného přenosu řízení je levá strana lomítka(/) počet hodin, pokud se přenos řízení uskuteční. Na pravé straně je počet hodin, kdy nedojde k žádnému řídicímu přenosu nebo rozvětvení. Některé instrukce zobrazují rozsah časů hodin oddělených pomlčkou. Doba provádění těchto instrukcí se liší od minimální hodnoty po maximum v závislosti na použitých operandech.
Poznámka: K těmto časům přidejte čtyři hodiny pro každý přenos slova na lichou adresu.
"Žádný. of Clocks“ zahrnuje tyto časy: · Dekódování · Efektivní generování adresy · Načtení operandů · Provedení Předpokládá se, že bajty instrukce byly předem načteny.
I
-101 –
Mnemotechnický operand
MOV
reg., reg
mem, reg
Operace
reg – reg (mem)-reg
Operační kód
č. z č. z
Vlajky
x()
7 6 5 4 3 2 ID 7 6 5 4 3 2 ID Hodiny Bajty AC CY vpsz
p
-.I
Pokyny pro přenos dat
!::
1 0 0 0 1 0 1 w 1 1 reg
reg 2
2
""
1 0 0 0 1 o OW mod reg
mem 9/13
2-4
reg, pam
reg-(mem)
1 0 0 0 1 0 1 W mod reg
mem 11/15 2-4
mem, imm reg, imm eso, dmem
dmem, eso
(mem)-imm
1 1 0 0 0 1 1 W mod 0 0 0 mem 11. 15. 3-6
reg -imm
1 0 1 1 v reg
4
2-3
Když W= 0 AL – (dmem) Když W= 1 AH – (dmem + 1), AL – (dmem)
1 0 1 0 0 00 w
10/14 3
Když W= 0 (dmem) – AL Když W= 1 (dmem + 1) – AH, (dmem) – AL
10 10 0 01 w
9/13
3
sreg, reg16
sreg – reg16
sreg: SS. OSO, OS1 1 0 0 0 1 1 1 0 1 1 0 sreg reg 2
2
sreg, paměť 16
sreg – (mem16)
sreg : SS, OSO, OS1 1 0 0 0 1 1 1 0 mod 0 sreg mem 11/15 2-4
reg16, sreg
reg16-sreg
1 0 0 0 1 1 0 0 1 1 0 sreg reg 2
2
mem16, sreg
(mem16) – sreg
1 0 0 0 1 1 0 0 mod 0 sreg mem 10/14 2-4
OSO, reg16, mem32
reg16 – (mem32) OSO – (mem32 + 2)
1 1 0 0 0 1 0 1 mod reg mem 18/26 2-4
0 N
OS1, reg16,
reg16 – (mem32)
I
mem32
OS1 – (mem32 + 2)
1 1 0 0 0 1 0 0 mod reg
mem 18/26 2-4
AH, PSW
AH – S, Z, x, AC, x, P, x, CY
100
2
1 xx xxx
PSW, AH
S, Z, x, AC, x, P, x, CY – AH
100
3
1 xx xxx
LOEA
reg16, mem16
reg16 – mem16
1 0 0 0 1 1 0 1 mod reg mem 4
2-4
TRANS
src-tabulka
AL-(BW+ AL)
11 0 10 111
9
1
XCH
reg., reg
reg-reg
1 0 0 0 0 1 1 W1 1 reg
reg 3
2
mem, reg nebo reg, mem
(mem)-reg
1 0 0 0 0 1 1 W mod reg mem 16/24 2-4
AW, reg16 nebo reg16, AW
AW-reg16
1 0 0 1 0 reg
2
1
Repeat Prefixed
REPC
Zatímco CW = 0, následující primitivní blok 0 1 1 0 0 1 0 1
2
1
instrukce přenosu je provedena a cw je
sníženo (-1). Pokud čekáte, přerušte jej
je zpracován. Když CY = 1, opusťte smyčku.
en
RE PNC
Zatímco CW = 0, následující primitivní blok
instrukce přenosu je provedena a cw je
sníženo (-1). Pokud čekáte, přerušte jej
je zpracován. Když CY = 0, opusťte smyčku.
0 1 1 0 0 1 0 0
2
1
0 z
~
Mnemotechnický operand
REP REP REPZ
~· REPNZ
Operační kód
č. ol
Vlajky
x(“)
Operace
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY vpsz
.0…
Opakovat s předponou (pokračování)
!:!
O>
Zatímco CW .= O. následující primitivní blok 1 1 1 1 0 0 1 1
2
1
instrukce přenosu je provedena a CW je
sníženo (-1). Pokud dojde k přerušení čekání, je 11
zpracováno. Je-li primitivní blok instrukce přenosu
je CMPBK nebo CMPM a Z # 1, opusťte smyčku.
Zatímco CW # 0, je proveden následující primitivní blok 1 1 1 1 0 0 1 0 instrukce přenosu a CW je dekrementována (- 1). Pokud dojde k přerušení čekání, je zpracováno. Pokud je instrukce pro přenos primitivního bloku CMPBK nebo CMPM a Z # 0, ukončete smyčku.
2
1
Pokyny pro primitivní přenos bloků
MOVBK
dst-block,
Když W= 0 (IY) – (IX)
src-blok
DIR= 0: IX – IX+ 1, IY – IY + 1
DIR= 1: IX – IX -1, IY – IY- 1
Když W= 1 (IY + 1, IY) – (IX+ 1, IX)
DIR = 0: IX – IX + 2, IY – IY + 2
t-CMPBK
dst-block,
DIR= 1: IX – IX – 2, IY – IY – 2 Když W = 0 (IX) – (IY)
src-blok
DIR= 0: IX – IX+ 1, IY – IY + 1
0 w
DIR= 1: IX – IX – 1, IY – IY – 1 Když W= 1 (IX+ 1, IX) – (IY -t 1, IY)
DIR= 0: IX – IX + 2, IY – IY + 2
DIR= 1: IX -1x – 2, IY -1v – 2
1 0 1 0 0 10 w 10 1 0 0 11 w
CMPM
dst-blok
Když W = 0 AL-(IY) DIR =0: IY-IY + 1; DIR= 1: IY-IY-1
Když W= 1 AW- (IY + 1, IY) DIR= O: IY – IY + 2; DIR= 1: IY – IY – 2
10 1 0 1 11 w
LDM
src-blok
Když W = 0 AL – (IX)
1 0 1 0 1 10 w
DIR= 0: IX – IX+ 1; DIR= 1: IX – IX – 1
Když W = 1 AW – (IX+ 1, IX)
DIR = 0: IX – IX + 2; DIR= 1 IX – IX – 2
STM
dst-blok
Když W = 0 (IY)-AL
10 10 101w
DIR= 0: IY – IY + 1; DIR= 1: IY – IY – 1
Když W = 1 (IY+ 1, IY)-AW
DIR= 0 IY-IY + 2; DIR= 1: IY-IY-2
n: počet převodů
11+8n 1 7 + 14n 1 xxxxxx 7+10n 1 xxxxxx 7 + 9n 1 7 + 4n 1
Pokyny pro přenos bitového pole
INS
reg8, reg8
16bitové pole – AW
0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 31-117 3
00
reg8, imm4
16bitové pole – AW
1 1 reg
reg
/35-133
0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 67-87 4
0 z
1 1 0 0 0 reg
/75-103
~
Mnemotechnický operand
EXT
reg., reg
Operace
AW+- 16bitové pole
Operační kód
č. č
Vlajky
x()
765432 I 0 765432 I 0 Pokyny pro přenos bitového pole (pokrač.
Hodiny Bytes AC CYVPSZ
.gp…
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 26-55 3
""
1 1 reg
reg
/34-59
regs, imm4
AW +- 16-bitové pole
0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 21-44 4
1 1 0 0 0 reg
/25-52
1/0 Návod
IN
eso, immS
Když W = O AL +- (imm8)
1 1 1 0 0 10 w
Když W= 1 AH+- (immS + 1), AL+- (immS)
eso, OW
Když W= 0 Al +- (OW) Když W = 1 AH +- (OW+ 1), Al+- (OW)
1 1 1 0 1 10 w
VEN
imms. eso
Když W= O (immS) +- AL
11 10 0 11w
Když W = 1 (imm8 + 1) +- AH, (imm8) +-Al
OW, eso
Když W = 0 (OW) +- Al Když W= 1 (OW+ 1) +-AH, (OW) +- Al
11 1 0 1 11w
9/13
2
8/12
1
8/12
2
8/12
1
Primitivní instrukce 1/0
INM
dsl-block, OW
Když W = 0 (IV) +- (OW)
0 1 1 0 1 10 w
DIR=1: IV+ IV+ 1; DIR= 1: IV+- IV – XNUMX
Když W= 1 (IV+ 1, IY) +-(OW+ 1, OW)
0
.j:>.
DIR = 0: IV ± IV+ 2; DIR= 1: IV +- IV – 2
I
OUTM
OW, src-blok
Když W= 0 (OW) +- (IX)
0 1 1 0 1 11 w
DIR = O: IX + - IX + 1; DIR = 1: IX +- IX – 1
Když W= 1 (OW+ 1, OW)+- (IX+ 1, IX)
DIR = 0: IX + - IX + 2; DIR = 1: IX +- IX – 2
n: počet převodů
9 +Sn 1 9+ 8n 1
Pokyny pro sčítání/odčítání
PŘIDAT
reg., reg
reg +- reg + reg
0000001 W1 1 reg
reg 2
2 xx xxxx
mem,reg
(mem) +- (mem) + reg
O 0 0 0 0 0 0 W mod reg mem 16/24 2-4 xxxxxx
reg, pam
reg +- reg + (paměť)
0000001 W mod reg mem 11/15 2-4 xxxxxx
reg, imm
reg +- reg + imm
1 OOOOOSW1 1 0 0 0 reg. 4
3-4 xxxxxx
mem, imm
(mem)+-(mem)+imm
1 0 0 0 0 0 SW mod 0 0 0 mem 18/26 3-6 xxxxxx
eso, imm
Když W = 0 Al +- Al + imm Když W=l AW+-AW+imm
0000010W
4
2-3 xxxxxx
ADDC
reg., reg
reg +- reg + reg + CY
0 0 0 1 0 0 1 W1 1 reg
reg 2
2 xx xxxx
mem, reg reg, mem reg, imm mem, imm
(mem) +- (mem) +reg + CY reg +- reg + (mem) +CY reg +- reg + imm +CY (mem) +- (mem) + imm + CY
0 0 0 1 OOOW mod reg mem 16/24 2-4 xxxxxx
en
0 0 0 1 0 0 1 W mod reg
pam
100000SW1 1 0 1 0 reg
11/15 4
2-4 xxxxxx 3-4 xxxxxx
0 z
1 0 0 0 0 0 SW mod 0 1 0 mem 18/26 3-6 xxxxxx
~
Mnemotechnický operand
ADDC
eso, imm
Operace
Operační kód
č. č
Vlajky
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY vpsz
nx
Návod na sčítání/odčítání !cont)
.p… '.:
Když W = 0 AL +–AL – imm – CY Když W= 1 AW+– AW – imm – CY
0 0 0 1 0 10 w
4
2-3 xxxxxx
""
SUB
reg., reg
reg +– reg – reg
mem, reg
(mem) +– (mem) – reg
0 0 1 0 1 0 1 W1 1 reg
0 0 1 o· 1 0 0 W mod reg
reg 2 mem 16/24
2 xx xxxx 2-4 xxxxxx
SUBC
reg, mem reg, imm mem, imm eso, imm
reg., reg
reg +–reg – (mem) reg +– reg – imm (mem)+-(mem)-imm
Když W= 0 AL+– AL – imm KdyW= 1 AW+-AW-imm reg +– reg – reg – CY
0 0 1 0 1 0 1 W mod reg
pam
s 1 0 0 0 0 0 W1 1 1 0 1 reg
s 1 0 0 0 0 0 W mod 1 0 1 pam
0 0 1 0 1 10 w
11/15 4 18/26 4
w 0 0 0 1 1 0 1 1 1 reg
reg 2
2-4 xxxxxx 3-4 xxxxxx 3-6 xxxxxx 2-3 xxxxxx
2 xx xxxx
mem, reg
(mem) +– (mem) – reg – CY
0 0 0 1 1 OOW mod reg
mem 16/24 2-4 xxxxxx
reg, pam
reg +– reg – (mem) – CY
0 0 0 1 1 0 1 W mod reg
mem 11/15 2-4 xxxxxx
reg, imm
reg +– reg – imm – CY
sw 1 0 0 0 0 0
1 1 0 1 1 reg. 4
3-4 xxxxxx
mem, imm
(mem) +– (mem) – imm – CY
s 1 0 0 0 0 0 W mod 0 1 1 mem 18/26 3-6 xxxxxx
eso, imm
Když W = 0 AL+– AL+ imm +CY
0 0 0 1 1 10 w
4
2-3 xxxxxx
Když W= 1 AW +–AW+ imm +CY
0
V1
Návod k obsluze BCD
ADD4S
dst BCD řetězec …….. dst BCD řetězec + src BCD řetězec
0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 7+19n 2 uxuuux
SUB4S
dst BCD řetězec …….. dst BCD řetězec – src BCD řetězec
0 0 0 0 1 1 1 1 0 0 1 0 0 0 1 0 7+19n 2 uxuuux
CMP4S
dst BCD řetězec – src BOC řetězec
0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 7+19n 2 n: počet BCD číslic děleno 2
ux uu ux
ROL4
reg8
7 AL
I
mem8 7 AL
I
I
AL,
H 0
II· '“9
Uppe<4bits L.lower4bits
I
0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 0 25
I 1 1 0 0 0 reg
I
HII·I 0
AL,
mem Uppe< 4 bits Nižší 4 bity
0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 0 28 mod 0 0 0 mem
I
3
I
l
Já 3-5
ROR4
reg8
7 AL
I
I
AL,
H 0
II'“9
Uppe<4btts Nižší4btts
0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 29 1 1 0 0 0 reg.
!
1
3
00
0 z
mem8 7 AL
I
I
AL,
H 0
II pam
Uppe<4btts Nižší4bity
I
0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 33 mod 0 0 0 mem
3-5
~
I
Mnemotechnický operand
ING
reg8
pam
Operace
reg8 +- reg8 + 1 (mem) ……. (paměť) + 1
Operační kód
č. z č
Vlajky
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY vpsz
nx .0….
Pokyny pro zvýšení/snížení (pokračování)
~
1 1 1 1 1 1 1 0 1 1 0 0 0 reg 2
2 XNUMX x
xxxx
""
1 1 1 1 1 1 1 W mod 0 0 0 mem 16/24 2·4 x
xxxx
reg16
reg16 – reg16 + 1
0 1 0 0 0 reg
2
1 XNUMX x
xxxx
DEG
reg8
reg8 ... ... reg8 – 1
1 1 1 1 1 1 1 0 1 1 0 0 1 reg 2
2 XNUMX x
xxxx
pam
(paměť) ……. (paměť) – 1
1 1 1 1 1 1 1 W mod 0 0 1 mem 16/24 2·4 x
xxxx
reg16
reg16 ... ... reg16 – 1
0 ·1 0 0 1 reg
2
1 XNUMX x
xxxx
Návod na násobení
MULU
reg8
AW+-ALx reg8 AH = 0: CY ……. O. V +- 0 AH.CO: GY +-1, V +-1
1 1 1 1 0 1 1 0 1 1 1 0 0 reg 21-22
2 ux xuuu
mem8
AW+- AL x (mem8) AH = 0: CY ……. 0, V ……. 0 AH.CO: GY +-1, V +-1
1 1 1 1 0 1 1 0 mod 1 0 0 mem 27-28
2-4 uxxuuu
reg16
DW, AW +-AW x reg16 DW = O: CY +- 0, V ……. 0 DW.cO: GY +-1, V +-1
1 1 1 1 0 1 1 1 1 1 1 0 0 reg 29-30
2 ux xuuu
0
°já
mem16
DW, AW+- AW x (mem16) DW = 0: CY ……. 0, V ……. 0 DW.cO: CY+-1, V+-1
1 1 1 1 0 1 1 1 mod 1 0 0 mem 35-36 /39-40
2-4 uxxuuu
MUL
reg8
AW +-ALx reg8 AH = rozšíření znaménka AL: CY ……. 0, V +- O AH ,c Rozšíření znaménka AL: CY ……. 1, V + - 1
1 1 1 1 0 1 1 0 1 1 1 0 1 reg 33-39
2 ux xuuu
mem8
AW +-AL x (mem8) AH = rozšíření znaménka AL: CY +- 0. V ……. 0 AH # Rozšíření znaménka AL: CY +- 1, V ……. 1
1 1 1 1 0 1 1 0 mod 1 0 1 mem 39-45
2-4 uxxuuu
reg16
DW, AW +-AW x reg16 DW = Rozšíření znaménka AW: CY +- 0. V +– 0 DW ,c Rozšíření znaménka AW: CY ……. 1, V + - 1
1 1 1 1 0 1 1 1 1 1 1 0 1 reg 41-47
2 ux xuuu
mem16
DW, AW+- AW x (mem16) DW = rozšíření znaménka AW: CY ……. 0, V +- O DW #AW rozšíření znaménka: CY ……. 1, V +– 1
1 1 1 1 0 1 1 1 mod 1 0 1 mem 47-53 /51-57
2-4 uxxuuu
reg16, (reg16,) imm8
reg16, mem16, imm8
reg16 +– reg16 x imm8 Produkt,.; 16 bitů: CY +- 0, V +- O Produkt> 16 bitů: CY +- 1, V +- 1
reg16 +- (mem16) x imm8 Produkt,.; 16 bitů: CY +- 0, V ……. 0 Produkt> 16 bitů: CY +- 1, V ……. 1
0 1 1 0 1 0 1 1 1 1 reg
reg 28-34
3 ux xuuu
rn
0 1 1 0 1 0 1 1 mod reg
mem 34-40 /38-44
3-5 uxxuuu
0 z
~
Mnemotechnický operand
MUL
reg16,
(reg16,)
imm16
Operace
Operační kód
č. č
Vlajky
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY vpsz
(.0x.).
reg16…… reg16 x imm16
Pokyny pro násobení (pokračování) 0 1 1 0 1 0 0 1 1 1 reg.
reg
1 36-42
4
ux xuuu
~
""
Produkt,,:; 16 bitů: CY ……. 0, V ……. 0
Produkt> 16 bitů: CY ……. 1, V ……. 1
reg16, mem16, imm16
reg16…… (mem16) x imm16 Produkt,,:; 16 bitů: CY ……. 0, V ……. O Produkt> 16 bitů: CY ……. 1, V ……. 1
0 1 1 0 1 0 0 1 mod reg
mem 42·48 /46·52
4-6 uxxuuu
Nepodepsané pokyny divize
DIVU
reg8
teplota ……. AW
Když temp+ reg8 > FFH (SP – 1, SP – 2) ……. PSW, (SP – 3, SP – 4) ……. PS (SP – 5, SP – 6) ……. PC, SP ……. SP – 6 IE ……. 0, BRK ……. 0, PS +- (3, 2), PC ……. (1, 0) Všechny ostatní časy AH ……. temp % reg8, AL ……. teplota + reg8
1 1 1 1 0 1 1 0 1 1 1 1 0 reg.
19
2 uu uuuu
'
mem8
teplota ……. AW
1 1 1 1 0 1 1 0 mod 1 1 0 mem 25
2-4 uuuuuu
Když temp+ (mem8) > FFH
(SP – 1, SP – 2) +- PSW, (SP – 3, SP – 4) ……. PS
(SP – 5, SP – 6) ……. PC, SP ……. SP – 6
IE ……. 0, BRK ……. 0, PS...... (3, 2), PC ……. (1, 0)
0
Všechny ostatní časy
-J
AH ……. temp% (mem8), AL ……. temp+ (paměť 8)
reg16
teplota +-AW
1 1 1 1 0 1 1 1 1 1 1 1 0 reg.
25
Když temp+ reg16 > FFFFH
(SP – 1, SP – 2) ……. PSW, (SP – 3, SP – 4) ……. PS
(SP – 5, SP – 6) ……. PC, SP ……. SP – 6
IE ……. 0, BRK ……. 0, PS +- (3, 2), PC ……. (1, 0)
Všechny ostatní časy
AH ……. temp% reg16, AL ……. temp+ reg16
2 uu uuuu
mem16
temp +-AW Když temp+ (mem16) > FFFFH (SP – 1, SP – 2) ……. PSW, (SP – 3. SP – 4) ……. PS (SP – 5, SP – 6) ……. PC, SP ……. SP – 6 IE ……. 0, BRK ……. 0, PS...... (3, 2), PC ……. (1, 0)
Všechny ostatní časy AH ……. temp% (mem16), AL ……. temp+ (paměť 16)
1 1 1 1 0 1 1 1 mod 1 1 0 pam
31/35
2-4 uuuuuu
Podepsané pokyny divize
DIV
reg8
teplota +-AW
1 1 1 1 0 1 1 0 1 1 1 1 1 reg.
29 · 34
2 uu uuuu
fl}
Když temp + reg8 > Oa temp + reg8 > 7FH nebo
temp+ reg8 < 0 a temp+ reg8:;;: 0 · 7FH – 1
(SP – 1, SP – 2) ……. PSW, (SP – 3, SP – 4) ……. PS
(SP – 5, SP – 6) ……. PC, SP ...... SP – 6 IE ……. 0, BRK ……. 0, PS +- (3, 2), PC ……. (1, 0)
0 z
~
Všechny ostatní časy
AH ……. temp% reg8, AL ……. temp+ reg8
Mnemotechnický operand
DIV
mem8
Operace
Operační kód
č. č
Vlajky
x(')
7 6 5 4 3 2 1 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY VPSZ
.0…
Podepsané pokyny divize (pokračování)
~
teplota <–AW
Ol
1 1 1 1 0 1 1 0 mod 1 1 1 mem 35-40
2-4 uuuuuu
Když temp+ (mem6) > 0 a temp+ (mem6) > 7FH
nebo teplota + (memB) < 0 a
temp+ (mem8)::; 0 – 7FH – 1
(SP – 1, SP – 2) …_ PSW, (SP – 3, SP – 4) …_ PS
(SP – 5, SP – 6) …_ PC, SP …_ SP – 6
IE …_ 0, BAK …_ 0, PS …_ (3, 2), PC…_ (1, 0)
Všechny ostatní časy
AH – temp% (mem8), AL – temp+ (mem8)
reg16
temp-AW
1 1 1 1 0 1 1 1 1 1 1 1 1 reg.
Když temp+ reg16 > Oa temp+ reg16 > 7FFFH
nebo teplota + reg16 < O a
temp+ reg16 ,;;O- 7FFFH – 1
(SP – 1, SP – 2) …_ PSW, (SP – 3, SP – 4) …_ PS
(SP – 5, SP – 6) …_ PC, SP…_ SP – 6
IE…_ 0, BAK…_ 0, PS…_ (3, 2), PC<– (1, 0)
Všechny ostatní časy
AH – temp% reg16, AL …_ temp+ reg 16
38-43
2 uu uuuu
mem16
temp-AW
1 1 1 1 0 1 1 1 mod 1 1 1 mem 44-49 2-4 uuuuuu
Když temp+(mem16)>0 a temp+(mem16)>7FFFH
0
nebo temp+ (mem16) < 0 a temp+ (mem16)
o>O-AFFFH-1
/48-53
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4) – PS
(SP – 5, SP – 6) …_ PC, SP – SP – 6
IE…_ 0, BAK…_ 0, PS – (3, 2), PC – (1, 0)
Všechny ostatní časy
AH – temp% (mem16), AL…_ temp+ (mem16)
Pokyny k doplňku BCD
ADJ BA
Když (AL A OFH) > 9 nebo AC = 1, AL – AL+ 6, AH…_ AH+ 1, AC…_ 1, CY …_ AC, AL …_ AL A OFH
00
3
1 xx uuuu
ADJ4A
Když (AL A OFH) > 9 nebo AC= 1, AL…_ AL+ 6, CY …_CY NEBO AC, AC…_ 1, když AL> 9FH nebo CY= 1 AL…_ AL+ 60H, CY …_ 1
00 100 111
3
1 xx uxxx
ADJ BS ADJ4S
Když (AL A OFH) > 9 nebo AC = 1, AL…_ AL – 6, AH…_ AH – 1, AC – 1, CY …_AC, AL – AL A OFH
Když (AL A OFH) > 9 nebo AC= 1, AL-AL-6, CY <–CY NEBO AC, AC <–1 Když AL > 9FH nebo CY = 1 AL …_ AL – 60H, CY …_ 1
00 11 11 11 00 10 1111
7
1 xx uuuu
rn
7
1 xx uxxx
0 z
~
Mnemotechnický operand CVTBD
Operace
Provozní kód 76 5 4 32 I0 76 5 4 32 I 0
Pokyny pro převod dat
č. č
Vlajky
Hodiny Bytes AC CY vpsz
s (xp'.).
AH – AL+ OAH, AL – AL %OAH
1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 15
2 uu uxxx
""
CVTDB
AH – 0, AL – AH x OAH + AL
1101010100001010
2 uu uxxx
GVTBW
Když AL< 80H, AH – 0, všechny ostatní časy AH – FFH
10 0 1 10 0 0
2
1
CVTWL
Když AL< 8000H, OW – 0, všechny ostatní časy DW – FFFFH
100 110 01
4-5
1
CMP
reg., reg
reg – reg
Pokyny pro srovnání
w 0 0 1 1 1 0 1 1 1 reg
reg 2
2 xx xxxx
mem, reg
(mem) – reg
0 0 1 1 1 0 0 W mod reg
mem 11/15
2-4 xxxxxx
reg, mem reg, imm mem, imm eso, imm
reg-(mem)
reg-imm (mem)-imm
Když W= 0, AL – imm Když W= 1, AW-imm
0 0 1 1 1 0 1 W mod reg
pam
ws 1 0 0 0 0 0
1 1 1 1 1 reg
s 1 0 0 0 0 0 W mod 1 1 1 pam
w 0 0 1 1 1 1 0
11/15 4 13/17 4
2-4 xxxxxx 3-4 xxxxxx 3-6 xxxxxx 2-3 xxxxxx
0 D
NE
reg
I
pam
NEG
reg
reg – reg (mem) – (mem) reg – reg+ 1
Doplňte pokyny
w 1 1 1 1 0 1 1 1 1 0 1 0 reg
1 1 1 1 0 1 1 W mod 0 1 0 pam
w 1 1 1 1 0 1 1 1 1 0 1 1 reg
2 16/24 2
2 2-4 2 xx xxxx
pam
(paměť) – (paměť) + 1
1 1 1 1 0 1 1 W mod 0 1 1 mem 16/24 2-4 xxxxxx
TEST
reg., reg
reg A reg
Logické provozní pokyny
w 1 0 0 0 0 1 0 1 1 reg
reg 2
2 u 0 0x xx
mem, reg nebo reg, mem
reg, imm
(mem) AND reg reg AND imm
1 0 0 0 0 1 0 W mod reg
pam
w 1 1 1 1 0 1 1 1 1 0 0 0 reg
10/14 4
2-4 u 0 0 xxx 3-4 u 0 0 xxx
pam. imm
(mem) A imm
eso, imm
Když W = 0, AL AND imm8 Když W = 1, AW AND imm8
A
reg., reg
reg – reg A reg
1 1 1 1 0 1 1 W mod 0 0 0 pam
w 1 0 1 0 1 0 0
w 0 0 1 0 0 0 1 1 1 reg
reg
11/15 4
2
3~
u 0 0xxx
2-3 u 0 0 xxx
2 u 0 0x xx
pam. reg reg, mem reg, imm mem, imm ace, imm
(mem) – (mem) AND reg reg – reg AND (mem) reg – reg AND imm (mem) – (mem) AND imm
Když W = 0, AL – AL AND imm8 Když W = 1, AW -AW AND imm16
0 0 1 0 0 0 0 W mod reg
mem 16/24
2-4 u 0 0 xxx
0 0 1 0 0 0 1 W mod reg
pam
w 1 0 0 0 0 0 0 1 1 1 0 0 reg
1 0 0 0 0 0 0 W mod 1 1 0 pam
w 0 0 1 0 0 1. 0
11/15 4 18/26 4
2-4 u 0 0 xxx
3-4 u 0 0 xxx
3~
u 0 0x xx
2-3 u 0 0 xxx
en
0 z
~
Mnemotechnický operand
OR
reg., reg
Operace reg – reg OR reg
Operační kód
č. z č. z
Vlajky
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY ypsz
x() 0…
Logické provozní instrukce [pokr
~
Oi
0 0 0 0 1 0 1 W1 1 reg
reg 2
2 u 0 0xxx
mem, reg
(mem) – (mem) NEBO reg
0 0 0 0 1 0 0 W mod reg
rnem 16/24 2-4 u 0 0 xxx
reg, mem reg, imm
reg – reg OR (mem) reg – reg OR imm
0 0 0 0 1 0 1 W mod reg
pam
w 1 0 0 0 0 0 0 1 1 0 0 1 reg
11/15 4
2-4 u 0 0 xxx
3-4 u 0 0 xxx
mem, imm eso, imm
(mem) +– (mem) NEBO imm
Když W = 0, AL +– AL NEBO imm8 Když W = 1, AW +–AW NEBO imm16
1 0 0 0 0 0 0 W mod 0 0 1 pam
0 0 0 0 1 10 w
18/26 4
3-6 u 0 0 xxx 2-3 u 0 0 xxx
XOR
reg., reg
reg +– reg XOR reg
0 0 1 1 0 0 1 W1 1 reg
reg 2
2 u 0 0xx x
mem, reg
(mem) ,..__ (mem) XOR reg
0 0 1 1 0 0 0 W mod reg
mem 16/24
2-4 u 0 0 xxx
reg, mem reg, imm
reg ,..__ reg XOR (mem) reg +– reg XOR imm
0 0 1 1 0 0 1 W mod reg
pam
w 1 0 0 0 0 0 0 1 1 1 1 0 reg
11/15 4
2-4 u 0 0 xxx 3-4 u 0 0 xxx
mem, imm eso, imm
(paměť)+– (paměť)XORimm
Když W= 0, AL+– AL XOR imm8 Když W = 1, AW+– AW XOR imm16
1 0 0 0 OOOW mod 1 1 0 pam
0 0 1 1 0 10 w
18/26 4
3-6 u 0 0 xxx 2-3 u 0 0 xxx
Návod k obsluze bitů
0
I
TEST1
reg8, CL
reg8 bit č. CL = O: Z +– 1 reg8 bit č. CL = 1: Z,..__ O
2. bajt·
3. bajt·
0 0 0 1 0 0 0 0 1 1 0 0 0 reg 3
3 u 0 0uux
memB, CL
(mem8) bit č. CL= O: Z ,..__ 1 (mem8) bit č. CL= 1: Z – O
0 0 0 1 0 0 0 0 mod 0 0 0 mem 12
3-5 u 0 0 uux
reg16, CL
reg16 bit č. CL= O: Z ,..__ 1 reg16 bit č. CL= 1: Z ,..__ O
0 0 0 1 0 0 0 1 1 1 0 0 0 reg 3
3 u 0 0uux
mem16, CL
(mem16) bit č. CL= 0: Z +– 1 (mem16) bit č. CL= 1: Z ,..__ 0
0 0 0 1 0 0 0 1 mod 0 0 0 mem 12/16 3-5 u 0 0 uux
reg8, imm3
reg8 bit č. imm3 = 0: Z +- 1 reg8 bit č. imm3 = 1: Z +–0
0 0 0 1 1 0 0 0 1 1 0 0 0 reg 4
4 u 0 0uux
mem8, imm3
[mem8) bit č. imm3 = O: Z ,..__ 1 (mem8) bit č. imm3 = 1: Z +– 00 0 0 1 1 0 0 0 mod 0 0 0 mem 13
4-6 u 0 0 uux
reg16, imm4 mem16, imm4
reg16 bit č. imm4 = 0: Z +– 1 reg16 bit č. imm4 = 1: Z +– 0
(mem16) bit č. imm4 = 0: Z +– 1 (mem16) bit č. imm4 = 1: Z ,..__ O
0 0 0 1 1 0 0 1 1 1 0 0 0 reg 4
4 u 0 0uux
0 0 0 1 1 0 0 1 mod 0 0 0 mem 13/17 4-6 u 0 0 uux
en
2nd byte* 'Poznámka: První byte= OFH
3. bajt'
0 z
~
Mnemotechnický operand
Operace
Operační kód
č. z č. z
Vlajky
x()
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Hodiny Bytes AC CY ' psz
0
-.J
Bitová operace lnslructions fcontl
😕
O>
2. bajt'
3. bajt'
NE1
reg. CL
reg. bit č. CL – reg. bit č. CL
0 0 0 1 0 1 1 0 1 1 0 0 0 reg 4
3
memS, CL
(memS) bit č. CL – (memS) bit č. CL
0 0 0 1 0 1 1 0 mod 0 0 0 mem 1S
3-5
reg16, CL
reg16 bit č. CL – reg16 bit no. CL
0 0 0 1 0 1 1 1 1 1 0 0 0 reg 4
3
mem16, CL
(mem16) bit č. CL – (mem16) bit č. CL
0 0 0 1 0 1 1 1 mod 0 0 0 mem 18/26 3-5
regS, imm3
reg. bit č. imm3 – regs bit no. imm3
0 0 0 1 1 1 1 0 1 1 0 0 0 reg 5
4
memS, imm3
(memS) bit č. imm3 – (mem8) bit č. imm3
0 0 0 1 1 1 1 0 mod 0 0 0 mem 19
4-6
reg16, imm4
reg16 bit č. imm4 – (reg16) bit č. imm4
0 0 0 1 1 1 1 1 1 1 0 0 0 reg 5
4
mem16, imm4
(mem16) bit č. imm4 – (mem16) bit č. imm4
0 0 0 1 1 1 1 1 mod 0 0 0 mem.J 19/27 4-6
CY
CY+-CY
2nd byte' ·Poznámka: První byte = OFH
3. bajt'
1 1 1 1 0 1 0 1
2
1
x
2ndjyte'
3. _'!.Yte'
CLR1
reg8, CL
reg. bit č. CL – 0
memS, CL
(memS) bit č. CL – 0
reg16, CL
reg16 bit č. CL – 0
mem16, CL
(mem16) bit č. CL – 0
reg8, imm3
reg8 bit č. imm3 – 0
memS, imm3
(memS) bit č. imm3 – 0
reg16, imm4
reg16 bit č. imm4 – O
mem16, imm4
(mem16) bit č. imm4 – 0
CY
CY-a
DIR
DIR-a
0 0 0 1 0 0 1 0 1 1 0 0 0 reg 5
3
0 0 0 1 0 0 1 0 mod 0 0 0 mem 14
3-5
0 0 0 1 0 0 1 1 1 1 0 0 0 reg 0 0 0 1 0 0 1 1 mod 0 0 0 mem
5
3
l 14/22 3-5
0 0 0 1 1 0 1 0 1 1 0 0 0 reg 6
4
0 0 0 1 1 0 1 0 mod 0 0 0 mem 15
4-6
0 0 0 1 1 0 1 1 1 1 0 0 0 reg 6
4
0 0 0 1 1 0 1 11Lmod 0 0 0 mem 15/27
4-6
2. bajt· ·Poznámka: První bajt= OFH
3. bajt'
11 1 1 10 00
2
1
0
11 111 100
2
1
rn
0 z
~
Mnemotechnický operand
Operace
Operační kód
č. z č. z
Vlajky
x()
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Hodiny Byty AC CY VPSZ
.0…
Pokyny pro bitovou operaci (pokračování)
~
2ndjyte·
3. bajt·
""
SET1
reg8, CL
reg8 bit č. CL+- 1
mem8, CL
(mem8) bit č. CL +- 1
reg16, CL
reg16 bit č. CL+- 1
mem16, CL
(mem16) bit č. CL+- 1
reg8, imm3
reg8 bit č. imm3 +- 1
mem8, imm3
(mem8) bit č. imm3 +- 1
reg16, imm4
reg16 bit č. imm4 +- 1
mem16, imm4
(mem16) bit č. imm4 +- 1
0 0 0 1 0 1 0 0 1 1 0 0 0 reg 4
3
0 0 0 1 0 1 0 0 mod 0 0 0 niem 13
3.5
0 0 0 1 0 1 0 1 1 1 0 0 0 reg 4
3
0 0 0 1 0 1 0 1 mod 0 0 0 mem 13/21 3.5
0 0 0 1 1 1 0 0 1 1 0 0 0 reg 5
4
0 0 0 1 1 1 0 0 mod 0 0 0 mem 14
4-6
0 0 0 1 1 1 0 1 1 1 0 0 0 reg 5
4
0 0 0 1 1 1 0 1 mod 0 0 0 mem 14/22 4-6
2. bajt· ·Poznámka: První bajt = OFH
3. bajt·
CY
CY +-1
1 1 1 1 1 0 0 1
2
1
1
DIR
DIR+- 1
1 1 1 1 1 1 0 1
2
1
Pokyny k řazení
N
SHL
reg., 1
CY+- MSB reg, reg+- reg x 2
Když MSB z reg# CY, V +- 1
w 0 1 0 0 0 1 1 1 0 0 reg 2 2
u xx xxx
Když MSB reg= CY, V +- 0
mem, 1 reg, CL
CY +- MSB z (mem), (mem) +- (mem) x 2 Když MSB z (mem) #CY, V +- 1 Když MSB z (mem) =CY, V +- O
temp +- CL, zatímco teplota „“ 0, opakujte tuto operaci: CY +- MSB of reg, reg +- reg x 2, temp +-temp – 1
1 1 0 1 OOOWmod 1 0 0 mem 16/24 2-4 uxxxxx
w 1 1 0 1 0 0 1 1 1 1 0 0 reg 7+n
2 uxuxxx
mem, CL
temp +- CL, zatímco temp# 0, opakujte tuto operaci: CY +- MSB of (mem), (mem) +- (mem) x 2, temp +-temp – 1
1 1 0 1 0 0 1 W mod 1 0 0 mem 19/27
+ n
2-4 uxuxxx
reg, immB
temp+- imm8, zatímco temp# 0, opakujte tuto operaci: CY+- MSB of reg, reg +- reg x 2, temp +-temp – 1
1 1 OOOOOW1 1 1 0 0 reg 7+n
3 uxuxxx
mem, immB
temp+- imm8, zatímco temp#0,
1 1 0 0 0 0 0 W mod 1 0 0 mem 19/27 3.5 uxuxxx
SHR
reg., 1
opakujte tuto operaci: CY +- MSB of (mem), (mem) +- (mem) x 2, temp +- temp – 1
+ n
n: počet směn
00
CY +- LSB z reg, reg +- reg + 2 Když MSB oi reg #bit následující MSB
w 1 1 0 1 0 0 0 1 1 1 0 1 reg 2
2 uxxxxx
0 z
of reg: V +-1 Když MSB of reg = bit následující MSB
~
reg: V +-0
Mnemotechnický operand
SHR
mem, 1
reg, CL
Operace
Operační kód
Č.DI Č.DI
vlajky
x()
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY vpsz
.0…
Shih lnstrucllons (conl)
:1 en
CY+– LSB of (mem), (mem) +– (mem) + 2
1 1 0 1 0 0 0 W mod 1 0 1 mem 16/24 2-4 uxxxxx
Když MSB (mem) '°bit následuje MSB
z (paměť): V +– 1
Když MSB z (mem) = bit následující za MSB
z (paměť): V +– 0
teplota +–CL, zatímco teplota 0°
w 1 1 0 1 0 0 0 1 1 1 0 1 reg 7+n
2 ux uxxx
opakujte tuto operaci: CY +– LSB of reg,
reg +– reg + 2, teplota +–teplota – 1
mem, CL
temp +–CL, zatímco temp'° 0, opakujte tuto operaci: CY+– LSB of (mem), (mem) +– (mem) + 2, temp+– temp – 1
1 1 0 1 0 0 1 W mod 1 0 1 mem 19/27
+ n
2-4 uxuxxx
reg, imm8
temp +– imm8, zatímco temp '° 0, opakujte tuto operaci: CY +– LSB reg, reg +– reg + 2, temp +– temp – 1
1 1 0 0 0 0 0 W1 1 1 0 1 reg 7+n
3 ux uxx x
mem, imm8
temp +– imm8, zatímco temp '° 0, opakujte tuto operaci; CY +– LSB z (mem),
1 1 0 0 OOOWmod 1 0 1 mem 19/27
+ n
3-5 uxuxxx
(mem) – (mem) + 2, temp – temp – 1
n: počet směn
SHRA
reg., 1
CY +– LSB reg, reg +– reg + 2, V +– 0
w 1 1 0 1 0 0 0 1 1 1 1 1 reg 2
2
ux 0 X- X x
MSB operandu se nemění
w
mem, 1
CY+– LSB z (mem), (mem) – (mem) + 2,
1 1 0 1 0 0 0 W mod 1 1 1 mem 16/24 2-4 ux 0 xxx
V +– 0, MSB operandu se nemění
reg, CL
teplota – CL, zatímco teplota '° 0,
w 1 1 0 1 0 0 1 1 1 1 1 1 reg 7+n
2 ux ux xx
opakujte tuto operaci: CY +– LSB of reg,
reg +- reg + 2, teplota +– teplota – 1
MSB operandu se nemění
mem, CL
temp – CL, zatímco temp '° 0, opakujte tuto operaci: CY +– LSB of (mem), (mem) +– (mem) + 2, temp – temp – 1 MSB operandu se nemění
1 1 0 1 0 0 1 W mod 1 1 1 pam
19/27
+ n
2-4 uxuxxx
reg, imm8
teplota +– imm8, zatímco teplota '° 0,
opakujte tuto operaci: CY – LSB of reg, reg +- reg + 2, temp +– temp – 1
MSB operandu se nemění
1 1 OOOOOW1 1 1 1 1 reg 7+n
3 ux ux xx
mem, imm8
temp +– imm8, zatímco temp “” 0, opakujte tuto operaci: CY+- LSB of (mem), (mem) +– (mem) + 2, temp – temp – 1 MSB operandu se nemění
1 1 0 0 OOOWmod 1 1 1 mem 19/27
+ n
3-5 uxuxxx
n: počet směn
–
en
0 z
~
Mnemotechnický operand
ROLE
reg., 1
Operace
Operační kód
Na.of Na.of
Vlajky
7 & 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Hodiny Byles AC CY VPSZ
()
.~…
Pokyny k rotaci
~
CY+- MSB reg, reg+- reg x 2 + CV
1 1 0 1 0 0 0 w 1 1 0 0 0 reg 2
2
xx
""
MSB reg 7′ CV: V +-1
MSB reg = CV V + - 0
mem, 1 reg, CL
CY +- MSB z (mem), (mem) +- (mem) x 2 +CY MSB z (mem) 7' CY: V +- 1
MSB z (mem) =CY: V + 0
temp +- CL, zatímco teplota 7′ 0, zrušte tuto operaci: CY +- MSB of reg, reg +-regx2+CY temp +- temp – 1
1 1 0 1 OOOWmodOOO pam 16/24 2-4
xx
1 1 0 1 0 0 1 w 1 1 0 0 0 reg 7+n
2
xu
mem, CL
temp +- CL, zatímco teplota 7′ 0, opakujte tuto operaci: CY +- MSB of (mem), (mem) +- (mem) x 2 +CY temp +- temp – 1
1 1 0 1 0 0 1 WmodOOO reg 19/27 2-4 + n
xu
reg, imm8
temp +- imm8, zatímco teplota 7′ 0, opakujte tuto operaci: CY +- MSB of reg, reg+-regx2+CY temp +- temp – 1
1 1 OOOOOW1 1 0 0 0 reg 7+n
3
xu
.j::>.
mem, imm8
teplota +- imm8, zatímco teplota 7' 0,
1 1 O 0 O 0 OW mod 0 0 0 mem 19/27 3-5
xu
I
zrušit tuto operaci: CY+- MSB of (mem),
+ n
(mem) +- (mem) x 2 + CY
teplota +- teplota – 1
n: počet směn
ROR
reg., 1
CY +- LSB reg, reg +- reg “' 2
1 1 0 1 0 0 0 w 1 1 0 0 1 reg 2
2
xx
MSB reg +- CV
MSB of reg 7' bit následující MSB of reg: V +- 1
MSB reg = bit 1 následuje MSB reg: V +- 0
mem, 1
CY +- LSB z (mem), (mem) +- (mem) “'2 MSB z (mem) +-CY
1 1 0 1 OOOWmod 0 0 1 mem 16/24 ·2-4
xx
MSB of (mem),,. bit po MSB
of (mem): V +- 1
MSB o1 (mem) = bit následující za MSB
of (mem): V +- 0
reg, CL
teplota +- CL, zatímco teplota 7' 0,
w 1 1 0 1 0 0 1 1 1 0 0 1 reg 7+n
2
xu
opakujte tuto operaci: CY +- LSB of reg,
reg +- reg “' 2, MSB z reg +- CY
mem, CL
teplota +- tP,mp – 1
temp +- CL, zatímco temp 7' 0, opakujte tuto operaci: CY +- LSB of (mem). (mem) +- (mem) "'2, MSB z (mem) +-CY
1 1 0 1 0 0 1 W mod 0 0 1 mem 19/27 2-4 + n
xu
Cll
0 z
teplota +-teplota – 1
n:počet směn
~
Mnemotechnický operand
Operace
Operační kód
č. č
Vlajky
x(“)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY ' psz
8
Pokyny k otáčení (pokračování)
~
ROA
reg, imm8
teplota +- imm8, zatímco teplota 7′ 0,
w 1 1 0 0 0 0 0 1 1 0 0 1 reg 7+n
3
xu
m
opakujte tuto operaci: CY +- LSB of reg,
reg + - reg + 2, MSB z reg + - CY
teplota +- teplota – 1
mem, imm8
temp +- imm8, zatímco temp,. 0, opakujte tuto operaci: CY+- LSB of (mem), (mem) +- (mem) + 2 temp +- temp – 1
1 1 0 0 0 0 0 W mod 0 0 1 mem 19. 27. 3-5
+ n
n: počet směn
xu
ROLC
reg., 1
tmpcy +-CY, CY+- MSB reg reg +- reg x 2 + tmpcy MSB reg = CY: V +- 0
MSB reg 7'CY: V +- 1
Otočit pokyn
w 1 1 0 1 0 0 0 1 1 0 1 0 reg 2
2
xx
mem, 1
tmpcy +-CY, CY+- MSB of (mem)
1 1 0 1 0 0 0 W mod 0 1 0 mem 16. 24. 2-4
xx
(mem) +- (mem) x 2 + tmpcy
MSB z (mem) =CY: V + 0
MSB z (mem) 7'CY: V+-1
reg, CL
teplota +- CL, zatímco teplota 7′ 0,
w 1 1 0 1 0 0 1 1 1 0 1 0 reg 7+n
2
xu
opakujte tuto operaci: tmpcy +-CY,
V1
CY+- MSB reg, reg+- reg x 2 + tmpcy
teplota +- teplota – 1
mem, CL
temp +- CL, zatímco teplota 7′ 0, opakujte tuto operaci: tmpcy +-CY, CY +- MSB of (mem), (mem) +- (mem) x 2 + tmpcy temp +- temp – 1
1 1 0 1 0 0 1 W mod 0 1 0 mem 19. 27. 2-4
+ n
xu
reg, imm8
teplota +- imm8, zatímco teplota 7′ 0,
opakujte tuto operaci: tmpcy +- CY, CY +- MSB of reg, reg +- reg x 2 + tmpcy temp +- temp – 1
1 1 OOOOOW1 1 0 1 0 reg 7+n
3
xu
mem, imm8
temp +- imm8, zatímco temp 7' 0, opakujte tuto operaci: tmpcy +-CY, CY +- MSB of (mem) (mem) +- (mem) x 2 + tmpcy temp +- temp – 1
1 1 0 0 0 0 0 W mod 0 1 0 mem 19. 27. 3-5
+ n
n: počet směn
xu
m
0 z
~
Mnemotechnický operand
RORC
reg., 1
Operace
Operační kód
č. č
Vlajky
(“) )(
7 6 5 4 3 2 1 0 7 6 5 4 3 2 I 0 Hodiny Bftes AC CT VPSZ
.p…
Otočit pokyny (pokračování)
~
tmpcy – CY, CY – LSB reg
1 1 0 1 0 0 0 w 1 1 0 1 1 reg 2
2
xx
""
reg – reg + 2, MSB z reg – tmpcy
MSB of reg# bit následující MSB of reg: V – 1
MSB of reg =bit následující MSB of reg: V – 0
mem, 1 reg, CL
tmpcy – CY, CY – LSB z (mem) (mem) – (mem) + 2, MSB z (mem) MSB z (mem) ,e bit následující MSB
of (mem): V – 1 MSB of (mem) = bit následující MSB
z (paměť): V – 0
tmpcy
temp – CL, zatímco temp ,e 0, opakujte tuto operaci: tmpcy – CY, CY – LSB of reg, reg – reg + 2, MSB of reg – tmpcy, temp – temp -1
1 1 0 1 OOOWmod 0 1 1 mem 16/24 2-4
1 1 0 1 0 0 1 w 1 1 0 1 1 reg 7+n
2
xxxu
mem, CL
temp – CL, zatímco temp ,e 0,
opakujte tuto operaci;tmpcy – CY, CY – LSB of (mem), (mem) – (mem) + 2 MSB of (mem) – tmpcy, temp – temp – 1
1 1 0 1 0 0 1 W mod 0 1 1 mem 19. 27. 2-4
+ n
xu
reg, imm8
temp – imm8, zatímco temp ,e O
1 1 OOOOOW1 1 0 1 1 reg 7+n
3
xu
0
I
opakujte tuto operaci: tmpcy – CV, CY – LSB z reg, reg – reg + 2 MSB z reg – tmpcy, temp – temp – 1
mem, imm8
temp – imm8, zatímco temp ,e 0, opakujte tuto operaci:tmpcy – CY, CY +- LSB of (mem), (mem) – (mem) + 2 MSB of (mem) – tmpcy, temp – temp – 1
1 1 0 O 0 0 OW mod 0 1 1 mem 19/27 3-5
+ n
n: počet směn
xu
Pokyny pro ovládání podprogramů
VOLÁNÍ
blízko-proc
(SP-1, SP-2) – PC, SP-SP-2 PC-PC+disp
1 1 1 0 1 0 0 0
16/20 3
regptr16
(SP-1, SP-2)- PC, SP-SP-2 PC – reg ptr16
1 1 1 1 1 1 1 1 1 1 0 1 0 reg 14/18 2
memptr16
(SP-1, SP-2)- PC, SP-SP-2 PC +- (memptr16)
1 1 1 1 1 1 1 1 mod 0 1 0 mem 23/31 2-4
far-proc memptr32
(SP – 1, SP – 2) – PS, (SP – 3, SP – 4) – PC SP – SP – 4, PS – seg, PC – offset
(SP – 1, SP – 2) – PS, (SP – 3, SP – 4) +-PC SP – SP – 4, PS – (memptr32 + 2), PC – (memptr32)
100
21/29 5
1 1 1 1 1 1 1 1 mod 0 1 1 mem 31/47 2-4
m
· – 0z ~
Mnemotechnický operand
Operace
Operační kód
č. ~ č. z
Vlajky
x()
7 6 5 4 3 2 1 0 7 6 5 4 3 2 I 0 Hodiny · Bajty AC CY VPSZ
.0..,
Pokyny pro ovládání podprogramu (pokračování)
~
RET
PC …… (SP+ 1. SP), SP …… SP+ 2
11000 0 11
já 15119
Ol
pop-hodnota
PC …… (SP+ 1, SP)
1100 0 0 10
T 20124 3
SP …… SP+ 2, SP …… SP+ pop-hodnota PC …… (SP+ 1, SP), PS …… (SP+ 3, SP+ 2)
1100 10 11
TI
21129
SP …… SP+ 4
pop-hodnota
PC …… (SP+ 1, SP), PS …… (SP+ 3, SP+ 2) SP …… SP + 4, SP …… SP + pop-hodnota
1100 10 10
24/32 3
TAM
mem16
Pokyny pro manipulaci se zásobníkem
(SP-1, SP – 2) …… (mem16), SP …… SP-2
1 1 1 1 1 1 1 1 mod 1 1 0 pam
T 18126 2-4
reg16
(SP – 1, SP – 2) …… reg16, SP+- SP – 2
0 1 0 1 0 reg
8/12
1
sreg
(SP-1, SP-2) …… sreg, SP …… SP – 2
OOOsreg 1 1 0
8/12
1
PSW
(SP-1, SP-2) +- PSW, SP +-SP-2
100
8/12
1
R
Push registry na zásobníku
0 1 1 0 0 0 0 0
imm
(SP – 1, SP – 2) – imm, SP – SP – 2,
0 110 10 s 0
Když S = 1, podepište rozšíření
35/67 1
7/11
2-3
nebo 8/12
To
POP
mem16
(mem16) …… (SP+ 1, SP), SP …… SP+ 2
reg16
reg16 …… (SP+ 1, SP), SP …… SP+ 2
1 0 0 0 1 1 1 1 mod 0 0 0 mem 0 1 0 1 1 reg.
17 / 25 2-4
8/12: 1
sreg
sreg …… (SP+ 1, SP) sreg : SS, DSO, DS1
0 0 0 sreg 1 1 1
SP +-SP+ 2
8/12 1 1
PŘIPRAVIT
PSW
R
imm16, imm8
PSW +-(SP+ 1, SP), SP +-SP+2 Pop registry z uvolněného stavu Připravte nový rámec zásobníku
LIKVIDACE
Zlikvidujte stohovací rám
1 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 11001000
8/12 l 1
43/75 1 ! 4
·: imm8 = 0: 12/16
imm8 z1: 22 + 20 x (imm8 -1): Lichá adresa
18 + 12 X (imm8 – 1): Sudá adresa
I 1 1 0 0 1 0 0 1
6110
1
RR RRRR
Oborová instrukce
BR
blízký štítek
PC- PC+ disp
krátký štítek
PC …… PC + ext-disp8
regptr16
PC …… regptr16
memptr16
PC …… (memptr16)
1 1 1 0 1 0 0 1 111010 11 1 1 1 1 1 1 1 1 1 1 1 0 0 reg 1 1 1 1 1 1 1 1 mod 1 0 0 mem
I 12 I 12 I 11 I 20124
3 2 2 2-4
far-label memptr32
PS …… seg, PC …… offset PS …… (memptr32 + 2), PC …… (memptr32)
1110 10 10
15
5
-1 1 1 1 1 1 1 1 mod 1 0 1
pam
27/35
2-4
00
0 z
~
Mnemotechnický operand
BV
krátký štítek
Operace
Pokud V = 1, PC – PC + ext-disp8
Operační kód
č. č
Vlajky
7 6 5 4 3 2 1 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CYVPSZ
…x(“')
D
Podmíněné pokyny Brarn:h
:;1;;
0 1 1100 00
14/4
2
BNV
krátký štítek
Pokud V = 0, PC – PC + ext-disp8
0 1 1 1 0 0 0 1
14/4
2
př. Kr., BL
krátký štítek
Pokud CY = 1, PC – PC + ext-disp8
011100
14/4
2
Krátká značka BNC, BNL
Pokud CY = 0, PC – PC + ext-disp8
011100
14/4
2
BE, BZ
krátký štítek
Pokud Z = 1, PC – PC + ext-disp8
0 1 1 1 0 1 0 0
14/4
2
BNE,BNZ BNH BH BN
short-label short-label short-label short-label
Pokud Z = 0, PC – PC + ext-disp8 Pokud CY NEBO Z = 1, PC – PC + ext-disp8 Pokud CY NEBO Z = 0, PC – PC+ ext-disp8 Pokud S = 1, PC – PC + ext-disp8
0 1 1 1 0 1 0 1 01110 110 0 1 1 1 0 1 1 1 0 1 1 1 10 00
14/4
2
14/4
2
14/4
2
14/4
2
BP
krátký štítek
Pokud S = 0, PC – PC + ext-disp8
0 1 1 1 10 0 1
BPE
krátký štítek
Pokud P= 1, PC – PC + ext-disp8
011110
BPO
krátký štítek
Pokud P= 0, PC – PC + ext-disp8
011110
BLT
krátký štítek
Pokud S XOR V = 1, PC – PC+ ext-disp8
0 1 11 1100
BGE
krátký štítek
Pokud S XOR V = 0, PC – PC + ext-disp8
0 1 1 1 1 10 1
00
BLE
krátký štítek
Pokud (S XOR V) NEBO Z = 1, PC – PC+ ext-disp8
0 1 1 1 1 1 10
I
BGT
krátký štítek
Pokud (S XOR V) NEBO Z = 0, PC – PC+ ext-disp8
0 1 1 1 1 1 1 1
14/4
2
14/4
2
14/4
2
14/4
2
14/4
2
14/4
2
14/4
2
OBNZNE
krátký štítek
cw-cw-1
Pokud Z = 0 a CW # 0, PC – PC + ext-disp8
11 10 0 0 0 0
14/5
2
OBNZE
krátký štítek
cw-cw-1
Pokud Z = 1 a CW # 0, PC – PC + ext-disp8
1 1 10 0 0 0 1
14/5
2
OBNZ BCWZ
short-label short-label
cw-cw-1 Pokud CW# 0, PC –
Pokud CW = 0, PC –
PC+ ext-disp8 PC + ext-disp8
111000 10 111000 11
13/5
2
13/5
2
Pokyny k přerušení
BRK
3
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4) – PS, (SP – 5, SP – 6) – PC, SP – SP – 6 IE-0,BRK-O PS – (15, 14), PC – (13, 12)
1100
38/50 1
imm8
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4) – PS, 1 1 0 0 1 1 0 1
38/50 2
(#3)
(SP – 5, SP – 6) – PC, SP – SP – 6
IE-0,BRK-O
PC – (nx 4 + 1 nx 4)
PS – (nx 4 + 3, nx 4 + 2) n = imm8
rn
0 z
~
Mnemotechnický operand BRKV
Operace
Operační kód
č. z č
Vlajky
Cx'l
7 6 5 4 3 2 I 0 7 6 5 4 3 2 I 0 Hodiny Byty AC CY VPSZ Pokyny k lnlerrupt (pokračování)
8s:
o;
Když V = 1
1100
40/52 1
(SP – 1, SP – 2) – PSW. (SP – 3, SP – 4) – PS,
3
(SP – 5, SP – 6) – PC, SP – SP – 6
IE-0, BRK-0
PS – (19, 18), PC – (17, 16)
RETI CH DRUH
reg16, mem32
PC- (SP+ 1, SP), PS – (SP+ 3, SP+ 2),
1100
PSW – (SP+ 5, SP+ 4), SP – SP+ 6
Když (mem32) > reg16 nebo (mem32 -+- 2) < reg16
0 1 1 0 0 0 1 0 mod reg
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4) – PS,
(SP – 5, SP – 6) – PC, SP – SP – 6
IE – 0, BRK – 0, PS – (23, 22), PC – (21, 20)
27/39 1 RRRRRR
mem 53-56 2-4 /73-76 18/26
BR KEM
imm8
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4) – PS, 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 38/50 3 (SP – 5, SP – 6) – PC, SP – SP – 6 MD n – 0, n n 4 MD 1 x 4
PS – (nx 4 + 3, nx 4 + 2), n = imm8
Pokyny pro ovládání CPU
ZASTAVIT
Zastavení CPU
11 11 0 100
2
1
BUSLOCK
I
01. RP
IP-op
Předvolba zámku sběrnice Žádná operace
1 1 1 1 0 0 0 0
2
1
1 1 0 1 1 xxx 1 1YYYZZZ 2
2
IP-op, mem
datová sběrnice – (paměť)
02. RP
IP-op
Žádná operace
1 1 0 1 1 XXX mod YYY mem 11. 15. 2-4
x 0 1 1 0 0 1 1 1 1RRRRZZZ 2
2
IP-op, mem
datová sběrnice – (paměť)
0 1 1 0 0 1 1 X mod YYY mem 11. 15. 2-4
HLASOVÁNÍ
Hlasujte a čekejte
100 110 11 n: kolikrát je pin POLL sampvedl
2 + Sn 1
NOP
Žádná operace
1 0 0 1 0 0 0 0
3
1
DI
IE-0
111110
2
1
El
IE-1
11 1110 11
2
1
Pokyny pro režim 8080
RETEM
PC – (SP+ 1, SP), PS – (SP i” 3, SP+ 2), PSW – (SP+ 5, SP+ 4), SP – SP+ 6
1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 27/39 2 RRRRRR
ZAVOLAT
imm8
(SP – 1, SP – 2) – PSW, (SP – 3, SP – 4)
1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 38/58 3
– PS, (SP – 5, SP – 6) – PC, SP – SP – 6
00
MD -1. PC – (nx 4 + 1, nx 4)
PS – ( nx 4 + 3, nx 4 + 2), n = imm8
0 z
~
CX070116
Přehled balíčku
40pinový DIP (plast)
SONY@
40pinový DIP (keramika)
Jednotka: mm
– 120-
Dokumenty / zdroje
![]() |
70116bitový mikroprocesor SONY CXQ16 [pdfUživatelská příručka CXQ70116, CXQ70116 16bitový mikroprocesor, CXQ70116, 16bitový mikroprocesor, bitový mikroprocesor, mikroprocesor |
