Strukturální schéma, ALU, datová paměť. Mikrokontroléry MCS-51

Základní verze MCS-51 Stručné informace. Moderní 8bitové mikrokontroléry (MK) mají takové zdroje správy v reálném čase, pro které drahé vícehvězdičkové vrstvy byly použity ve formě samostatných desek Microevm, který je:

● Mějte dostatečnou kapacitu paměti, fyzikální a logické oddělení programové paměti a datové paměti (Harvard Architecture) a systém příkazově orientovaného systému řízení algoritmů;

● Zahrnout všechna zařízení (procesor, ROM, RAM, I / O porty, přerušuje systém, nástroje pro zpracování bitů atd.) Potřebné pro implementaci mikroprocesorový systém Minimální správa konfigurace. V 70. letech minulého století firmy Intel. Průmyslové uvolnění 8bitových mikrokontrolérů MCS-48 v kombinaci řadou společných znaků (Digitalizace, příkazového systému, soubor základních funkčních bloků atd.), Byl vyvinut a zvládnut. Základní verze této rodiny zahrnuje:

● 8bitový procesor;

● Interní softwarová paměť (1/2 / 4k bajt);

● Interní datová paměť (64/128/256 bajt);

● Až 27 vnitřních a 16 vnějších I / O linek;

● Jeden 8-bitový časový čítač;

● Systém jednorázového přerušení se dvěma zdroji požadavků. V roce 1980 se stejná společnost vyvinula novou rodinu osmibitových mikrokontrolérů MCS-51, což je kompatibilní s architekturou rodiny MCS-48, ale má širší schopnosti.

Architektura rodiny MCS-51 se ukázala být tak úspěšná, že a do současnosti je jedním z standardů 8-bit MK. Proto předmětem studia je vybrán MK této rodiny, který obdržel rozšířené v relativně jednoduchých řídicích systémech.

Pro rodinu MCS-51 jsou vyvinuty různé nástroje pro přípravu softwaru (kompilátory, hardware-software emulátory atd.) A existuje velký počet knihoven standardních podprogramů. Rodina zahrnuje různé modifikace mikroobvodů (verze krystalů) mikrokontroléry. Články tohoto oddílu se domnívá, že základní verze mikrokontrolérů rodiny MCS-51 (MicroCIRCUIT 8051 odpovídá domácímu analogu KP1816V51), nejjednodušší ve strukturálním a funkčním plánu a z hlediska porozumění.

Následná řada mikroobvodů, udržení kompatibility s základní verzeliší se od zlepšené výrobní technologie, elektrické parametry, další hardware a funkce. Strukturální a funkční znaky následných modifikací mikroobrovny MCS-51 jsou věnovány následujícím článkům.
Zobecněný strukturální schéma MCS-51. Kompozice MK, zobecněného konstrukčního obvodu je znázorněn na Obr. 7.1.1, zahrnuje:

● 8-bit CPU centrální procesor skládající se z Al., řídicí zařízení U u a adresa bývalý F;

● Zasal ROM s kapacitou 4K bajtu pro ukládání programu;

● RAM s kapacitou 128 bytů pro ukládání dat;

● Čtyři programovatelné porty P0-P3 pro I / O informací;

● Blokovat sériové rozhraní BPI pro sdílení informací s externími zařízeními dvouvodičová čára;

● Časovač / BT / C časové jednotky pro udržení režimů v reálném čase;

● Blokovat BP blok pro přerušení organizace spustitelné programy. Tyto fondy formuláře rezidenceČást mikrokontroléru umístěného přímo na krystalu. MK obsahuje velké množství registrů, které jsou přičítány jednotlivých funkčních bloků a nejsou zobrazeny v diagramu.

Diagram také nezobrazuje řídicí obvod. Bilaterální výměna informací mezi bloky se provádí na vnitřním 8bitovém data pneumatikSD-8.

Vnitřní 16bitový adresy pneumatikSHA-16 Adresa vytvořená v CPU se zobrazí v ROM (12 adresních výbojů) a v RAM (8 mladších výbojů).

Při použití externí paměti v port P0 se zobrazí 8 mladších výbojů adresy a v port P2 - 3 nebo 8 senior vypouštění.

Pro rozšíření logického rozhraní se používají funkce přípojných řádků. Jako příklad na obr. 7.1.1 tečkovaná čára ukazuje řádky portu p3 provádění alternativnípřenos řídicích signálů, který bude jmenován níže. Chcete-li vytvořit interní generátor hodin, je k závěru MK čipu připojeny křemenný rezonátor a dva kondenzátory (obr. 7.1.1). Místo interního generátoru hodin může být pro synchronizaci použit vnější zdroj oscilací. Podmíněné grafické označení mikroobvodu MK je znázorněno na OBR. 7.1.2, označení a účel závěrů - v tabulce. 7.1.1. Zvažte funkční bloky MK a princip jejich práce. Aritmetické logické zařízení. Aritmeticko-logické zařízení je určeno pro provádění aritmetiky (včetně násobení a rozdělení) a logických operací přes osmbitové operandy, jakož i operace logického posunu, nulování, instalace atd. Strukturální schéma ALU je znázorněn na Obr. 7.1.3.

Složení ALU zahrnuje

● Paralelní osm-bit zmijeKombinovaný typ se sekvenčním přenosem, který provádí aritmetické (doplněk a odčítání) a logické (přidávání, násobení, neochvějnost a identity);

Baterie A, poskytování funkcí hlavního aritmetického registru;

RegistrovatPoužitý pro implementaci násobení a dělebních operací nebo jako další registr ultra-propracování, jejichž funkce definují uživatele;

registry(Software nepřístupný) dočasné úložištěRVH1, PWH2, určený pro recepci a skladování operandů v době provozu;

● ROM. konstantníPZUK Uložení nápravného kódu pro binární decimální zobrazení dat, kód masky pro bitové operace a konstantní kód;

Stavový registr programuPSW, kterým se stanoví stav ALU po provedení operace. V záložce. 7.1.2 Informace o přiřazení bitů jednotlivých výbojů registru PSW jsou uvedeny. Řídicí zařízení. Ovládací zařízení (UU) centrálního procesoru navrženýkoordinovat spolupráci všech uzlů MK pomocí generovaných synchripulsových a řídicích signálů. Zahrnuje (obr. 7.1.4):

Synchronizace a řídicí uzelUSA, které tvoří synchronizační pulsy, které specifikují cykly stroje a jejich jednotlivé stavy a fáze (P), a v závislosti na provozním režimu MK generuje potřebnou sadu řídicích signálů. Jeden, dva nebo čtyři cykly stroje jsou přiřazeny k provedení příkazu.

Každý cyklus stroje má Šest státůS1-S6 a každý stav zahrnuje dvě fázeP1, P2, jehož doba trvání je období oscilací hodinového generátoru t 0SC.

Doba trvání cyklu stroje je 12T 0SC. Všechny cykly stroje jsou stejné, začít s fází S1P1 a končí s fází S6P2.

Kromě synchronizačního pulsu, synchronizační zařízení v každém cyklu stroje generuje dva (někdy jeden) signálu stropu mladšího bajtu adresy ALE jako pozitivní puls v fázích S1P2-S2P1 a S4P2-S5P1. Dočasné diagramy na Obr. 7.1.5 znázorňují organizaci strojních cyklů;

● Rekregistr příkazu RK, decifranger Teams.DK a SLM, což umožňuje sadu mikropodniků v každém cyklu stroje v souladu s firmwarem spustitelného příkazu;

● LIGIC LVB I / O pro přijímání a vydávání signálů, které zajišťují výměnu informací MK s externími zařízeními prostřednictvím portů P0-P3;

● Registr PCON s jedním smodem zapojeným do PCON.7 pozice, která pochybuje o rychlosti přenosu dat prostřednictvím sériového portu. Zbývající bity jsou vyhrazeny pro budoucí použití.
Adreseer. Generátor adres (FA), nebo RS příkazový měřič, navrženýpro vytvoření aktuální 16bitové adresy programové paměti a 8/16-bitová adresa externí paměti dat. Zahrnuje (obr. 7.1.6):

● 16-bit vyrovnávací paměťB Kdo komunikuje mezi 8bitovou datovou sběrnici SD a 16bitové interní sběrnice (VSH) adresy adresy adresy;

● Obvod přírůstku C pro zvýšení hodnoty aktuální adresy paměti programu na jednotku;

● Zaregistrujte se pro ukládání aktuální adresy příkazů RTU přicházejících ze SI;

● DPTR datový ukazatel zaregistrovat , skládající se ze dvou 8-bitových DPL DPH REGISTERS. Slouží k uložení 16bitové adresy externí datové paměti a lze použít jako dvou nezávislý software dostupný RON;

● Adresy RFA se registrovat pro ukládání 16bitové adresy programu Executive 16-bitové adresy programové paměti nebo 8/16-bitová adresa externí paměti dat. Tento registr se také používá k přenosu dat přes port P0 do externích zařízení při provádění příkazů MOVX @RM, A a MOVX @DPRT, A.

Datová paměť. Data Memory. navrženýpro příjem, ukládání a vydávání informací používaných v procesu provádění programu. Interní (rezidentní) paměť (obr. 7.1.7) dat se skládá z 20 bajtů s kapacitou 128, stoh ukazatelLázně adresní registrRa Ra I. decifranis.DSH. Ukazatel SP zásobníku je 8bitový registr, který je určen k přijetí a ukládání adresy buněk zásobníku, do které bylo poslední odvolání. Po resetování v indexu zásobníku je adresa 07h, což odpovídá začátku zásobníku s adresou 08h. Adresní registr RA spolu s DSH dekodér umožňuje přístup k požadované paměťové buňky obsahující bajty nebo informační bity.

MK poskytuje možnost zvýšení množství datové paměti na 64 kB připojením externí paměťová zařízení.Jako příklad na obr. 7.1.8 Zobrazuje organizaci stránky externí paměti dat kapacity PDP 2k bajtů pomocí příkazů typu MOVX @ Rm (m \u003d 0; 1). V tomto případě port P0 pracuje jako multiplexovaná adresa / data, tři řádky portů P2 se používají k řešení stránky externího paměti RAM a zbývající pěti řádků může být zapojeno jako čáry I / O.
Na Obr. 7.1.9 Při provozu MK s externím pamětem MK je dočasný graf čtení a zápisu. Na uvedené diagramy:

● RSN je senior bajt příkazového měřiče počítače;

● DPL, DPH - junior a senior bajtů ukazatele DPTR dat, který se používá jako registr pro nepřímé adresování v příkazech MOVX @ DPTR, A a MOVX A, @ DPTR;

● P2 SFR - P2 PORT LATCHES;

● RM (m \u003d 0, 1) - Registry používané v MOVX @RM, A a MOVEC A, @RM příkazy jako registrů nepřímé adresy;

● Z - vysoce odolný stav;

● D - doba, během které jsou data z port P0 zadána do mikrokontroléru. Paměť programů. Paměť programů je navržena tak, aby ukládala programy, má vlastní (samostatně od datové paměti) adresního prostoru a pouze pro čtení. Zahrnuje DH a ROM dekodér (obr. 7.1.10). Chcete-li adresovat programovou paměť, použije se 16bitový pC čítač, takže jeho maximální kapacita je 64k bajt. Vnitřní paměť programů se skládá z 4k bajtů kubického a 12bitového dekodéru. Externí paměť je připojena podle schématu na Obr. 7.1.11. Pokud je výstup £ MK dán 0 V (jak je znázorněno na obr. 7.1.11), interní paměť programů je vypnuta. Všechny přístupové k paměti začínají adresou 0000h. Když je výstup připojen ke zdroji napájení, kontaktováním interní paměti programů na adresy 0000H-FFFH a adresy externí paměti programů na 0FFFH-FFFFFH adresy automaticky.

Pro čtení externí paměti MK programů je generován signál ¯ Při práci s vnitřní pamětí není použit signál čtení. Pokud apeluje na externí paměť programů, je vždy vytvořena 16bitová adresa. Mladší bajt adresy je přenášen přes port P0 v první polovině cyklu stroje a je upevněn v plátce branky ALE v registru ve druhé polovině portu porta P0 se používá k zadání dat bajt dat z externí paměti.

Senior Byte adresy je přenášen přes port P2 po celou dobu odvolání paměti.

Časové diagramy čtení a zápisu cyklů při provozu MK s externím pamětem RAM jsou zobrazeny na Obr. 7.1.12.
Na uvedené diagramy:

● PCL - vydávání mladšího bajtu příkazového měřiče počítače;

● RSN out - vydávání staršího bajtu příkazového měřiče počítače;

● DPH je senior bajt registru ukazatele DPTR dat, který se používá jako registr pro nepřímé adresování v příkazech MOVX @ DPTR, A a MOVX A, @ DPTR;

● P2 SFR - P2 PORT LATCHES;

● In-in - Input Input Byte instrukce (příkazy) z programové paměti;

● Addr out je vydávání mladšího bajtu adresy externí datové paměti z RM register RM (M \u003d 0, 1) nebo z registru DPL (DPTR Junior Register). I / O porty. Účelové porty. Porty P0, P1, P2, P3 navrženývýměna informací mezi MK a externími zařízeními, a také k provedení následujících funkcí:

● Junior Byte adresy A7 ... A0 se zobrazí přes port P0; je zobrazen z MC a zaveden do datových bajtů dat při práci s externí pamětí programů a externí paměti dat (s divizí v čase);

● Prostřednictvím portu P2 se starší bajt adresy A15 ... A8 zobrazí při práci s externí pamětí programů a externí paměti dat (pouze při použití příkazů MOVX A, @ DPTR a MOVX @ DPTR);

● Porty port P3 mohou být použity pro provádění alternativních funkcí, pokud je fixátorová západka tohoto řádku obsahuje 1, jinak je upevněn 0 na výstupu čáry. Alternativní funkce p3 portů jsou uvedeny v tabulce. 7.1.3.

Obvodové funkce portů

Na Obr. 7.1.13 ukazuje schémata pro jeden kanál každého z přístavů MK, který zahrnuje:

● Západka pro upevnění přijatého datového bitu;

● Důrazný výstup kaskáda(Řidič);

● Uzel komunikace.výstupní kaskáda (s výjimkou P2);

● Obvod pro vysílání datového bitu z výstupní strany sestávající z pufry B2 a B3 (pro pult P4). Západka je D-spouště, jeaktka v interní signál "Záznam pro západku". Datové bity z přímého výtěžku D-spouště lze číst programově pomocí vyrovnávací paměti B1 "LATCH Čtení" signálu na interní datové sběrnici (SD) MK.

Výstup Cascade.port P0 je střídač, jehož funkce se projevují v tom, že tranzistor zatížení VT2 je otevřen pouze při přístupu k externí paměti (při přenosu přes adresu a datový port). Ve všech ostatních režimech je uzavřen tranzistor zatížení. Proto musí být použito P0 (obr. 7.1.13, a), musí být rezistory externího zatížení připojeny jako výstupní port obecného účelu k závěrům. Při nahrávání 1 do západky portů je invertor tranzistor VT1 uzamčen a externí výstup pótu p0.x je přeložen do vysoce odolného stavu. V tomto režimu může být výstup portu p0.x sloužit jako vchod. Pokud je port P0 používán jako celkový přístupový / výstupní port, každý z jeho závěrů p0.x může samostatně pracovat jako vstup nebo jako výstup. Výstupní kaskádyporty p1, p2, p3 (obr. 7.1.13, svázat)vyrobeno podle systémů střídače s vnitřním odporem zátěže, který je používán tranzistorem VT2.

Pro snížení doby zapnutí, kdy porty portů ze stavu 0 do stavu 1 paralelně zavedly další tranzistor VT3. Tranzistor VT3 s pomocí prvků v okruhu závěrky je odemčena v čase rovnající se dvěma obdobími oscilacím nastavovacího křemenného generátoru (pro fáze S1P1, S2P2 cyklu stroje). Výstupní kaskádyporty P0, P2 (obr. 7.1.13, A, B) Použití multiplexeru MX lze připojit buď pro západky nebo interní pneumatiky "Adresa / Data" a "Adresa". Výstupní kaskáda pólu P1 (obr. 7.1.13, 6) je neustále připojen k západku.

Pokud je výstup pólu P3 výstupem a její západka obsahuje 1, pak jeho výstupní kaskáda řídí vnitřní signál hardwaru "Alternativní výstupní funkce", která zajišťuje, že je provedena příslušná alternativní funkce, tj. Na externím výstupu je jeden z signálů ¯ drd, ¯ ¯ rxd. Pokud je výstup port aktivován na vstupu, je alternativní signál příchozí (TXD, ¯int0, ¯, T0, T1) přenášen na vnitřní linku "Alternativní vstupní funkce".

Režim záznamu do portu.

Při provádění příkazu záznamu se nová hodnota zaznamenává v západci v fázi S6P2 a zobrazí se přímo v portu pólu v fázi S1P1 na dalším cyklu stroje.

Režim čtení portů

Příkazy čtení portů si přečtěte informace přímo z externích kontaktů přípojných kabelů nebo z výstupů západky. V prvním případě se datové bity z výstupu pólu čtou programově prostřednictvím vyrovnávací paměti B2 signálu "Čtení výstupů" na interní datové sběrnici (SD) MK. Všimněte si, že signály "zápis do západky", "Čtení západky", "Čtení" jsou vyvinuty hardwaru při provádění příslušných příkazů.

V druhém případě je implementován takzvaný režim "Read-modifikace modifikace" režim, ve kterém příkaz přečte signál stavu západky, pokud je to nutné, upraví jej a pak zapíše zpět do západky. Režim "Read-Modification-Recording" je implementován při následujících příkazech: ANL, ORL, XRL, JBC; CPL; Inc; DEC; Djnc; MOV px, y; CLR px.y; SETB px, y.

Čtení informací z výstupů západky umožňuje vyloučit chyby při interpretaci logické úrovně na výstupu portů. Pokračující článek číst.

Příkazový systém OMEIM poskytuje velké možnosti zpracování dat, zajišťuje implementaci logických, aritmetických operací, stejně jako správu v režimu reálného času. Je implementován poraženým, letem (4 bity), jasné (8 bitů) a 16bitové zpracování dat. Rodina BIS MCS-51 je 8-bit Omevm: ROM, RAM, speciální evidence, Alu a externí pneumatiky mají bajtovou organizaci. Duální bajtová data se používají pouze u ukazatele registru (DPTR) a měřič příkazu (PC). Je třeba poznamenat, že datový rejstřík lze použít jako dvojitý bajtový registr DPTR nebo jako dva jednovrstvé DPH a DPS registru. Příkazový čítač je vždy používán jako dvoubajtový registr. Sada příkazů OMEEV má 42 mnoMonických symbolů pro specifikaci 33 funkcí tohoto systému. Syntaxe většiny příkazů montážního jazyka se skládá z mnoNiconického označení funkce, která přichází operandem, označujícím metody adresování a datové typy. odlišné typy Data nebo režimy adresování jsou určeny nainstalovanými operandy, a ne mění v mnoMonických označeních. Command System může běžný a může být rozdělen do pěti skupin:
  • Aritmetické týmy;
  • Logické příkazy;
  • Příkazy přenosu dat;
  • Příkazy procesoru kousnutí;
  • Příkazy pobočky a managementu.
Existují následující typy adresacího operandu zdrojů:
  • Registrovat adresování
  • Přímé adresování
  • Nepřímo registrovat adresování
  • Přímé adresování
  • Nepřímý registr adresování na výši základních a indexových registrů
Aritmetické příkazy v sadě příkazů jsou následující aritmetické operace: Přidání, navíc s přihlédnutím k vlajce přenosu, odčítání s úvěrem, přírůstkem, snížením, srovnáním, desetinným korekcí, násobením a rozdělením. V allu, akce jsou prováděny na celých číslech bez znamení. V dvoutýdenních operacích: Přidání (přidání), přidávání s přenosem (ADDC) a odečítáním s úvěrem (Subb) baterie je prvním operandem a má výsledek operace. Druhý operand může být pracovním rejstříkem vybrané banky pracovních rejstříků, registrovat se vnitřní paměť Údaje s nepřímo registrovat a přímým adresováním nebo bajtem přímých dat. Tyto operace ovlivňují příznaky: PEFING, TRANSFERS, INFORMAGE Transfer a paritní vlajku ve stavu procesoru Slova (PSW). Použití přenosového výboje umožňuje vícekrát pro zlepšení přesnosti navíc operace (ADDC) a odčítání (Subb). Provádění dodatečného a odečtení operací s přihlédnutím k označení lze provést správa softwaru Sledujte vlajku (OV) PSW registru. Vlajka meziproduktu (AC) zajišťuje provádění aritmetických operací v binárním desetinném kódu. Operace přírůstku a snížení na vlajkách nemají vliv. Porovnávací operace neovlivňují operandu jmenování, ani na zdroje operandu, ale ovlivňují příznaky přenosu. Existují tři aritmetické operace, které se provádějí pouze na baterii: dva příkazy pro kontrolu obsahu akumulátoru (JZ, JNZ) a desetinné korekční tým, když jsou binární desetinné kódy navíc. S operací násobení, obsah baterie a vynásobený obsahu registru a výsledku je umístěn následující: mladší bajt v registru B, Senior - v rejstříku A. V případě operace divize, Celá divize je umístěna v baterii A, vyvážení divize - v registru V. Logické příkazy s Byte proměnnými příkazy Command System umožňuje implementovat logické operace: "a", "nebo" nebo "," vyloučit nebo "na bateriovém rejstříku) A) a pozitivní zdroj. Druhý operand (bajtový zdroj) může být pracovním rejstříkem ve vybrané bance pracovních rejstříků; Rejstřík interního RAM, adresovaného na pomoc nepřímo registrované adresování; Konvertibilní buňky interních RAM a speciálních registrů; Přímou hodnotu. Tyto logické operace mohou být implementovány v jakémkoli přímém registru interního RAM nebo zaregistrovat speciální účely pomocí obsahu baterie A nebo přímých dat jako druhý operand. Existují logické operace, které se provádějí pouze na baterii: resetovat a invertují všech osmi výbojů A; cyklický posun do levice a vvvo; cyklický posun vlevo a vpravo, s přihlédnutím k vlajce převodu; Výměna ve Senior a Junior Tetrad (Nibls) v bateriích. Symbol Tabulka Tabulka přenosu dat (kódy) šité do programu ROM lze zvolit pomocí příkazů přenosu dat pomocí nepřímé adresování. Byte konstanty mohou být přeneseny na baterii z paměťové buňky programů určených na množství základního registru (PC nebo DPTR) a indexového registru (obsah A). To poskytuje například pohodlný prostředek k implementaci algoritmu konverzního kódu ASCII do kódem sedmi-segmentu. Každá buňka 256-bajtového bloku externí datové paměti dat lze zvolit pomocí nepřímo registrujícího adresování prostřednictvím ukazatelů R0 nebo R1 (vybraná banka pracovních rejstříků). Buňka uvnitř adresního prostoru 64 kB externího paměti RAM lze také vybrat pomocí nepřímo registrovat adresování prostřednictvím registru ukazatele DPTR dat. Příkazy přenosu mezi revolvingovými registry umožňuje provést hodnotu z portu do buňky interního paměti RAM bez použití pracovních registrů nebo baterií. V logickém procesoru může být jakýkoliv opakovaný bit umístěn v přenosovém bitu a naopak. Obsah baterie může být vyměňován s obsahem pracovních registrů (vybraná banka) as obsahem interních buněk RAM, které se zabývají nepřímo registrovaným adresováním, jakož i obsahem přímých adresovaných buněk interního berana a s obsahem speciálních registrů. Mladší NIBT (vypouštění 3-0) obsahu akumulátoru může být vyměněn s mladší NIBL \u200b\u200bobsahu buněk interního paměti RAM pomocí nepřímo registrovat adresování. Příkazy bitového procesoru Bitový procesor je součástí architektury MK Rodiny MCS51 a lze jej prohlížet jako nezávislý procesor. Bitový procesor provádí sadu příkazů, má svůj binární adresu a jeho vstupní výstup. Příkazy pracující s bity poskytují přímé adresování 128 bitů (0-127) v šestnácti buňkách interní paměti RAM (buněk s 20H-2FH adresy) a přímo bitové adresování speciálních registrů pro speciální účely, jejichž adresy jsou více osm. Každá z odděleně adresovaných bitů lze nastavit na "1", reset v "0", obrácené, ověřené. Přechody lze implementovat: pokud je nainstalován bit; Pokud bit není nainstalován; přechod, pokud je bit instalován, s vypouštěním tohoto bitu; Bit může být přepsán do (od) vypouštění převodu. Mezi žádným důsledkem bitů a přenosové vlajky, logickými operacemi "a", "nebo", kde je výsledek zadán do vypouštění vlajky přenosu. Příkazy hořké zpracování zajišťují implementaci komplexních kombinatorických logických funkcí a optimalizace uživatele. Příkazy s rozvětvením a přenosem adresního prostoru programů nemají žádnou stránku organizaci, která umožňuje volně přesunout fragmenty programu v rámci adresního prostoru, nevyžaduje recesivní (změnu) číslo stránky. Stěhování jednotlivých fragmentů programu poskytuje možnost použití různých softwarových modulů různými programy. Příkazy 16bitových přechodů a volání do podprogramů umožňují přechod k libovolnému bodu adresního prostoru paměti 64 kB programů. Příkazy 11bitových přechodů a volání do podprogramů poskytují přechody uvnitř softwarového modulu kapacitance 2 kB. Command System má podmíněné a bezpodmínečné přechody ve vztahu k počáteční adrese dalšího programu v rozsahu od (RS) -128 až (ZS) +127. Příkazy pro kontrolu jednotlivých výbojů umožňují podmíněné přechody jako "0" nebo "1" a konesné bity. Kontrola obsahu akumulátoru (pro nulu / nula) umožňují podmíněné přechody podle obsahu A. Nepřímé-registrové přechody v příkazovém systému poskytují větvení vzhledem ke základnímu registru (DPTR nebo obsah PC) s posunutím baterie A. Registrace Adresování registrů adresování se používá k apelováním na osm pracovních registrů vybrané banky pracovních registrů (stejné registry mohou být vybrány s použitím přímého adresování a nepřímo registrovat adresování jako běžné buňky interní datové paměti RAM). Adresování registrů se používá k odvolání na registry A, B, B, AB (Registrace Registrace), DPTR a na transpozici vlajku C. Použití registru adresování umožňuje obdržet dvoubajtový ekvivalent tříbarevných příkazů přímých adres. Přímo adresování přímého bajtu adresování kontaktů se používá k přístupu k interním paměťovým buňkám (RAM) dat (0-127) a registrům zvláštního účelu. Přímý hořký adresování se používá k apelováním na samostatně oslovitelné 128 bitů umístěných v buňkách s 20H-2FH adresami a samostatně oslovenými bity speciálních registrů. Senior Bit BYTE Direct Adrem kód vybere jednu ze dvou skupin samostatně oslovených bitů umístěných v RAM nebo registrům speciálního určení. Přímo adresované bity s adresami 0-127 (00h-7FH) jsou umístěny v bloku 16 buněk vnitřního berana, majících adresy 20H-2FH. Tyto buňky jsou důsledně očíslovány z mladších bitů mladšího bajtu na starší bity staršího bajtu. Samostatně oslovené bity ve zvláštním účelu registry jsou číslovány takto: Pět starších vypouštěcího adresáře se shoduje s pěti staršími výbojem samotného rejstříku a tři mladší - určují umístění samostatného IBTA v rámci rejstříku. Nepřímé-registrovat adresování nepřímých registrovaných adresování se používá k odvolání na interní údaje RAS. Jako rejstřík se použijí rejstřík R10, R1 registréry vybraného registru banky. Příkazy Push a POP používají obsah ukazatele zásobníku (SP). Adresování nepřímého registru se také používá pro přístup k externí paměti dat. V tomto případě pomocí registrů ukazatele R0 a R1 (vybraná banka pracovních registrů) je vybrána buňka z bloku v 256 bajtech externí paměti dat. Číslo bloku je přednastaveno obsah port P2. 16bitový ukazatel dat (DPTR) lze použít pro přístup k libovolné buňce adresního prostoru externí paměti dat na 64 kb. Přímá závislost Přímé adresování umožňuje vybrat konstantní program z adresního prostoru prostoru paměti explicitně zadaný v příkazu. Nepřímo registrovat adresu pro výši základních a indexových registrů. Nepřímé-registrovat adresování ve výši: Základní registr plus registru indexu (obsah baterie A) zjednodušuje zobrazení tabulek šitých v paměti programu. Každý bajt z tabulky lze vybrat adresou, která určená součet obsahu DPTR nebo PC a obsahu A. tabulky označení a symbolů používaných v příkazovém systému
Označení, Symbol Účel
ALE baterie
Rn. Registry aktuálního vybraného registru banky
R. Počet staženého registru zadaného v týmu
Přímo. Přímo adresovatelná 8bitová interní adresa datové buňky, která může být buňka interní datové paměti dat (0-127) nebo SFR (128-255)
@Rr. Nepřímo adresovatelná 8bitová buňka interní datové paměti dat
Data8. 8-bit mě nasměrujete, procházky v poli
DataH. Senior bity (15-8) okamžitých 16bitových dat
DataL. Mladší bity (7-0) okamžitých 16bitových dat
Addr11 11bitová cílová adresa
Addrl. Juniorské cílové adresy
Disp8. 8-bitový ofsetový bajt s m podepsat
Bit. Bit s přímým adresováním, jejichž adresa obsahuje policajt v interní datové paměti RAM nebo SFR
A15, A14 ... A0 Cílové adresy bitů
(X) Obsah prvku x.
((X)) Obsah na adresu uložené v prvku X
(X) [m] Vypouštěcí prvek x
+ - * / a nebo xor / x Operace: doplnění odečtení násobení rozdělení logického násobení (provoz a) logického přidávání (provozu nebo) přidávání modulu 2 (s výjimkou nebo) inverze prvku x

MnoMonic označení funkcí jsou jednoznačně spojeny se specifickými kombinacemi metod adresování a datových typů. Celkem 111 takových kombinací je možné v příkazovém systému. Tabulka zobrazuje seznam příkazů objednaných abecedně.

MNEMONICS Funkce Vlajky
Příkaz ACALL Absolutní volání podprogramu
Tým přidat a<байт-источник> Přidání AC, C, OV
Addc tým<байт-источник> S přenosem AC, C, OV
AJMP příkaz Absolutní přechod
Anl Team.<байт-назначения>, <байт-источникa> Logické "a"
Příkaz anl c,<байт-источникa> Logické "a" pro variables-bity
CJNE Command.<байт-назначения>, <байт-источник>, <смещение> Srovnání a přechod, ne-li rovno C.
Team CLR A. Baterie reset
CLR TEAM. Bit reset C, bit.
CPL A. Team. Inverze AK UMA URA
CPL příkaz Bitová inverze C, bit.
TEAM DA A. Desetinná korekce baterie pro False AC, C.
Tým dec.<байт> Snížení
Divoký tým Divize C, OV.
Team Djnz.<байт>, <смещение> Snižování a přechod, ne-li nula
Příkaz<байт> Přírůstek
Team Inc DPTR. Přírůstek ukazatele dat
JB Team. , Přechod, pokud je bit nainstalován
Team JBC. , Přechod Pokud je bit nainstalován a resetujte tento bit
JC Team. Přechod, pokud je přenos nastaven
JMP @ A + DPTR tým Nepřímý přechod
Team Jnb. , Přechod, pokud není bit nainstalován
JNC Team. Přechod Pokud není přenos nainstalován
Team JNZ. Přechod, pokud není obsah baterie nulový
Team JZ. Přechod Pokud je obsah baterie 0
Lcall Command. Dlouhá výzva
Tým LJMP. Dlouhý přechod
Team Mov.<байт-назначения>, <байт-источника> Odeslat variabilní bajt
Team Mov.<бит-назначения>, <бит-источника> Odeslat datové bity C.
Tým MOV DPTR, # Data16 Upload Data ukazatel 16-bitová konstanta
MOVC A, @ a + ( ) Odeslat bajty z programové paměti
Příkaz MOVX.<байт приемника>, <байт источника> Odeslat na externí paměť (z externí paměti)
Team Mul Ab. Násobení C, OV.
Příkaz nop. Žádný provoz PC.
ORL Team.<байт-назначения>, <байт-источникa> Logické "nebo" pro variabilní bajty
ORL C Command.<бит источникa> Logické "nebo" pro variables-bity C.
Popelný tým Čtení z Stack.
Push team. Záznam v Stack.
Ret. Návrat z podprogramu
Tým reti. Vrátit se z přerušení
RL A. Team. Obsah baterie Shift vlevo
Rlc příkaz Obsah baterie Shift vlevo přes transpirační vlajku
Rr příkaz Posun baterie doprava
Rrc příkaz Obsah baterie Shift doprava přes příznak přenosu C.
Setb Command. Sada bitů C.
Tým SJMP.<метка> Krátký přechod
Subb a,<байт источника> Odčítání s půjčováním AC, C, OV
Swap A. Výměna notebooků uvnitř baterie
XCH tým<байт> Sdílení obsahu baterie
Tým xchd a, @ r1 Tetraja Exchange.
XRL Team.<байт-назначения>, <байт-источникa> Logické "s výjimkou nebo" pro variabilní bajty

Architektura rodiny MCS-51 je do značné míry předurčena jeho jmenování kompaktní a levný Digitální zařízení. Všechny funkce mikroevm jsou implementovány pomocí jediného čipu. Rodina MCS-51 zahrnuje řadu mikroobvodů z nejjednodušších mikrokontrolérů docela komplikované. MCS-51 Rodinné mikrokontroléry umožňují provádět jak řídicí úkoly různých zařízení a implementovat jednotlivé uzly analogových okruhů. Všechny žetony této rodiny pracují se stejným mCS-51 příkazový systém , většina z nich se provádí ve stejném sboru shodu Colevka (Číslovací nohy pro případ). To vám umožní použít pro vyvinuté mikroobvodové zařízení z různých firem - Maxim, Atmel, NXP atd. (Katalog..php? Stránka \u003d komponenty_list & id \u003d 39 "\u003e S.M. Hledat podle parametrů) bez změny pojem Zařízení a programy.

Obrázek 1. Strukturní schéma regulátoru I8751

Blokové schéma regulátoru je uveden na obrázku 1. a skládá se z následujících základních funkčních uzlů: řídicí jednotky, aritmetické logické zařízení, blok časovačů / čítačů, blokového bloku sériového rozhraní a programový metr, paměť dat a program Programová paměť. Bilaterální výměna se provádí pomocí interní 8bitové datové linky.

Zvažte více přiřazení každého bloku. Podle takového schématu jsou postaveny téměř všechny zástupci rodiny MCS-51. Různé čipy této rodiny se liší pouze ve zvláštním účelu registry (včetně počtu přístavů). Systém příkazů všech rodinných řadičů MCS-51 Obsahuje 111 základních příkazů s formátem 1, 2 nebo 3 bajty a nemění se při pohybu z jednoho čipu do druhého. Poskytuje vynikající přenositelnost programů z jednoho čipu do druhého.

Řídící a synchronizační jednotka

Řídicí a synchronizační jednotka (časování a řízení) je navrženo tak, aby generovaly synchronizační a řídicí signály, které zajišťují koordinaci společného provozu bloků OEHM ve všech přípustných režimech jeho provozu. Ve složení řídicí jednotky zahrnuje:

  • - zařízení pro tvorbu časových intervalů,
  • - I / O logika,
  • - příkazový registr,
  • - registr řízení spotřeba elektrické energie,
  • - Dekodér týmu, logika počítačového managementu.

Tvorba týmového intervalu Je určen pro tvorbu a vydávání interních synchronizačních signálů fází, hodin a cyklů. Počet strojních cyklů určuje čas provedení příkazů. Téměř všechny příkazy OEEHM se provádějí pro jeden nebo dva cykly stroje, s výjimkou násobení a dělebních příkazů, jejichž trvání je čtyři cykly motoru. Označte frekvenci specifikačního generátoru přes F G. Potom trvání cyklu stroje je 12 / f g nebo je 12 období signálu specifikačního generátoru. I / O logika je určena pro přijímání a vydávání signálů, které poskytují výměnu informací s externími zařízeními prostřednictvím výstupních portů výstupu P0-P0 P3.

Registr týmů Určeno pro záznam a ukládání 8bitového spustitelného kódu spustitelného kódu. Operační kód pomocí příkazového dekodéru a logiky řízení počítače, je převeden na mikroprogram provedení příkazu.

Registr řízení spotřeby (PCON) Umožňuje zastavit provoz mikrokontroléru, aby se snížila spotřeba elektřiny a snížila úroveň interference z mikrokontroléru. Ještě větší snížení spotřeby elektřiny a snížení interference může být dosaženo zastavením multifunkčního generátoru mikrokontroléru. Toho lze dosáhnout spínáním systému řízení spotřeby PCON. Pro výrobce technologie N-MOS (Series 1816 nebo zahraniční mikroobvody, v jejichž názvu, který uprostřed nedochází k žádnému písmenu "C") Registr řízení spotřeby PCON obsahuje pouze jeden bit, který řídí rychlost přenosu sériový port Smod, ale chybí žádné bity spotřeby elektřiny.

Aritmetické logické zařízení (ALU) Jedná se o paralelní osmibitové zařízení, které zajišťuje provádění aritmetických a logických operací. ALU se skládá z:

  • - registry baterií, TMP1 a TMP2 časové úložné registry,
  • - ROM konstanta,
  • - Adder,
  • - dodatečný registr (registrovat c),
  • - baterie (ACC),
  • - Státní registr programu (PSW).

Registrovat baterie a dočasné uchovávání registrů - osm-bitové registry určené k přijímání a ukládání operandů v době provozu na nich. Tyto registry nejsou programově dostupné.

ROM CONSTANT. Poskytuje nápravný kód generování binárního desetinného zobrazení dat, kód masky pro bitové operace a konstantní kód.

Paralelní osm-bit Jedná se o kombinovaný obvod se sekvenčním přenosem, určeným pro provádění aritmetických operací sčítání, odčítání a logických operací přidávání, násobení, nerovnatosti a identity.

Zaregistrujte se B. - osmitý registr použitý při multiplikačních a dělených operacích. Pro další pokyny lze zobrazit jako další ultraoperační registr.

baterie - osmitý bitový registr, který je určen pro přijímání a ukládání výsledků získaného při provádění aritmetických a logických operacích nebo operací řazení

Po sobě jdoucí blok rozhraní a přerušení (PIP) Určeno tak, aby organizovat I / O, sekvenční informace toků a systémy přerušení organizace. Blok zahrnuje:

  1. - pip pufr,
  2. - Řídicí logika,
  3. - řídicí registr,
  4. - vyrovnávací paměť vysílače,
  5. - přijímací buffer,
  6. - Sériový port transceiver,
  7. - přerušit prioritní registr,
  8. - přerušit rozlišení registru,
  9. - Přerušení logického a vektorového generace vektoru.

Příkazový čítač (počítadlo programů) Navrženo pro vytvoření aktuální 16bitové adresy interní paměti programů a 8/16-bitová adresa externí paměti programů. Měřič týmu obsahuje 16bitovou pc pM vyrovnávací paměť, schéma PC registr a přírůstek (zvýšení obsahu o 1).

Datová paměť (RAM) Určeno pro dočasné uchovávání informací používaných v procesu provádění programu.

Porty P0, P1, P2, P3 Jedná se o kvazi-dokumentární vstupní porty a jsou určeny k zajištění výměny informací OES s externími zařízeními, tvořící 32 vstupních linek.

Zařízení časovače NA základní modely Rodiny mají dva programovatelné 16bitové časovače / čítač (T / C0 a T / C1), které lze použít jak jako časovače, tak jako čítače externích událostí.

Státní registr programu (PSW) Při provádění programu je určen k uložení informací o stavu ALU.

Softwarová paměť (EPROM) Je určen pro ukládání programů a je konstantní úložné zařízení (ROM). V různých mikroobvodech aplikujte masku ROM, promyje ultrafialovým zářením nebo Blikat. Rom.

Registrace datového ukazatele (DPTR) Navrženo pro ukládání 16bitové adresy externí paměti dat nebo programové paměti.

Stack ukazatel (SP) Jedná se o osmibitový registr určený k uspořádání speciální datové paměti (zásobníku), ve kterém můžete dočasně uložit libovolnou kontrolu paměti.



Mikrokontroléry rodiny MSS-51 jsou postaveny na architektuře Harvard, ve které paměť programů a paměti těchto sekcí má své vlastní cílené mezery a způsoby, jak je přistupovat.

Program paměti


Maximální množství paměti je 64k bajt, z toho 4K, 8K, 16K nebo 32K bajtů paměti (tabulka 7.3.1) jsou umístěny na krystalu, zbývající objem je mimo krystal.
Při napětí na výstupu EA \u003d V cc. používá se jak interní, tak externí paměť, při ea \u003d v cc \u003d 0 - pouze externí pa-mig.
Tabulka 7.3.1 jsou uvedeny adresa Adresa Access k programůmpro zadané případy.
Dolní paměťová oblast programů se vrátí, aby se spustil motor mikrocont-roll motoru (výchozí adresa 0000h po vypuštění) a pod zpracováním přerušení (řízení přerušení je umístěno s intervalem 8 bajtů: 0003h, 000bH, 0013H, atd.).


Paměťové programy jsou pouze pro čtení a při manipulaci:

● K. externí paměťprogramy jsou generovány ¯y a vždy tvoří 16bitovou adresu.
Bajt mladšího adresáře je přenášen přes port P0 v první polovině cyklu stroje a je upevněn plátkem ALE brány v registru.
Ve druhé polovině cyklu se port P0 používá pro zadávání dat z externí paměti v bajtu MK.
Senior Byte adresy je přenášen přes port P2 po celou dobu odvolání paměti (obr. 7.1.11);

● K. vnitřní paměťsignál pro čtení není vytvořen a cykly výměny ve vnitřní pneumatice mikrokontroléru se používají.

Data Memory.

Vnitřní paměťdata mohou být rozdělena do tří bloků (tabulka 7.3.2).

Vnitřní paměť je vždy řešena bajtem, která poskytuje adresy pouze na 256 paměťových buněk.
Proto, jak je vidět z tabulky 7.3.2, pro adresy k horním 8bitovým buňkám vnitřní paměti RAM a registrů speciálních funkcí SFR, které zaujímají stejný adresářový prostor, v týmech se používají různé způsoby adresování: nepřímý a rovný.

Vlastnosti organizace nižší oblasti vnitřní RAModráží v tabulce. 7.3.3.

Mladší 32 bajtů vnitřní RAM s adresami 00h.
1FH je seskupen do podváděcích banky pro osm registrů (R0.R7).
Následující 16 bajtů RAM s adresami 20h.
2FH je 8 × 16 \u003d 128 bitová paměťová oblast, která umožňuje každému oddělenému bitu.
Chcete-li vybrat adresu registru banky, je jeho název R0 použit.
R7, vybrat banku - bity RS0, RS1 Status Status Status Register.

Adresy bitů

Adresy bitůvedl v tabulce. 7.3.3.

Adresování se provádí přímozpůsob.

Seznam všech speciálních funkcí SFR registrují se svými adresami v tabulce 7.2.2.
Pro přehlednost v tabulce 7.3.

4 je dáno mapa adresy HistrowSfr.mikrociály rodiny MCS-51.
Adresa SFR je určena množinou počtu sloupců a řádků v systému hexadecimálního čísla.

Zaregistru CMOD má například adresu D9H.

Pro SFR registry, jejichž adresy skončí s 0H nebo 8h (jsou zvýrazněny tučně), kromě baitovapovoleno poraženýadresování.

Zároveň adresu bitu zabírající zaregistrujte se n-th Vypoucení je definováno jako XXH + 0NH, kde XXH je adresa registru SFR, n \u003d 0,7.
Bitové adresy v této oblasti mají hodnoty od 80h do FFH.
Například adresy baterií bity prdele le-zát v rámci E0H-E7H.

Externí paměťdata (až 64 kB) jsou vytvořena dalšími paměťovými čipy připojenými k MK.
Speciální příkazy se používají k práci s externí pamětí dat, proto adresové prostory externí a vnitřní paměti se netýkají, a proto lze současně používat oba typy paměti.

Přístup k buňkám externí datovou pamětí (obr.7.1.8):
● Příkazy s nepřímým adresováním;
● Přečtěte si signály ¯ ¯ ¯ového záznamu;
● Port P0 pro přenos adresy mladšího bajtu a přijímání / přenos dat dat;
● P2 port pro odesílání staršího bajtu adresy.
Metody adresování.
Příkazový systém používá:
● Přímý, nepřímý, registrovaný, nepřímo registrovaný, přímý a indexový adresování (nepřímé adresování na výši základních a indexových registrů) zdrojové operandy;
● Direct, registrovat a nepřímo registrovat adresování jmenování operands.
Kombinace těchto metod (adresování) poskytuje 21 režim adresování.
V tomto a v tabulkách níže se používají následující symboly:

Přímé adresování.

V tomto případě metody adresování je umístění bajtu nebo datového bitu určeno 8bitovou adresou druhého (a třetího) příkazu BAJA.
Přímý adresování se používá pouze pro přístup k interní paměti dat (nižší 128 bajtů RAM) a registrů speciálních funkcí.

Registrovat adresování.


Tato řešení adresování poskytuje přístup k datům, které jsou uloženy v jednom z osmi registrů R0.
R7 Současná banka pracovních rejstříků.
Lze jej také použít k odvolání na registraci A, B, AB (Dual Register), registru-ukazatel DPTR a přenosovou vlajku.
Adresa zadaných registrů je položena do operačního kódu, který snižuje počet příkazových bajtů.

Nepřímo registrovat adresování.


V tomto případě je adresa údajů uchovávána v registru indexu, jehož umístění je určeno operačním kódem.
Tato metoda adresování se používá k apelováním na externí RAM a horní polovinu vnitřní paměti RAM.
Registry 8-bitové ad-odkazy mohou sloužit jako registré R0, R1 vybrané banky pracovních registrů nebo ukazatele SR zásobníku, pro 16bitové adresování, se používá pouze registr DPTR datový zpoždění.

Přímé adresování.


S tímto metodou adresování jsou data přímo označena v příkazu a jsou ve druhé (nebo ve druhém a třetím) příkazu bajtů, tj.
Není nutné adresování na paměť.
Například CO-MANDA MOV A, # 50 v baterii A je načten číslo 50.

Adresování indexu.


Tato metoda je nepřímo režimem, ve kterém je adresa databáze dat definována jako součet obsahu základního (DPTR nebo PC) a indexových registrů.
Metoda používá se pouze pro přístup k paměti programu a pouze v režimu čtení;zjednodušuje zobrazovací tabulky šité v paměti.

Struktura týmu.

Délka příkazu je jedna (49 příkazů), dva (45 ko-mand) nebo tři (17 příkazů) byte.
První bajt příkazu vždy obsahuje operativní kód (ko), druhé a třetí bajty - adresy operandů nebo přímých datových hodnot.

Samostatné bity, tetrads, bajty a dvojitá bajtová slova mohou být použity jako operandy.
Můžete vybrat 13 typů příkazů, které jsou uvedeny v tabulce. 7.3.5:

● A, PC, SP, DPTR, RN (n \u003d 0, 7) - baterie, měřič příkazu, ukazatel zásobníku, rejstřík ukazatele dat a aktuální bankovní rejstřík;
● RM (m \u003d 0, 1) - registr aktuální banky používané nepřímou adrelation;
● Direct - 8-bitová adresa přímo adresovaná operandem;
● bit - adresa přímo adresovaná bit;
● Rel - relativní adresa přechodu;
● Addr11, Addr16 - 11- a 16-bitová absolutní přechodová adresa;
● # Data8, # Data16 - přímá data (operands) 8- a 16-bitová délka;
● A10, A9, A0 - oddělené vypouštění 11-bitové adresy;
● (.) - Obsah paměťové buňky na adresu uvedené v závorkách;
● SAT, MB - Senior a mladší bajty 16bitového operandu.

Obecný informační systém.

Systém příkazů poskytuje velké možnosti zpracování dat ve formě bitů, tetrad, bajtů, dvoubajtových slov a také reálného času.
Chcete-li popsat příkazy, použije se jazyk ASM51 makroassampler. Syntaxe většiny příkazů se skládá z mnoNiconického označení (zkratka) provedené operace, následované operandy.
Pomocí operandů jsou indikovány různé způsoby adresování a datových typů.

Zejména Abbrevi-Atura MOV má 18 různých příkazů určených pro zpracování tří typů dat (bity, bajty, adresy) v různých adresních prostorách.
Sada příkazů má 42 mnemonic notace 111 typů typů příkazů pro obstarání 33 funkcí MK.

Od 111 příkazů 64 se provádějí v jednom cyklu stroje, 45 - pro dva cykly a pouze dva příkazy (multiplikace a divize divize) jste splněni ve 4 cyklech. Při frekvenci generátoru hodin 12 MHz, doba trvání cyklu stroje (12 hodin) je 1 μs. Podle funkční značkapříkazy lze rozdělit do pěti skupin. Níže je uveden popis příkazů každé skupiny reprezentované ve formě tabulek. Pro kompaktnost tabulek vyberte skupinu týmu (tabulka 7.3.6), jehož provedení vlivy(označeno +) na stavu vlajekstav Stav Stav PSW.

Příkazy přenosu dat

Odesílání příkazů lze rozdělit na jednotlivé podskupiny.
Přepravní příkazy a výměna dat mezi buňkami v paměťových buňkách (Tabulka 7.3.7).

Příkazy 1-16, které mají MNEMONICS MOV DEST, SRC, jsou určeny nákladbyte nebo dva bajty (povel 16) dat ze zdroje SRC do přijímače DEST, zatímco:
● Zobrazení zdroj(SRC) se používají čtyři metody adresování: regist-ry (příkazy 2-4, 6, 8), přímé (příkazy 1, 7, 9, 11), nepřímé (příkazy 5, 10) a přímé (příkazy 12-16) ;
● Zobrazení přijímač(DEST) používají se tři metody: registr (týmy 1, 3 ... 5, 9, 12, 14, 16), rovné (týmy 2, 7, 8, 10, 13), nepřímé (příkazy 6, 11, 15).

Týmy 17-20 poskytují výměnainformace mezi dvěma buňkami interní datové paměti (nebo dvoustranné zásilky).
Při provádění ko-mandu CHCN probíhá výměna bytů a příkaz XCHD je mladší tetrad bajtové operandy.

Jeden z buněk je vždy baterie A. Jako další buňka, při výměně bajtů, jeden z RN registrů současné banky se používá, a také přímo nebo nepřímo řeší interní paměťovou buňku; Při použití notebooků - pouze nepřímo adresovatelná buňka vnitřní paměti.

Vzhledem k tomu, že ve všech MK zásobníku je umístěn ve vnitřní RAM, ve stejné podskupině týmy(20, 21) apeluje na zásobníkPush SRC, pop Dest.
Tyto příkazy používají pouze přímý způsob adresování, nahrávání bajtů na zásobníku nebo zesílení z zásobníku.
Je třeba mít na paměti, že v těch Mk, které v beranech neexistuje žádné horní 128 bajtů, zvýšení zásobníku mimo 128 bajtů vede k ztrátě dat.

Příkazy přenosu dat mezi interními a externími palezemi (Tabulka 7.3.8).

Tyto příkazy používají pouze nepřímý adrelation, zatímco jednorázová adresa může být umístěna v P0 nebo R1 aktuální banky registrů, dvojitá bajtová adresa v registru datového indexu DRT.
S jakýmkoliv přístupem k externí paměti se hraje role přijímače nebo zdroje operandů ve vnitřní paměti baterie A.

Příkazy přenosu dat z programové paměti (Tabulka 7.3.9).

Tyto příkazy jsou navrženy tak, aby číst tabulky ze softwarové paměti.

Příkaz MOVC A, @ A + DPTR se používá k odvolání na tabulku s počtem vstupů od 0 do 255.

Počet požadovaných přihlášení v tabulce je vložen do baterie a registr DPTR je nainstalován na počátečním bodě tabulky. Výrazná funkce Dalším příkazem je, že jako základní ukazatel je používán pro-gram metr PC a odvolání tabulky se provádí ze podprogramu. Zpočátku je počet požadovaného vstupního bodu vložen do baterie, pak se nazývá podprogram s příkazem MOVC A, @ A + PC. Tabulka může mít 255 EMPS s čísly od 1 do 255, jako 0 se používá k řešení příkazu RET od podprogramu.

Aritmetické příkazy pro zpracování dat. Všechny aritmetické příkazy jsou prováděny nad nehodnými celými čísly. Operace přes dva operandy (Tabulka 7.3.10). V operacích speat.Přidat dodatky podléhající přenosuAddc I. odčítání zohlednění úvěruSubb:

● Zdroj jednoho 8bitového operandu a výsledný přijímač slouží AK-Cumulator;
● Zdroj jiného operandu je buď jeden z Rn (n \u003d 0-7) bankovních registrů nebo přímo přímo. nebo nepřímo @rm (m \u003d 0, 1) adresované na paměťovou buňku paměti RAM nebo přímá data #data.

Operace násobeníMul I. divizeDIV se provádí na obsahu REG RECORDERU A a V. Při vynásobení, starší 8 výsledků jsou zaznamenány v re-Gysstr v nejmladším 8 výboji - v registru A.
Pokud je produkt větší než 255, je nastaven vlajka přetečení OV; Vlajka přenosu je vždy resetován. Příkaz DIV provádí rozdělení 8-bitové baterie operandu A na 8bitovém operandu registru V.
Při dělení soukromých (starších výbojů) se zaznamenává v re-gystr v A, zbytek (mladší výboje) - v B. vlajkách přenosu C a OV přetečení jsou resetovány.
Když se pokusíte rozdělit 0, vlajka overflow je nastaven. Operace rozdělení je častěji používána pro směny a transformace čísel.

Při dělení binárního čísla o 2 n, posune na n bitech doleva.
Extra bity jsou převedeny do registru V.

Operace jednotlivých operandů(Tabulka. 7.3.11).

Příkaz da se používá k provádění binárních desetinných operací. Inc příkazy, dá vám umožnit zvýšit nebo snížit obsah paměťové buňky na jednom.
Používají se na obsah baterie-RA A, jeden z pracovních rejstříků RN nebo paměťových buněk adresovatelných jak přímo, tak nepřímo.
Zvýšení provozu na jednotku platí také pro obsah 16bitového registru ukazatele DPTR.

Příkazy logických operací.

Duální operace

(Tabulka 7.3.12).

Příkazy AML, ORL, XRL vám umožní provádět tři dvourozměrné logické operace přes 8-bitové operandy: ANL - logické násobení (a), ORL - Lo-dělení (nebo), XRL - s výjimkou nebo (XOR).
Operace jsou prováděny nad jednotlivými kousky operandů. Zdroj jedné z operandů a současně přijímač výsledku je buď baterie (A), nebo přímo adresování paměťové buňky (Direct).
Pro zdroj jiného operandu se používá regi-strunný, přímý, nepřímý nebo přímý způsob adresování.

Jednotlivé operace

(Tabulka 7.3.13).
Skupina obsahuje řadu jednotlivých operací na obsahu baterie A: Čisticí operace (CLR), logický přidávání nebo inverzi (CPL), cyklické a prodloužené cyklické posuny na 1 bit doprava (RL, RLC) a vlevo (RR) , RRC), Exchange Tetrad nebo cyklický bajtový posun o 4 vypouštění (swap) a prázdnou operaci (NOP), v důsledku čehož stav všech registrů MK (s výjimkou programového čítače) zůstává nezměněn.

Řízení příkazů

Bezpodmínečné přechodné týmy

(Tabulka 7.3.14).

Příkazy 1-3 se liší pouze ve formátu cílové adresy.

CO-MAND LJMP (L - Long) provádí "dlouhý" bezpodmínečný přechod na zadanou adresu Addr16, nahrávání počítače PC s druhým a třetím příkazovým bajtem.
Příkaz poskytuje přechod k libovolnému bodu 64k bajtu adresního prostoru.

CO-MANDA AJMP (A - Absolutum) poskytuje "absolutní" přechod na adresu uvnitř stránky 2K bajtové stránky, jehož počáteční adresa je určena pěti staršími vypouštěcími ds programem PC programového měřidla (první obsah zvyšování počítače 2).

Příkaz SJMP (S - krátký) umožňuje implementaci "krátkého" bezpodmínečného přechodu na adresu, která je vypočítána přidáním relace Rel s přihlášením druhého příkazu PATE s obsahem počítadla PC, dříve zvětšené 2.

Přechodová adresa je v rámci -128 + 127 bytů ve vztahu k týmu Adreth.
Chcete-li se přestěhovat do jakéhokoliv jiného bodu 64-kilobajtové adresy pro-prostoru, může být příkaz 4 také použit s nepřímým @ A + DPTR Adrelation.
V tomto případě je obsah A interpretován jako celek.

Prázdná operace (NOP), v důsledku toho, který stav všech registrů mikroprocesoru (s výjimkou programového měřiče) zůstává nezměněn.

Podmíněné přechodové týmy

(Tabulka 7.3.15).

Pomocí příkazů JZ a JNZ se přechod provádí, pokud je obsah baterie, resp.
Přechodová adresa se vypočítá přidáním relativní kultovní posunutí rel s obsahem počítačového čítače PC po přidání čísla 2 (délky příkazů v bajtech).

Obsah baterie zůstává neovlivněný.
Týmy na vlajkách nemají vliv.

CJNE (3-6) Příkazy se používají k implementaci podmíněného přechodu založeného na výsledku porovnání dvou 8bitových operandů, jehož umístění je uvedeno v příkazu.
Pokud jejich hodnoty nejsou stejné, přechod se provádí.

Přechodová adresa se vypočítá přidáním REL ofsetu s obsahem PC čítače, pre-dotažen 3.
V opačném případě se provádí následující příkaz.

Graf algoritmu ukazuje účinek hodnot ve srovnání s porovnávanými 8-bitovými operandy na přenosovou vlajku C.
DJNZ (7, navržený pro organizování softwarových cyklů.

Registr RN nebo přímo (Direct) Adresovatelná buňka je čítač cyklu druhého času, relativ (ve druhém a třetího příkazu bajtů) je relativní adresa přechodu na začátek cyklu.
Při provádění příkazů se obsah měřidla snižuje na jednotku a je zkontrolován na nulu.
Pokud není počet obsahu nula, přechod na začátek cyklu se provádí.
V osobě se provádí další tým.

Přechodová adresa se vypočítá přidáním posunu s obsahem čítače, dříve zvýšené pro délku co-Mandy (o 2 nebo 3).
Příkazové příznaky neovlivňují.

Volání příkazů do podprogramů a návrat z programů

(Tabulka 7.3.16).
Příkazy LCALL "Dlouhý hovor" a Acall "Absolutní volání" Proveďte bezpodmínečnou volání podprogramu odeslaného na zadané adrese.

Rozdíl mezi těmito příkazy z výše uvedených příkazů bezpodmínečného přechodu je, že si zachovávají vratnou adresu (obsah čítače) do hlavního programu.
Příkaz návratu z podprogramu RET obnovuje obsah příkazového měřiče od zásobníku a příkazu RETI kromě této oprávnění úrovně údržby.

Řídicí příkazy jsou široce používány relativními adresami, které podporuje pohyblivé softwarové moduly.
Jako relativní adresa je upraveno 8-bitová relev posun se znakem, což poskytuje větvení z aktuální polohy PC čítače v obou směrech ± 127 bajtů.

Chcete-li jít do jakéhokoli jiného bodu 64k-byte adresního prostoru, lze použít přímou adresu addr16 nebo nepřímý adresu @ a + DPTR.
V posledně uvedeném případě je obsah interpretován jako celek bez znaku.

Var-Ant krátkým přímým adresováním addr11 uvnitř 2k-bajtové aktuální stránky wen-den pro kompatibilitu s architekturou MK48.

Všechny tyto typy adresování lze aplikovat pouze na operaci přechodu, A pro volání je přípustný pouze přímý addr16 a interní addr11 adresování metod.
Ve všech podmíněných operacích lze použít pouze relativní adresování.

Když MK51 identifikuje požadavek přerušení, generuje jeden z příkazů typu LCALL ADDR16, které automaticky zajišťuje, že adresa návratové adresy do zásobníku.
Na rozdíl od MK48 v MK51 však není automaticky uložena ve formování stavu.

V tomto případě přestává logika přerušení pracovat na žádostech úrovně, která byla přijata k údržbě.
Chcete-li snížit úroveň přerušení, je sloužil příkaz návratu z reti přerušení, což je kromě opera, ekvivalentní ret, zahrnuje operaci rozlišení přerušení této úrovně.
Typické podmíněné operace MK51 také zahrnují JZ, JNZ operace.
On-Nao se objevil novou operaci "Porovnat a jít" cjne.

Podle tohoto příkazu je operand poprvé ve srovnání s pravidly pro odečtení celých čísel s konstantou a v souladu s výsledkem srovnání, pak se zobrazí cy vlajka. Potom v případě nepochopení s konstantou se provádí rozvětvení. Porovnání baterie, re-gastro nebo paměťové buňky s konzistentností konstanta získáme pohodlný způsob, jak zkontrolovat náhody, například k identifikaci zvláštních příležitostí.

Ve skutečnosti je příkaz CJNE prvkem obsluhy typu vysoce kvalitního typu.

Další vývoj obdržel DJNZ tým.
Nyní může programátor použít nejen jeden z pracovních rejstříků RN, ale také paměťová buňka DSEG.

Příkazy bitových operací.

Skupina se skládá z 12 příkazů, které umožňují dokončit operace na jednom nebo dvou bitech (reset, instalace, inverzi bitů a logických a nebo nebo nebo) a 5 příkazů určených k implementaci podmíněných přechodů (tabulka 7.3.17).

Příkazy poskytují přímé adresování 128 bitů umístěných v šestistupňových buňkách vnitřní RAM s adresami 20h.
2FH (tabulka 7.3.3) a 128 bitů umístěných ve zvláštním účelu registry, jejichž adresy jsou více osm (zvýrazněno v tabulce 7.3.4 od orgány).

Při provádění provozních operantů přes dva jednociferné operandy jako logický akumulátor, se používá spouštěcí spoušť PSW ukládání příznaku C (Tabulka 7.1.2).

Příkazy MOV (1,2) se provádějí lodní dopravabit z jedné přímo adresovatelné bitové buňky vnitřního beru do spouštěče C nebo v opačném směru.
CRL (3, 4), SETB (5, 6), SETB (5, 6), resp resetovatna nulu OR. set-vit.jednotka přenosového flagu C nebo zadaný bit.
S pomocí příkazů CPL, ANL, ORL (7-12) se provádějí logické operace inverze, přidávání a násobení.

Skupina také zahrnuje týmy (13-17) k realizaci konvenčních přechodných operací s relativním 8bitovým vysídlením.
Přechody mohou být implementovány jak s namontovaným bitem nebo vlajkou přenosu (příkazy 13, 16) a při výboji (velení 14, 17).

Příkaz JBC navíc k přechodu na výpočet adresy při provádění stavu (bit) \u003d 1 resetujte tento bit do nulového stavu.
Při provádění příkazů podmíněných přechodů se přepočítá přechod adresy po přidání obsahu čítače čísla 3 nebo 2 (odrážející počet bajtů v příkazu).

Plán přednášky

1. Úvod

2. Aritmetické a logické pokyny

3. Příkazy přenosu dat

4. Booleovské operace

5. Pokyny pro překlady

1. Úvod

Týmový systém MCS-51. Podporuje jednu sadu instrukcí, která je navržena tak, aby fungovala 8bitové algoritmy správy zařízení. Existuje možnost použití rychlé metody Řešení interní paměti RAM, implementace bitových operací přes malé datové struktury. Existuje podrobný systém pro řešení jednopráskových proměnných jako nezávislého typu dat, který vám umožní používat jednotlivé bity v logických a řídicích příkazech Boolean Algebra.

Řešení adresování : Sada příkazů MCS-51. Podporuje následující režimy adresování. Přímé adresování: Operand je definován 8bitovou adresou v pokynech. Přímé adresování se používá pouze pro mladší polovinu vnitřní paměti dat a registrů. Sfr.. Nepřímé adresování: Instrukce se zabývá registru obsahujícím adresu operandu. Tento typ adresování se používá pro externí a interní RAM. Registry lze použít k určení 8bitových adres R0 a R1. Vybrané registru banky nebo ukazatel zásobníku Sp.. Pro 16bitové adresování se používá pouze registr ukazatele dat. DPTR..

Registrovat pokyny : Registry R0-R7. Aktuální registrační banka lze řešit konkrétními pokyny obsahujícími 3-bitové pole označující číslo registrace v samotném pokynu. V tomto případě chybí odpovídající pole adresy. Operace pomocí speciálních registrů: Některé pokyny používají jednotlivé registry (například operace baterie, DPTR., atd.). V tomto případě je adresa operandu obecně není uvedena v příkazu. Je předurčeno operačním kódem.

Přímé konstanty : Konstanta může být přímo v příkazu, když operační kód.

Adresování indexu : Adresování indexu lze použít pouze pro přístup k paměti programu a pouze v režimu čtení. V tomto režimu jsou tabulky zobrazeny v paměti programu. 16-bitový registr ( DPTR. Nebo čítač programu) označuje základní adresu požadované tabulky a baterie označuje vstupní bod.

Sada příkazů Má 42 mnemonic symboly pro specifikaci 33 funkcí tohoto systému. Syntaxe většiny příkazů montážních jazyků se skládá z mnoNiconického označení funkce, následované operandy označujícím metody adresování a datové typy. Různé typy dat nebo adresy adresování jsou určeny nainstalovanými operandy a ne mění v mnoNiconic označení.

Command System lze běžně umístit pro pět skupin: aritmetické příkazy; Logické příkazy; Příkazy přenosu dat; příkazy procesoru kousnutí; Příkazy pobočky a managementu. Označení a symboly použité v příkazovém systému jsou uvedeny níže.

Stůl. Označení a symboly používané v příkazovém systému

Označení, Symbol

Účel

baterie

Registry aktuálního vybraného registru banky

Počet naloženého registru zadaného v příkazu

přímo.

Přímo adresovatelná 8bitová interní adresa datové buňky, která může být buňka interní datové paměti RAM (0-127) nebo registru speciálních funkcí SFR (128-255)

Nepřímo adresovatelná 8bitová buňka interní datové paměti dat

8-bit přímo To je zahrnuto do operačního kódu (CPA)

datah.

Senior bity (15-8) okamžitých 16bitových dat

dataL.

Mladší bity (7-0) okamžitých 16bitových dat

11bitová cílová adresa

addrl.

Juniorské cílové adresy

8-bitový bajt s znaménkem

Bit s přímým adresováním, jehož adresa obsahuje policista v interní datové paměti dat nebo registru speciálních funkcí SFR

a15, A14 ... A0

Cílové adresy bitů

Obsah prvku x.

Obsah na adresu uložené v prvku X

Vypouštěcí prvek x


+

*
A.
Nebo.
XOR.
/ X.

Operace:
Dodatky
Odčítat
Násobení
divize
Logické násobení (operace a)
logický doplněk (provoz nebo)
Přidání modulo 2 (s výjimkou nebo)
Inverze prvku x.

MnoMonic označení funkcí jsou jednoznačně spojeny se specifickými kombinacemi metod adresování a datových typů. Celkem 111 takových kombinací je možné v příkazovém systému.

2. Aritmetické a logické pokyny

Stejně jako P. riemer. aritmetický týmProvozní operace může být provedena jedním z následujících příkazů.

Přidat.A.,7 F. 16 - Přidat do obsahu registrů a číslo 7F 16. a výsledek je udržován v registru a;

Přidat.A.,@ R.0 - přidat do obsahu registru a číslo, jehož adresa (@ – komerční nA. ) Uloženy v registruR. 0 (nepřímý adresování) a výsledek je udržován v registru a;

Přidat A, R7 - přidat do obsahu registru a obsahu registruR. 7 a výsledek je udržován v registru a;

Přidat A # 127 - přidat do obsahu registru a číslo, adresa úložné buňky, z toho 127 ( # - Číslo symbolu) a výsledek se uloží do REGIS t.- RE A.

Všechny aritmetické pokyny se provádějí v jednom cyklu stroje s výjimkou příkazu. Inc DPTR. (SHIFT DATA POINTER DPTR. Další bajt) vyžadující dva cykly stroje, stejně jako násobení a dělení operací prováděných pro 4 cykly stroje. Jakýkoliv bajt v interní paměti dat může být zvýšen a snižován bez použití baterie.

Návod Mul Ab. Násobení (násobení - násobení) dat v baterii na datech v registru B, umístění produktu do registrů A (mladší polovina) a b (starší polovina).

Návod Divoký Divize (Division - Division) Obsah baterie na hodnotu v registru B opouštějící zbytek v B, a soukromý je v baterii.

Návod Da A. Určeno pro binární desetinné aritmetické operace (aritmetické operace na číslech uvedených v binárním desetinném kódu). Nemění binární čísla binární desetinnýAle pouze správný výsledek při přidávání dvou binárních desetinných čísel.

Příklad logický tým: Provoz logického a může být provedeno jedním z následujících příkazů:

Anl.A.,7 F. 16 - logické násobení obsahu registru a číslo 7F 16. a výsledek je zachován v rejstříku A;

Anl.A.,@ R.1 - logické násobení obsahu registru a číslo, jehož adresa je uložena v registruR. 1 (nepřímý adresování) a výsledek je udržován v registru a;

Anl a, r6 - logické násobení obsahu registru A na obsah registruR. 6 a výsledek je udržován v registru a;

ANL A, # 53 - Logické násobení obsahu registru a číslo, adresa úložné buňky, jejíž 53 16, a výsledek je udržován v registru A.

Všechny logické operace na obsahu baterie se provádějí v jednom cyklu stroje, zbytek - pro dva. Logické operace mohou být provedeny nad některou z nižších 128 bajtů interní paměti dat nebo přes libovolný registr. Sfr. (Speciální funkce registrů) v režimu přímého adresování bez použití baterie.

Operace cyklického posunu RL A, RLC A atd. Posuňte obsah baterie na jeden bit doprava nebo doleva. V případě levého cyklického posunu se mladší bit přesune do starší polohy. V případě správného cyklického posunu nastane opak.

Úkon Swap A. Cvičení výměny mladšího a staršího tetradu v baterii.

3. Příkazy přenosu dat

Příkaz MOV DEST, SRC Umožňuje odesílat data mezi buňkami interního paměti RAM nebo oblasti registrů speciálních funkcí Sfr. Bez použití baterie. Zároveň může být práce s horní polovinou vnitřní paměti RAM prováděna pouze v režimu nepřímého adresování a odvolání k registrům Sfr. - Pouze v režimu přímého adresování.

Ve všech mikroobvodách MCS-51. Stack se nachází přímo v rezidenci dat a zvyšuje se nahoru. Návod Tlačit. Zpočátku zvyšuje hodnotu v registru ukazatele zásobníku Sp.a pak píše do zásobníku datového bajtu. Týmy Tlačit. a Pop. Používá se pouze v režimu přímého adresování (záznam nebo obnovení bajtů), ale zásobník je vždy k dispozici v nepřímých adresách prostřednictvím registru Sp.. Stoh může také použít horní 128 datový bajt dat. Tyto úvahy eliminují možnost použití příkazů stánku na adresa registrů Sfr..

Pokyny k datům zahrnují 16bitovou operaci zásilky. MOV DPTR, # Data16Používá se k inicializaci registru ukazatele dat DPTR. Při prohlížení tabulek v softwarové paměti nebo přístupu k externí paměti dat.

Úkon Xch a, bajt Používá se k výměně dat mezi baterií a adresovatelným bajtem. Příkaz XCHD A, @ ri Podobně jako předchozí, ale je prováděn pouze pro junior Tetrad, který se podílí na výměně operandů.

Pro přístup k externí paměti dat se používá pouze nepřímé adresování. V případě jednobajtových adres se používají registry R0 nebo R1. Aktuální registrová banka a pro 16bitové - registru ukazatele dat DPTR.. S jakýmkoliv přístupem k externí datové paměti, baterie hraje úlohu informací o zdroji nebo přijímače.

Pro přístupy tabulek zveřejněných v softwarové paměti, jsou používány příkazy:

MOVC A, @ a + DPTR. ;

MOVC A, @ a + PC. .

Jak základní adresa tabulky používá obsah registru indikátoru dat DPTR. nebo PC. (programový metr) a ofset je převzat z A.. Tyto příkazy se používají výhradně pro čtení dat z programové paměti, ale ne zapisovat.

4. Booleovské operace

Microcircuits. MCS-51. Obsahovat ve složce "Boolean" procesor. Interní RAM má 128 přímo adresovaných bitů. Registry prostoru registru Sfr. Může také podporovat až 128 kousnutí pole. Bitové pokyny Proveďte podmíněné přechody, zásilky, reset, inverze, operace "a" nebo "nebo". Všechny zadané bity jsou k dispozici v režimu přímého adresování.

Přenosový bit Cf. V registru speciálních funkcí "Stav slova programu PSW."Používá se jako jedna baterie booleovského procesoru.

5. Pokyny pro překlady

Adresy transformačních operací jsou uvedeny v jazyce Assembler s štítkem nebo reálnou hodnotou v prostoru pro programové paměti. Podmíněné přechodové adresy jsou sestaveny do relativního posuvu - podepsat bajt přidaný do programu programu PC. V případě přechodového stavu. Hranice takových přechodů leží uvnitř mínus 128 a 127 vzhledem k prvnímu bajtu podle pokynů. V registru speciálních funkcí "Stav slova programu PSW.»Neexistuje žádná nula příznak, takže pokyny JZ. a Jnz. Zkontrolujte stav "rovnat nulu" jako testování dat v baterii.

Existují tři typy týmu bezpodmínečného přechodu: SJMP., Ljmp. a AJMP. - Významný formát určení adresy. Návod SJMP. Kódy adresy jako relativní posunutí a trvá dva bajty. Rozsah přechodu je omezen rozsahem od mínus 128 až 127 bytů vzhledem k instrukci SJMP..

V pokynech Ljmp. Použijte cílovou adresu ve formě 16bitové konstanty. Délka příkazu je tři bajty. Cílová adresa může být umístěna kdekoli v paměti programu.

Příkaz AJMP. používá 11bitovou konstantu adresy. Příkaz se skládá ze dvou bytů. Když je tato příručka spuštěna, mladší 11 bitů čítače adresy jsou nahrazeny 11bitovou adresou z příkazu. Pět Senior Program Counter Bits PC. zůstávají nezměněny. Přechod tedy lze provést uvnitř 2k-byte bloku, ve kterém je instrukce umístěna podle příkazu AJMP..

Existují dva typy příkazových volání podprogramu: Lcall. a Hovor. Návod Lcall. Používá 16bitovou adresu volaného podprogramu. V tomto případě může být podprogram umístěn kdekoli v paměti programů. Návod Hovor Používá 11bitovou adresu podprogramu. V tomto případě musí být nazývaný podprogram umístěn v jednom 2k-byte bloku s instrukcemi Hovor. Oba varianty příkazu položit další příkazovou adresu a stahování do softwarového čítače. PC. odpovídající nového významu.

Podprogram je doplněn instrukcí Ret.umožňuje návrat do instrukce další příkaz Volání. Tato instrukce odstraní návratovou adresu ze zásobníku a načte ji do programu programu. PC. . Návod Reti. Slouží k návratu z rutin pro zpracování přerušení. Jediný rozdíl Reti. z Ret. je to Reti. Informuje systém, že zpracování přerušení skončilo. Pokud v době provedení Reti. Žádné jiné přerušení, pak je to totožné Ret..

Návod Djnz. Navrženy pro řízení cyklů. Provádět cykly N. Jakmile je nutné stáhnout v bajtovém čítači s hodnotou N. a zavřete tým tělesného cyklu Djnz.směřující na začátek cyklu.

Příkaz Cjne. Porovnává dva z jeho operandu jako nepodepsané celá čísla a přechody na adresu uvedenou v něm, pokud nesplácené operandy nejsou stejné. Pokud je první operand menší než druhý, pak přenosový bit Cf. Instalován v "1".

Všechny příkazy v sestavené formě zabírají 1, 2 nebo 3 bajty.