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 +– 0

0 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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *