SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ

Podobné dokumenty
SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ

Instrukční soubor 32 bit

PŘÍKLADY PROGRAMOVÁNÍ PLC TECOMAT - MODEL 32 BITŮ

SOUBOR INSTRUKCÍ PLC TECOMAT

Strojový kód. Instrukce počítače

PŘÍKLADY PROGRAMOVÁNÍ PLC TECOMAT - MODEL 16 BITŮ

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Algoritmizace a programování

1. Programování PLC. Programovatelné automaty II - 1 -

Architektura počítačů Logické obvody

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Architektura počítačů Logické obvody

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Princip funkce počítače

SEKVENČNÍ LOGICKÉ OBVODY

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

Pohled do nitra mikroprocesoru Josef Horálek

Popis instrukční sady procesoru ADOP

a operačních systémů

Obsah DÍL 1. Předmluva 11

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Čísla, reprezentace, zjednodušené výpočty

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Aritmetické operace a obvody pro jejich realizaci

Assembler - 2.část. poslední změna této stránky: Zpět

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Procesor z pohledu programátora

Způsoby realizace této funkce:

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

5 Přehled operátorů, příkazy, přetypování

8. Laboratoř: Aritmetika a řídicí struktury programu


Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Čísla, reprezentace, zjednodušené výpočty

Typy a použití klopných obvodů

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Přerušovací systém s prioritním řetězem

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Program "Světla" pro mikropočítač PMI-80

Technické vybavení programovatelných automatů řady TC600

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

Binární logika Osnova kurzu

Struktura a architektura počítačů (BI-SAP) 5

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

v aritmetické jednotce počíta

3. ZÁKLADNÍ INSTRUKCE JAZYKA TECHNOL

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Číselné soustavy. Binární číselná soustava

Racionální čísla, operátory, výrazy, knihovní funkce

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

BI-JPO (Jednotky počítače) Cvičení

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Architektury počítačů a procesorů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

LEKCE 6. Operátory. V této lekci najdete:

Kubatova Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR Kubátová Y36SAP-strojový kód 1

LabView jako programovací jazyk II

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Opakování programování

Sada 1 - Základy programování

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení. N Měřicí a řídicí technika 2012/2013. Logické proměnné

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

ISU Cvičení 3. Marta Čudová

Struktura a architektura počítačů (BI-SAP) 7

Integrovaná střední škola, Sokolnice 496

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP

Knihovna WebGraphLib

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

3. Počítačové systémy

Logické funkce a obvody, zobrazení výstupů

Instrukční sada pro používání ControlLogix a CompactLogix výňatek

Adresní mody procesoru

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

BDIO - Digitální obvody

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Racionální čísla, operátory, výrazy, knihovní funkce

Profilová část maturitní zkoušky 2014/2015

Quido - MODBUS. Kompletní popis protokolů MODBUS RTU a TCP v I/O modulech Quido. 20. listopadu 2015 w w w. p a p o u c h.

Programovací jazyk Pascal

KOMBINAČNÍ LOGICKÉ OBVODY

Jak do počítače. aneb. Co je vlastně uvnitř

Řízení IO přenosů DMA řadičem

Knihovna ConvertLib TXV první vydání září 2013 změny vyhrazeny

Transkript:

SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ

Obsah SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ 17. vydání - září 2010 OBSAH ÚVOD...5 1. INSTRUKCE PRO ČTENÍ A ZÁPIS DAT...8 LD, LDQ, LDC...8 LDIB, LDI, LDIW, LDIL, LDIQ...11 LEA...13 WR, WRC...14 WRIB, WRI, WRIW, WRIL, WRIQ...17 WRA...19 PUT...21 2. LOGICKÉ INSTRUKCE...23 AND, ANC...23 OR, ORC...26 XOR, XOC...29 NEG...32 SET, RES...33 LET, BET...35 FLG...37 STK...39 ROL, ROR...40 SHL, SHR...42 SWP, SWL...43 3. ČÍTAČE, POSUVNÉ REGISTRY, ČASOVAČE, KROKOVÝ ŘADIČ...44 CTU, CTD, CNT...44 SFL, SFR...50 TON, TOF...52 RTO...56 IMP...59 STE...61 4. ARITMETICKÉ INSTRUKCE...63 ADD, SUB...63 MUL, MULS...64 DIV, DID, DIVL, DIVS, MOD, MODS...65 INR, DCR...68 EQ, LT, LTS, GT, GTS...70 CMP, CMPS...72 MAX, MAXS, MIN, MINS...73 ABSL, CSGL, EXTB, EXTW...74 BIN, BIL, BCD, BCL...75 2 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 5. OPERACE SE ZÁSOBNÍKY...77 POP...77 NXT, PRV, CHG, CHGS...78 LAC, WAC...79 PSHB, PSHW, PSHL, PSHQ, POPB, POPW, POPL, POPQ...80 6. INSTRUKCE SKOKŮ A VOLÁNÍ...82 JMP, JMD, JMC, JMI...82 JZ, JNZ, JC, JNC, JB, JNB, JS, JNS...83 CAL, CAD, CAC, CAI...85 RET, RED, REC...86 L...87 7. ORGANIZAČNÍ INSTRUKCE...88 P, E, ED, EC...88 NOP...90 BP...91 SEQ...92 8. TABULKOVÉ INSTRUKCE...93 LTB...93 WTB...96 FTB, FTBN...99 FTM, FTMN...102 FTS, FTSF, FTSS...105 9. BLOKOVÉ OPERACE...107 SRC, MOV...107 MTN, MNT...109 FIL...111 BCMP...112 10. OPERACE SE STRUKTUROVANÝMI TABULKAMI...113 LDSR, LDS...113 WRSR, WRS...115 FIS, FIT...117 FNS, FNT...119 11. ARITMETICKÉ INSTRUKCE V PLOVOUCÍ ŘÁDOVÉ ČÁRCE...121 ADF, ADDF, SUF, SUDF...121 MUF, MUDF, DIF, DIDF...123 EQF, EQDF, LTF, LTDF, GTF, GTDF, CMF, CMDF...125 MAXF, MAXD, MINF, MIND...127 CEI, CEID, FLO, FLOD, RND, RNDD...128 ABS, ABSD, CSG, CSGD...129 LOG, LOGD, LN, LND, EXP, EXPD, POW, POWD, SQR, SQRD, HYP, HYPD...130 SIN, SIND, ASN, ASND, COS, COSD, ACS, ACSD, TAN, TAND, ATN, ATND...132 UWF, IWF, ULF, ILF...134 ULDF, ILDF, FDF...135 UFW, IFW, UFL, IFL...136 UDFL, IDFL, DFF...137 3 TXV 004 01.01

Obsah 12. INSTRUKCE REGULÁTORU PID...138 CNV...138 PID...143 PIDA...155 13. INSTRUKCE OBSLUHY TERMINÁLU A OPERACE SE ZNAKY ASCII...162 TER...162 BAS...189 ASB...190 STF, STDF...192 FST, DFST...194 14. SYSTÉMOVÉ INSTRUKCE...196 RDT, WRT...196 RDB, WDB, IDB...198 STATM...201 CHPAR...202 RFRM...204 IDTM...206 TABM...207 CRCM...208 NSLOCK...210 TODT, FRDT...211 LIP...213 PIP, PIPR...214 FUZ, DFZ...216 15. PŘENOS UŽIVATELSKÉHO PROGRAMU MEZI RŮZNÝMI MODELY SOUBORU INSTRUKCÍ...219 15.1. Operace s proměnnými...219 15.2. Operace na u...220 15.3. Redukce instrukcí a jejich ekvivalenty...220 15.4. Instrukce SWL nezaměňuje A0 a A1...222 15.5. Zrušení kaskádování aritmetických operací...222 15.6. Formáty násobení a dělení...223 15.7. Přímý přístup do periferních modulů...223 15.8. Podpora vyššího jazyka...223 15.9. Uživatelské instrukce...224 15.9.1. Operace se znaménkem...225 15.9.2. Tabulkové instrukce...226 15.9.3. Blokové instrukce...227 15.9.4. Limitní instrukce...227 15.9.5. Instrukce obsluhy terminálu a operace se znaky ASCII...228 15.9.6. Výpočet zabezpečovacích znaků...229 15.9.7. Zabezpečovací instrukce...230 15.9.8. Fuzzy logika a interpolace...230 PŘEHLED INSTRUKCÍ...231 Přehled instrukcí s přípustnými operandy...231 Abecední seznam instrukcí...237 4 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů ÚVOD Zásady popisu instrukcí V následujících kapitolách jsou popsány jednotlivé instrukce PLC. Velká část instrukcí připouští operandy různých typů z různých prostorů, nebo mohou být i bezoperandové. V zájmu přehlednosti popisu nebudeme podrobně popisovat všechny možné kombinace, ale pouze typické případy. Například přístup k operandům X, Y, S, D, R je vždy analogický. Popíšeme-li tedy chování instrukce LD %R12.3, budeme předpokládat, že instrukce LD %X1.7 se chová obdobně. Přehledy instrukcí s přípustnými operandy pro jednotlivé typy centrálních jednotek jsou uvedeny v příloze. V titulní hlavičce každé instrukce je uvedena její symbolická zkratka a název. Dále je uvedena tabulka znázorňující stav u a zápisníku před a po instrukci. Následují přípustné operandy (X, Y, S, D, R, #, T) a jejich typy pro jednotlivé řady centrálních jednotek, popis funkce, ovlivňované příznaky a typické příklady chování. Vzhledem k tomu, že centrální jednotky se em šířky 32 bitů umožňují programování ve vyšším jazyce podle normy IEC 61131, budeme používat typy proměnných odpovídající této normě. Od původních typů Teco se liší kromě jména především tím, že rozlišují znaménkové a neznaménkové proměnné. Přehled typů proměnných podle IEC 61131 a jejich ekvivalentů podle Teco je uveden v tab.1.1. Tab.1.1 Přehled typů proměnných podle IEC 61131 a jejich ekvivalentů podle Teco IEC 61131 Teco charakteristika bool bit 1 bit byte byte 8 bitů usint byte 8 bitů bez znaménka sint byte 8 bitů se znaménkem word word 16 bitů uint word 16 bitů bez znaménka int word 16 bitů se znaménkem dword long 32 bitů udint long 32 bitů bez znaménka dint long 32 bitů se znaménkem real float 32 bitů s pohyblivou řádovou čárkou lreal double 64 bitů s pohyblivou řádovou čárkou Absolutní adresy jsou psány s uvozujícím znakem %, který je při programování centrálních jednotek se em šířky 32 bitů povinný. Stejně tak zápis prefixů je psán ve tvaru indx() (viz kap.15.8.). Řady centrálních jednotek a model u Centrální jednotky PLC TECOMAT a regulátorů TECOREG jsou rozděleny podle svých vlastností do následujících řad: řada B řada C řada D řada E řada G - NS950 CPM-1B, CPM-2B - TC650, TC700 CP-7001, CP-7002 - TR050, TR200, TR300, TC400, TC500, TC600, NS950 CPM-1D - NS950 CPM-1E - TC700 CP-7003, CP-7005 5 TXV 004 01.01

řada K řada L řada M řada S Úvod - softplc, FOXTROT CP-1004, CP-1005, CP-1008, CP-1014, CP-1015, CP-1016, CP-1018 TC700 CP-7004 TC700 CP-7007 - NS950 CPM-1M - NS950 CPM-1S, CPM-2S PLC TECOMAT mají dva modely u, které se od sebe liší šířkou jedné vrstvy. Řady B, D, E, M a S mají jednotlivé vrstvy u široké 16 bitů, zatímco ostatní řady mají vrstvy u široké 32 bitů. Z toho plynou určité rozdíly mezi chováním jednotlivých modelů. Tato příručka je věnována výhradně centrálním jednotkám se em šířky 32 bitů. Instrukční soubor pro centrální jednotky se em šířky 16 bitů je popsán v příručce Soubor instrukcí PLC TECOMAT - model 16 bitů, TXV 001 05.01. Rozdíly v chování obou modelů a přenos uživatelského programu mezi nimi je popsán v kapitole 15 této příručky. Zásady zobrazení příkladů V příkladech některých instrukcí jsou paměťové prostory a PLC zobrazeny graficky podle zásad odpovídajících použitému formátu. Malá písmena označují libovolnou nezměněnou hodnotu. Podrobnosti o formátech dat v paměťových prostorech a u jsou uvedeny v Příručce programátora PLC TECOMAT TXV 001 09.01. V popisech instrukcí je vždy jako aktivní použit A, na jeho místě však může být kterýkoli další. Stručný přehled souboru instrukcí 1. Instrukce pro čtení a zápis dat Čtení a zápis dat ve všech formátech, nepřímé čtení a zápis, podmíněný zápis a zápis s alternací nejvyššího bitu. 2. Logické instrukce Logické instrukce AND, OR, XOR s přímými i negovanými operandy, negace, detekce náběžné hrany nebo obou hran, podmíněné nastavení nebo nulování proměnné, rotace vlevo i vpravo, posun vlevo i vpravo, logické sklopení u, záměna bytů vrcholu u, logické funkce vrcholu u. 3. Čítače, posuvné registry, časovače, krokový řadič Dopředný, zpětný a obousměrný čítač, posuvný registr vlevo i vpravo, časovač se zpožděným přítahem nebo odpadem, integrující časovač, impulz definované délky, krokový řadič. 4. Aritmetické instrukce Aritmetické instrukce v pevné řádové čárce (8, 16, 32 bitů), bez znaménka i se znaménkem, sčítání, odčítání, násobení, dělení, inkrementace, dekrementace, porovnání, limitní funkce, absolutní hodnota, změna znaménka, převod z binární soustavy na BCD kód a opačně. 5. Operace se y Posun u, výměna ů, přesun hodnot mezi y, systémový stack. 6 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 6. Instrukce skoků a volání Přímé skoky, nepřímé skoky, podmíněné skoky, přímá volání podprogramu, nepřímá volání, podmíněná volání, návrat z podprogramu, podmíněný návrat z podprogramu, návěští. 7. Organizační instrukce Začátek a konec procesu, podmíněný konec procesu, konec cyklu, prázdná instrukce, ladicí bod, podmíněné přerušení procesu. 8. Tabulkové instrukce Čtení a zápis do tabulky nebo pole v zápisníku, hledání hodnoty. 9. Blokové operace Přesun bloku dat, přesun tabulky do zápisníku a opačně, plnění bloku konstantou. 10. Operace se strukturovanými tabulkami Čtení a zápis položky strukturované tabulky, hledání položky, plnění položky konstantou. 11. Aritmetické instrukce v plovoucí řádové čárce Sčítání, odčítání, násobení, dělení, porovnání, zaokrouhlování, absolutní hodnota, logaritmické, exponenciální a goniometrické funkce, převod mezi formáty s plovoucí a pevnou řádovou čárkou. 12. Instrukce regulátoru PID Převod měřených analogových hodnot na normalizované hodnoty s diagnostikou okrajových stavů, PID regulátor, PID regulátor s automatickým laděním. 13. Instrukce obsluhy terminálu a operace se znaky ASCII Obsluha znakového displeje, převod čísel na ASCII řetězce a opačně. 14. Systémové instrukce Přístup k obvodu reálného času, zápis do a čtení z přídavné paměti DataBox, ovládání a diagnostika periferního systému, výpočet zabezpečovacích znaků, zamykání uživatelského programu, speciální funkce - lineární a prostorová interpolace, fuzzy logika. Existuje ještě jedna skupina instrukcí, které nejsou v této příručce popsány. Jsou to instrukce určené výhradně pro podporu vyššího jazyka. V uživatelských programech psaných v instrukcích PLC se nepoužívají. 7 TXV 004 01.01

1. Instrukce pro čtení a zápis dat 1. INSTRUKCE PRO ČTENÍ A ZÁPIS DAT LD, LDQ LDC Čtení dat Čtení negovaných dat Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand LD a A6 A5 A4 A3 A2 A1 A0 a a LD [lreal] a A5 A4 A3 A2 A1 A0 a a LDQ a A5 A4 A3 A2 A1 A0 a a LDC a A6 A5 A4 A3 A2 A1 A0 a a Operandy bool byte usint sint word uint int dword udint dint LD X Y S D R C G K L C G K L C G K L C G K L C G K L C G K L LD # C G K L C G K L LDQ # C G K L LDC X Y S D R C G K L C G K L C G K L C G K L Funkce LD LDQ LDC Popis - čtení dat na vrchol u - čtení 64-bitové konstanty na vrchol u - čtení negovaných dat na vrchol u Instrukce LD a LDQ přečte data z adresovaného místa a beze změny ji uloží na vrchol u, instrukce LDC přečtená data neguje a pak ji uloží na vrchol u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool posunou o jednu úroveň vpřed a nastaví shodně všech 32 bitů vrcholu u A0. Instrukce s operandem typu byte, usint a sint posunou o jednu úroveň vpřed a zapíší do nejnižšího bytu vrcholu u A0. Ostatní byty vrcholu jsou vynulovány. Instrukce s operandem typu word, uint a int posunou o jednu úroveň vpřed a zapíší do spodního wordu vrcholu u A0. Horní word vrcholu je vynulován. Instrukce s operandem typu dword, udint, dint a real posunou o jednu úroveň vpřed a zapíší na celý vrchol u A0. Instrukce s operandem typu lreal posunou o dvě úrovně vpřed a zapíší na vrchol u A01. real lreal 8 TXV 004 01.01

Příklad Soubor instrukcí PLC TECOMAT - model 32 bitů #reg bool cteni, ctenic, zapis, zapisc P 0 LD cteni WR zapis LDC ctenic WR zapisc E 0 Schéma LD %R10.3 A0 A1 A2 A3 A4 A5 A6 A7 před instrukcí LD aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg hhhhhhhh hhhhhhhh hhhhhhhh hhhhhhhh zápisník po instrukci LD bit R10 76543210 01101100 A0 A1 A2 A3 A4 A5 A6 A7 11111111 11111111 11111111 11111111 aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg LD %R10 před instrukcí LD zápisník po instrukci LD A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd A3 A4 eeeeeeee A4 A5 ffffffff A5 A6 gggggggg A6 A7 hhhhhhhh A7 $0000006C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg 9 TXV 004 01.01

1. Instrukce pro čtení a zápis dat LD %RW10 LD %RL10 před instrukcí LD zápisník A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd R11 $E7 A3 A4 eeeeeeee A4 A5 ffffffff A5 A6 gggggggg A6 A7 hhhhhhhh A7 před instrukcí LD zápisník A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd R11 $E7 A3 A4 eeeeeeee R12 $14 A4 A5 ffffffff R13 $10 A5 A6 gggggggg A6 A7 hhhhhhhh A7 po instrukci LD $0000E76C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg po instrukci LD $1014E76C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg LD %RD10 před instrukcí LD zápisník po instrukci LD A0 A1 A2 A3 A4 A5 A6 A7 aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh R10 R11 R12 R13 R14 R15 R16 R17 $6C $E7 $14 $10 $77 $35 $C5 $4A A01 A2 A3 A4 A5 A6 A7 $1014E76C $4AC53577 aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff 10 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů LDIB, LDI, LDIW, LDIL, LDIQ Nepřímé čtení dat Instrukce Vstupní parametry Výsledek ADR ADR A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 LDIB, LDI ADR a a a LDIW, LDIL ADR a a a LDIQ ADR a A6 A5 A4 A3 A2 A1 a a ADR - čtená adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint LDIB bez operandu C G K L LDI bez operandu C G K L LDIW bez operandu C G K L LDIL bez operandu C G K L C G K L LDIQ bez operandu C G K L Funkce LDIB - čtení bitu dat z bitové adresy uložené na vrcholu u LDI - čtení 8 bitů dat z adresy uložené na vrcholu u LDIW - čtení 16 bitů dat z adresy uložené na vrcholu u LDIL - čtení 32 bitů dat z adresy uložené na vrcholu u LDIQ - čtení 64 bitů dat z adresy uložené na vrcholu u Popis Instrukce LDIB, LDI, LDIW, LDIL a LDIQ použijí jako adresu obsah vrcholu u. Obsah této adresy beze změny uloží na vrchol u. Obsah zdrojového místa je nezměněn. Instrukce LDIB zpracovává vrchol u jako tzv. bitovou adresu. Bitovou adresu z bytové adresy vynásobením 8 a přičtením čísla bitu, ze kterého chceme číst. Ostatní instrukce používají bytovou adresu. K získání bitové a bytové bázové adresy se používá instrukce LEA. Instrukce LDIB nastaví shodně všech 32 bitů vrcholu u A0 na hodnotu přečteného bitu. Instrukce LDI zapíše přečtenou hodnotu do nejnižšího bytu vrcholu u A0. Ostatní byty vrcholu jsou vynulovány. Instrukce LDIW zapíše přečtenou hodnotu do spodního wordu vrcholu u A0. Horní word vrcholu je vynulován. Instrukce LDIL zapíše přečtenou hodnotu na celý vrchol u A0. Instrukce LDIQ posune o jednu úroveň vpřed a zapíše přečtenou hodnotu na vrchol u A01. Tyto instrukce jsou výhodné pro nepřímý přístup k datům, kdy je adresa získána výpočtem. real lreal 11 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Příklad #reg usint pole1[20], pole2[20] #reg usint index1, index2 P 0 LEA pole1 ADD index1 LDI LEA pole2 ADD index2 WRI E 0 bytová pole ukazovátka do polí Schéma LEA %R10.5 LDIB LEA %RL10 LDIL před instrukcí LDIB zápisník po instrukci LDIB A0 $00030050 bit 76543210 A0 $00000000 A1 bbbbbbbb A1 bbbbbbbb A2 cccccccc R10 10010011 A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh před instrukcí LDIL zápisník po instrukci LDIL A0 $0000600A A0 $1014E76C A1 bbbbbbbb A1 bbbbbbbb A2 cccccccc R10 $6C A2 cccccccc A3 dddddddd R11 $E7 A3 dddddddd A4 eeeeeeee R12 $14 A4 eeeeeeee A5 ffffffff R13 $10 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh 12 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů LEA Načtení adresy Instrukce Vstupní parametry Výsledek operand A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 LEA ADR A6 A5 A4 A3 A2 A1 A0 ADR ADR - čtená adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint LEA X Y S D R C G K L C G K L C G K L C G K L C G K L C G K L Funkce LEA Popis - čtení adresy obsažené v operandu Instrukce LEA slouží k vytvoření bázové adresy pro instrukce nepřímého čtení a zápisu. Instrukce s operandem typu bool posune o jednu úroveň vpřed a na vrchol u uloží jeho bitovou adresu, tj. osminásobek bytové adresy zvýšený o číslo bitu. Instrukce s operandy ostatních typů posune o jednu úroveň vpřed a na vrchol u uloží jeho bytovou adresu. Příklad #reg bool pole1[20], pole2[20] bitová pole #reg usint index1, index2 ukazovátka do polí P 0 LEA pole1 ADD index1 LDIB LEA pole2 ADD index2 WRIB E 0 real lreal 13 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WR WRC Zápis dat Zápis negovaných dat Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand WR a a a WR [lreal] a a a WRC a a a Operandy bool byte usint sint word uint int dword udint dint WR X Y S R C G K L C G K L C G K L C G K L C G K L C G K L WRC X Y S R C G K L C G K L C G K L C G K L Funkce WR WRC Popis: - zápis dat z vrcholu u - zápis negovaných dat z vrcholu u Instrukce WR přečte hodnotu vrcholu u a beze změny ji uloží do adresovaného místa, instrukce WRC přečtenou hodnotu neguje a pak ji uloží do adresovaného místa. Obsah celého u zůstává nezměněn. Instrukce s operandem typu bool provedou logický součet (OR) všech bitů vrcholu u A0 a jeho hodnotu uloží do adresovaného bitu, instrukce WRC ukládá negovanou hodnotu tohoto součtu (NOR). Je-li tedy A0 = 0, pak instrukce WR zapisuje hodnotu log.0 a WRC hodnotu log.1, v ostatních případech (A0 0) zapisuje instrukce WR hodnotu log.1 a instrukce WRC hodnotu log.0. Upozornění: real lreal Bitová instrukce WRC zapisuje negovanou hodnotu logického součtu všech bitů A0, tedy funkci NOR. Její výsledek není totožný s výsledkem, který bychom obdrželi logickým sečtením negovaných bitů A0. Instrukce s operandem typu byte, usint a sint pracují pouze s nejnižším bytem vrcholu u. Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce s operandem typu word, uint a int pracují pouze s dolním wordem vrcholu u. Horní word vrcholu A0 není zpracován. Instrukce s operandem typu dword, udint, dint a real pracují s celým vrcholem u A0. Instrukce s operandem typu lreal pracuje s vrcholem u tvořeným dvojvrstvou A01. 14 TXV 004 01.01

Příklad Soubor instrukcí PLC TECOMAT - model 32 bitů #reg bool cteni, ctenic, zapis, zapisc P 0 LD cteni WR zapis LD ctenic WRC zapisc E 0 Schéma WR %R10.3 A0 A1 A2 A3 A4 A5 A6 A7 11100111 01101100 11010001 00111010 bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg hhhhhhhh hhhhhhhh hhhhhhhh hhhhhhhh zápisník po instrukci WR bit 76543210 R10 01101100 WR %R10 WR %RW10 A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh zápisník po instrukci WR R10 R10 R11 $6C zápisník po instrukci WR $6C $E7 15 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WR %RL10 WR %RD10 A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh $539DE76C $967A3F01 cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh zápisník po instrukci WR R10 R11 R12 $6C $E7 $9D R13 $53 zápisník po instrukci WR R10 $6C R11 $E7 R12 $9D R13 $53 R14 $01 R15 $3F R16 $7A R17 $96 16 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů WRIB, WRI, WRIW, WRIL, WRIQ Nepřímý zápis dat Instrukce Vstupní parametry Výsledek ADR ADR A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 WRIB, WRI a ADR ADR A7 A6 A5 A4 A3 A2 a a WRIW, WRIL a ADR ADR A7 A6 A5 A4 A3 A2 a a WRIQ a ADR a A7 A6 A5 A4 A3 a a ADR - zapisovaná adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint WRIB bez operandu C G K L WRI bez operandu C G K L WRIW bez operandu C G K L WRIL bez operandu C G K L C G K L WRIQ bez operandu C G K L Funkce WRIB - zápis bitu dat do bitové adresy uložené na vrcholu u WRI - zápis 8 bitů dat do adresy uložené na vrcholu u WRIW - zápis 16 bitů dat do adresy uložené na vrcholu u WRIL - zápis 32 bitů dat do adresy uložené na vrcholu u WRIQ - zápis 64 bitů dat do adresy uložené na vrcholu u Popis Instrukce WRIB, WRI, WRIW, WRIL a WRIQ použijí jako adresu obsah vrcholu u. Posunou o jednu úroveň vpřed a obsah nového vrcholu u uloží beze změny na tuto adresu. Instrukce WRIB zpracovává vrchol u jako tzv. bitovou adresu. Bitovou adresu z bytové adresy vynásobením 8 a přičtením čísla bitu, do kterého chceme zapisovat. Ostatní instrukce používají bytovou adresu. K získání bitové a bytové bázové adresy se používá instrukce LEA. Instrukce WRIB provede logický součet (OR) všech bitů nového vrcholu u A0 (bývalá vrstva A1) a jeho hodnotu uloží do adresovaného bitu. Je-li tedy A0 = 0, pak instrukce zapíše hodnotu log.0, v ostatních případech (A0 0) zapíše hodnotu log.1. Instrukce WRI zapíše na danou adresu nejnižší byte nového vrcholu u (bývalá vrstva A1). Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce WRIW zapíše na danou adresu dolní word nového vrcholu u (bývalá vrstva A1). Horní word vrcholu A0 není zpracován. Instrukce WRIL zapíše na danou adresu obsah nového vrcholu u (bývalá vrstva A1). Instrukce WRIQ zapíše na danou adresu obsah nového vrcholu u tvořeným dvojvrstvou A01 (bývalá dvojvrstva A12). Tyto instrukce jsou výhodné pro nepřímý přístup k datům, kdy je adresa získána výpočtem. real lreal 17 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Příklad #reg usint pole1[20], pole2[20] #reg usint index1, index2 P 0 LEA pole1 ADD index1 LDI LEA pole2 ADD index2 WRI E 0 bytová pole ukazovátka do polí Schéma LEA %R10.5 WRIB před instrukcí WRIB A0 A1 $00030050 $00000000 A2 cccccccc A3 dddddddd A4 eeeeeeee A5 ffffffff A6 gggggggg A7 hhhhhhhh zápisník po instrukci WRIB bit 76543210 R10 10010011 po instrukci WRIB A0 $00000000 A1 cccccccc A2 dddddddd A3 eeeeeeee A4 ffffffff A5 gggggggg A6 hhhhhhhh A7 $00030050 LEA %RL10 WRIL před instrukcí WRIL A0 A1 $0000600A $1014E76C A2 cccccccc A3 dddddddd A4 eeeeeeee A5 ffffffff A6 gggggggg A7 hhhhhhhh zápisník po instrukci WRIL R10 R11 R12 R13 $6C $E7 $14 $10 po instrukci WRIL A0 $1014E76C A1 cccccccc A2 dddddddd A3 eeeeeeee A4 ffffffff A5 gggggggg A6 hhhhhhhh A7 $0000600A 18 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů WRA Zápis dat s alternací Instrukce Vstupní parametry Výsledek operand A7 A6 A5 A4 A3 A2 A1 A7 A6 A5 A4 A3 A2 A1 A0 A0 operand WRA a b a ( b ) a Operandy byte word dword usint uint udint WRA X Y S R C G K L C G K L C G K L Funkce WRA Popis - zápis dat z vrcholu u s alternací nejvyššího bitu Instrukce WRA čte hodnotu z vrcholu u, vymaskuje nejvyšší bit a uloží ji do adresovaného místa. Pak provede negaci stávajícího nejvyššího bitu adresovaného místa (alternaci). Obsah celého u zůstává nezměněn. Tuto instrukci lze s výhodou použít při ovládání inteligentních periferií, které vyžadují alternaci nejvyššího bitu při předávání parametrů (např. obsluha sériového kanálu v režimu UNI). Instrukce s operandem typu byte a usint pracuje pouze s nejnižším bytem vrcholu u A0. Zbylé tři byty vrcholu nejsou instrukcí zpracovány. Instrukce s operandem typu word a uint pracuje pouze s dolním wordem vrcholu u A0. Horní word vrcholu není zpracován. Instrukce s operandem typu dword a udint pracuje s celým vrcholem u A0. max Schéma WRA %R10 WRA %RW10 zápisník před instrukcí WRA zápisník po instrukci WRA bit 76543210 A0 $00000015 bit 76543210 R10 00111101 A1 A2 A3 A4 A5 A6 A7 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh R10 10010101 zápisník před instrukcí WRA zápisník po instrukci WRA bit 76543210 A0 $00000015 bit 76543210 R10 R11 00111101 01001100 A1 A2 A3 A4 A5 A6 A7 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh R10 R11 00010101 10000000 19 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WRA %RL10 zápisník před instrukcí WRA zápisník po instrukci WRA bit 76543210 A0 $00000015 bit 76543210 R10 R11 R12 R13 00111101 01001100 11010101 00011010 A1 A2 A3 A4 A5 A6 A7 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh R10 R11 R12 R13 00010101 00000000 00000000 10000000 20 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů PUT Podmíněný zápis dat Instrukce Vstupní parametry Výsledek S1.0 operand A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 PUT a 1 a a a 0 a Operandy bool byte usint sint word uint int dword udint dint PUT X Y S R C G K L C G K L C G K L C G K L C G K L Funkce PUT - zápis dat z vrcholu u podmíněný hodnotou log.1 bitu S1.0 Popis Instrukce PUT je obdobou instrukce WR, která se však provede pouze tehdy, je-li S1.0 = log.1. Při S1.0 = log.0 neprovede žádnou činnost. Instrukce PUT otestuje bit S1.0 a pokud je roven log.1, čte hodnotu vrcholu u A0 a beze změny ji uloží do adresovaného místa. Obsah celého u i příznakových registrů zůstává nezměněn. Instrukce s operandem typu bool v případě S1.0 = log.1 provede logický součet (OR) všech bitů vrcholu u A0 a jeho hodnotu uloží do adresovaného bitu. Je-li tedy A0 = 0, pak instrukce zapisuje hodnotu log.0, v ostatních případech (A0 0) zapisuje instrukce hodnotu log.1. Instrukce s operandem typu byte, usint a sint pracují pouze s nejnižším bytem vrcholu u. Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce s operandem typu word, uint a int pracují pouze s dolním wordem vrcholu u. Horní word vrcholu A0 není zpracován. Instrukce s operandem typu dword, udint, dint a real pracují s celým vrcholem u A0. Příznaky.7.6.5.4.3.2.1.0 S1 - - - - - - - S S1.0 (S) - vstupní podmínka instrukce 0 - instrukce se neprovede 1 - instrukce se provede v plném rozsahu Příklad #reg bool cteni, podminka, zapis P 0 LD podminka WR %S1.0 LD cteni PUT zapis E 0 real 21 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Schéma Pokud má S1.0 hodnotu log.1, je schéma instrukce PUT totožné s instrukcí WR. Pokud má S1.0 hodnotu log.0, instrukce se chová jako prázdná. 22 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 2. LOGICKÉ INSTRUKCE AND ANC Funkce AND Funkce NAND Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand AND a b a b b AND bez op. a b b A7 A6 A5 A4 A3 A2 a b ANC a b a b b ANC bez op. a b b A7 A6 A5 A4 A3 A2 a b Operandy bool byte usint sint word uint int dword udint dint AND X Y S D R C G K L C G K L C G K L C G K L AND # C G K L AND bez operandu C G K L ANC X Y S D R C G K L C G K L C G K L C G K L ANC # C G K L ANC bez operandu C G K L Funkce AND ANC Popis - logický součin vrcholu u s operandem - logický součin vrcholu u s negovaným operandem Funkce logického součinu (AND) nabývá hodnoty log.1, pokud jsou oba její operandy log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojení vyjadřující současnost ( a, i, současně ). V reléových schématech jí odpovídá sériové řazení kontaktů. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a b a b 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 Operandové instrukce AND sejmou obsah adresovaného místa a provedou jeho logický součin s vrcholem u. Ten je přepsán výsledkem operace. Instrukce ANC provádí logický součin negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. 23 TXV 004 01.01

2. Logické instrukce Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou vynulovány (provedena operace AND 0). Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je vynulován (provedena operace AND 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce AND, ANC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický součin y = a b c #reg bool va, vb, vc, vystup P 0 LD va ANC vb AND vc WR vystup E 0 Logický součin y = a b #reg bool va, vb, vystup P 0 LD va LD vb AND WR vystup E 0 24 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů Schéma LD $9B35E76C před instrukcí AND po instrukci AND AND %R10.3 A0 $9B35E76C AND A0 $9B35E76C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd bit 76543210 A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 01101100 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %R10 A0 $9B35E76C AND A0 $00000028 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 $38 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %RW10 A0 $9B35E76C AND A0 $0000E428 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %RL10 A0 $9B35E76C AND A0 $8315E428 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg R12 $15 A6 gggggggg A7 hhhhhhhh R13 $C7 A7 hhhhhhhh LD $C715F438 LD $9B35E76C AND před instrukcí AND po instrukci AND A0 $C715F438 AND A0 $8315E428 A1 $9B35E76C A1 cccccccc A2 cccccccc A2 dddddddd A3 dddddddd A3 eeeeeeee A4 eeeeeeee A4 ffffffff A5 ffffffff A5 gggggggg A6 gggggggg A6 hhhhhhhh A7 hhhhhhhh A7 $C715F438 25 TXV 004 01.01

2. Logické instrukce OR ORC Funkce OR Funkce NOR Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand OR a b a + b b OR bez op. a b b A7 A6 A5 A4 A3 A2 a + b ORC a b a + b b ORC bez op. a b b A7 A6 A5 A4 A3 A2 a + b Operandy bool byte usint sint word uint int dword udint dint OR X Y S D R C G K L C G K L C G K L C G K L OR # C G K L OR bez operandu C G K L ORC X Y S D R C G K L C G K L C G K L C G K L ORC # C G K L ORC bez operandu C G K L Funkce OR ORC Popis - logický součet vrcholu u s operandem - logický součet vrcholu u s negovaným operandem Funkce logického součtu (OR) nabývá hodnoty log.1, pokud je aspoň jeden z jejích operandů log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojka nebo. V reléových schématech jí odpovídá paralelní řazení kontaktů. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a + b a + b 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 Operandové instrukce OR sejmou obsah adresovaného místa a provedou jeho logický součet s vrcholem u. Ten je přepsán výsledkem operace. Instrukce ORC provádí logický součet negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou ponechány beze změny (provedena operace OR 0). 26 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je ponechán beze změny (provedena operace OR 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce OR, ORC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický součet y = a + b + c #reg bool va, vb, vc, vystup P 0 LD va OR vb ORC vc WR vystup E 0 Logický součet y = a + b #reg bool va, vb, vystup P 0 LD va LD vb OR WR vystup E 0 27 TXV 004 01.01

2. Logické instrukce Schéma LD $9B35E76C před instrukcí OR po instrukci OR OR %R10.3 A0 $9B35E76C OR A0 $FFFFFFFF A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd bit 76543210 A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 01101100 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %R10 A0 $9B35E76C OR A0 $9B35E77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 $38 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %RW10 A0 $9B35E76C OR A0 $9B35F77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %RL10 A0 $9B35E76C OR A0 $DF35F77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg R12 $15 A6 gggggggg A7 hhhhhhhh R13 $C7 A7 hhhhhhhh LD $C715F438 LD $9B35E76C OR před instrukcí OR po instrukci OR A0 $C715F438 OR A0 $DF35F77C A1 $9B35E76C A1 cccccccc A2 cccccccc A2 dddddddd A3 dddddddd A3 eeeeeeee A4 eeeeeeee A4 ffffffff A5 ffffffff A5 gggggggg A6 gggggggg A6 hhhhhhhh A7 hhhhhhhh A7 $C715F438 28 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů XOR XOC Funkce Exclusive OR Funkce Exclusive NOR Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand XOR a b a b b XOR bez op. a b b A7 A6 A5 A4 A3 A2 a b XOC a b a b b XOC bez op. a b b A7 A6 A5 A4 A3 A2 a b Operandy bool byte usint sint word uint int dword udint dint XOR X Y S D R C G K L C G K L C G K L C G K L XOR # C G K L XOR bez operandu C G K L XOC X Y S D R C G K L C G K L C G K L C G K L XOC # C G K L XOC bez operandu C G K L Funkce XOR XOC Popis - výlučný logický součet vrcholu u s operandem - výlučný logický součet vrcholu u s negovaným operandem Funkce výlučného logického součtu (XOR) nabývá hodnoty log.1, pokud je právě jeden její operand log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojení buď..., anebo. Pro dvě proměnné je funkce XOR totožná s funkcemi nerovnosti, součtu modulo 2 a liché parity. Pro větší počet vstupů však tato totožnost již neplatí. Dvouvstupovou funkci XOR můžeme tedy vysvětlit i jako neshodu - je rovna log.1, pokud jsou oba operandy navzájem různé. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a b a b 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 Operandové instrukce XOR sejmou obsah adresovaného místa a provedou jeho výlučný logický součet s vrcholem u. Ten je přepsán výsledkem operace. Instrukce XOC provádí výlučný logický součet negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží 29 TXV 004 01.01

2. Logické instrukce do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou ponechány beze změny (provedena operace XOR 0). Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je ponechán beze změny (provedena operace XOR 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce XOR, XOC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický výlučný součet y = a b #reg bool va, vb, vystup P 0 LD va XOR vb WR vystup E 0 + a b #reg bool va, vb, vystup P 0 LD va LD vb XOR WR vystup E 0 30 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů Schéma LD $9B35E76C před instrukcí XOR po instrukci XOR XOR %R10.3 A0 $9B35E76C XOR A0 $64CA1893 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd bit 76543210 A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 01101100 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí XOR po instrukci XOR XOR %R10 A0 $9B35E76C XOR A0 $9B35E754 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 $38 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí XOR po instrukci XOR XOR %RW10 A0 $9B35E76C XOR A0 $9B358354 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí XOR po instrukci XOR XOR %RL10 A0 $9B35E76C XOR A0 $5C208354 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg R12 $15 A6 gggggggg A7 hhhhhhhh R13 $C7 A7 hhhhhhhh LD $C715F438 LD $9B35E76C XOR před instrukcí XOR po instrukci XOR A0 $C715F438 XOR A0 $5C208354 A1 $9B35E76C A1 cccccccc A2 cccccccc A2 dddddddd A3 dddddddd A3 eeeeeeee A4 eeeeeeee A4 ffffffff A5 ffffffff A5 gggggggg A6 gggggggg A6 hhhhhhhh A7 hhhhhhhh A7 $C715F438 31 TXV 004 01.01

2. Logické instrukce NEG Negace Instrukce Vstupní parametry Výsledek A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 NEG a a Operandy dword udint NEG bez operandu C G K L Funkce NEG Popis - negace vrcholu u Instrukce NEG provede negaci všech bitů vrcholu u A0. Ostatní úrovně u se nemění. Schéma LD $9B35E76C před instrukcí NEG po instrukci NEG NEG A0 $9B35E76C NEG A0 $64CA1893 A1 bbbbbbbb A1 bbbbbbbb A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh 32 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů SET RES Podmíněné nastavení Podmíněné nulování Instrukce Vstupní parametry Výsledek ope operand A7 A6 A5 A4 A3 A2 A1 A0 rand A7 A6 A5 A4 A3 A2 A1 A0 SET a b a a + b RES a b a a b Operandy bool byte usint word uint dword udint SET X Y S R C G K L C G K L C G K L C G K L RES X Y S R C G K L C G K L C G K L C G K L Funkce SET RES Popis - podmíněný zápis log.1 do paměti, nastavení klopného obvodu typu R - S - podmíněný zápis log.0 do paměti, nulování klopného obvodu typu R - S Instrukce SET provádí podmíněný zápis log.1 do adresovaného místa, instrukce RES podmíněný zápis log.0. Pokud obě instrukce pracují nad společným paměťovým místem, pak jeho obsah můžeme chápat jako analogii klopného obvodu typu R - S nebo jiného typu klopného obvodu s asynchronními vstupy R a S. Instrukce nemění obsah u. Funkce SET nastavuje obsah adresovaného místa na log.1 pouze tehdy, pokud má řídící proměnná načtená z vrcholu u hodnotu log.1, jinak se obsah místa nemění. Funkce RES nuluje obsah adresovaného místa pouze tehdy, pokud má řídící proměnná hodnotu log.1, jinak se obsah nemění. Souhrnně lze tedy říci, že funkce SET a RES jsou aktivní (mění obsah adresovaného místa) pouze tehdy, pokud má řídící proměnná hodnotu log.1 a v tomto případě provádí funkce SET zápis log.1 a RES zápis log.0. Má-li řídící proměnná hodnotu log.0, pak se obsah paměťového místa nezmění po SET ani po RES (pamatuje si minulý obsah). Funkce SET a RES můžeme popsat pravdivostní tabulkou: Vstupní parametry Výsledek a b a + b (SET) a b (RES) 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 Pro instrukce s operandem typu bool je řídící proměnná rovna logickému součtu (OR) všech 32 bitů vrcholu u A0. Je-li tedy obsah A0 nenulový (A0 0), pak instrukce SET nastavují adresovaný bit na log.1 a instrukce RES za této podmínky zapisují log.0. Je-li obsah úrovně A0 nulový (A0 = 0), pak žádná z instrukcí obsah adresovaného místa nemění. Instrukce s operandem typu byte a usint provádějí naráz 8 bitových operací pro stejnolehlé bity nejnižšího bytu vrcholu u A0 (soubor 8 řídících proměnných a) a adresovaného místa (soubor 8 stavových proměnných b). 33 TXV 004 01.01

2. Logické instrukce Instrukce s operandem typu word a uint provádějí naráz 16 bitových operací pro stejnolehlé bity dolního wordu vrcholu u A0 (soubor 16 řídících proměnných a) a adresovaného místa (soubor 16 stavových proměnných b). Instrukce s operandem typu dword a udint provádějí naráz 32 bitových operací pro stejnolehlé bity vrcholu u A0 (soubor 32 řídících proměnných a) a adresovaného místa (soubor 32 stavových proměnných b). Poznámka Technicky je možné adresovat libovolné místo, do kterého lze zapisovat. Z funkčního hlediska však některé možnosti nemají smysl, nebo nezaručují správnou činnost instrukcí (např. obsazené vstupy X, aktivní systémové registry S). Během jednoho cyklu uživatelského programu smí být aktivováno více instrukcí SET nebo RES, adresujících společnou stavovou proměnnou. Při aktivaci stejných instrukcí (buď pouze SET nebo pouze RES) je výsledek po poslední instrukci stejný, jako bychom provedli jedinou operaci se součtovou řídící proměnnou (sečtenou funkcí OR). Pokud se nad společnou proměnnou provedou aktivní instrukce v pořadí SET a RES (s řídící proměnnou hodnoty log.1), zůstane v platnosti stav po instrukci RES (paměť s převažujícím nulováním). Při opačném pořadí instrukcí (tedy RES a pak SET) zůstane platným stav po instrukci SET (paměť s převažujícím nastavením) - převahu má vždy poslední aktivní instrukce. 34 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů LET BET Impulz od náběžné hrany Impulz od libovolné hrany Instrukce Vstupní parametry Výsledek ope ope A7 A6 A5 A4 A3 A2 A1 A0 rand A7 A6 A5 A4 A3 A2 A1 A0 rand LET a b a b a BET a b a b a Operandy bool byte usint word uint dword udint LET X Y S R C G K L C G K L C G K L C G K L BET X Y S R C G K L C G K L C G K L C G K L Funkce LET BET Popis - generování spouštěcího impulzu od náběžné hrany - generování spouštěcího impulzu od libovolné hrany Instrukce nastavují svou adresovanou stavovou proměnnou podle stejných pravidel jako instrukce WR. Navíc porovnají původní a nově zapsaný obsah stavové proměnné (před a po provedení zápisu). Instrukce LET nastaví výsledek na vrcholu u na log.1 jen tehdy, pokud dojde ke změně stavové proměnné z hodnoty log.0 na log.1 (náběžná hrana), jinak jej nuluje. Instrukce BET nastaví výsledek na vrcholu u na log.1 jen tehdy, pokud dojde ke změně stavové proměnné z hodnoty log.0 na log.1 nebo z hodnoty log.1 na log.0 (libovolná hrana), jinak jej nuluje. Instrukce nemění obsah u. Logické funkce LET a BET (hodnota nastavovaná na vrchol u) lze definovat pravdivostní tabulkou: Vstupní parametry Výsledek a b a b (LET) a b (BET) 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 Instrukce s operandem typu bool provedou logický součet (OR) všech 32 bitů vrcholu A0 a hodnota tohoto součtu bude po testu a nastavení vrcholu u uložena v adresovaném bitu. Výsledek porovnání na vrcholu u je stejný ve všech bitech. Nastavení vrcholu u na log.1 tedy představuje hodnota $FFFFFFFF (samé jedničky). Instrukce s operandem typu byte a usint provádějí naráz 8 bitových operací pro stejnolehlé bity nejnižšího bytu vrcholu u A0 (soubor 8 řídících proměnných a) a adresovaného místa (soubor 8 stavových proměnných b). Výsledky porovnání jsou uloženy v nejnižším bytu vrcholu u A0 (soubor 8 výsledků). Zbylé tři byty A0 jsou vynulovány. Instrukce s operandem typu word a uint provádějí naráz 16 bitových operací pro stejnolehlé bity dolního wordu vrcholu u A0 (soubor 16 řídících proměnných a) a 35 TXV 004 01.01

2. Logické instrukce adresovaného místa (soubor 16 stavových proměnných b). Výsledky porovnání jsou uloženy v dolním wordu vrcholu u A0 (soubor 16 výsledků). Horní word A0 je vynulován. Instrukce s operandem typu dword a udint provádějí naráz 32 bitových operací pro stejnolehlé bity vrcholu u A0 (soubor 32 řídících proměnných a) a adresovaného místa (soubor 32 stavových proměnných b). Výsledky porovnání jsou uloženy na vrcholu u A0 (soubor 32 výsledků). Poznámka Pro správné fungování instrukcí LET, BET je nezbytně nutné, aby zápis do stavové proměnné prováděla pouze jediná instrukce LET, BET (jednou v každém cyklu) a aby na jejím obsahu nepracoval systémový program. Pokud výstup instrukcí LET, BET zpracujeme pouze ve vnitřních proměnných, může impulz trvat kratší dobu. Časový odstup mezi náběžnými hranami musí být spolehlivě delší, než je dvojnásobek doby cyklu (v jednom cyklu nelze vyhodnotit náběžnou a sestupnou hranu, pokud ji nevyhodnocujeme v přerušujícím procesu). Pokud je však řídící proměnná odvozena od vnitřních proměnných uživatelského programu (nikoliv od vstupů nebo systémových proměnných), lze v rámci jednoho cyklu vyhodnotit i více náběžných hran. Při prvé aktivaci systémového programu (po restartu) mohou instrukce LET, BET náhodně vygenerovat falešné informace. Tomu lze předejít buď ignorováním výsledků prvního cyklu, který bude chápán jako ustálení přechodového děje, nebo před prvým cyklem v procesu ošetření restartu nastaví uživatel všechny stavové proměnné do jedniček pro instrukce LET, resp. do stavu, který odpovídá klidovému ustálenému stavu, pro instrukce BET. 36 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů FLG Logické příznaky vrcholu u Instrukce Vstupní parametry Výsledek S0 A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 FLG VAL A6 A5 A4 A3 A2 A1 VAL N4 NFLG VAL zpracovaná hodnota (typ uint) N4 - logický součin AND dolního wordu vrcholu u A0 (typ bool - viz popis) NFLG - soubor logických funkcí nad vrcholem u A0 (viz popis) Operandy word uint FLG bez operandu C G K L Funkce FLG Popis - logické AND a příčné funkce bytů dolního wordu A0 v S1 Instrukce FLG zpracuje obsah A0, posune vpřed a provede následující operace: Určí počet jedničkových bitů ve spodním wordu původního vrcholu A0. Toto číslo N nabývá hodnoty 0 až 16, dvojkově je lze zapsat na pěti bitech. Čtyři spodní bity N3 až N0 jsou uloženy v dolní polovině systémového registru S1. Nejvyšší bit N4, který má současně význam podélného logického součinu (AND) všech bitů A0, je uložen ve všech bitech nového vrcholu u A0. Údaj N lze výhodně využít k realizaci symetrických funkcí (parita, majorita, prahové funkce, apod.), např.: N > 0 (N 0) - logický součet OR N0 = S1.0 - lichá parita, součet nad 2 N4 = A0 - logický součin AND dolního wordu vrcholu u A0 N3 = S1.3 - pokud byl druhý nejnižší byte vrcholu u A0 nulový, logický součin AND nejnižšího bytu A0 2 N = 2 - prahová funkce F nebo 16 F 2 n k N = k - prahová funkce F nebo k 16 F n N = 1 - právě 1 z 16 (1 z n), funkce buď, anebo, výlučný součet N = {soubor čísel} - libovolná symetrická funkce definovaná souborem čísel Odděleně provede funkce logického součtu (OR) a součinu (AND) pro oba spodní byty původního vrcholu u A0 a výsledky uloží do registru S1. Příznaky.7.6.5.4.3.2.1.0 S1 ORH ORL ANH ANL N3 N2 N1 N0 S1.3 až S1.0 (N3 až N0) - Spolu s hodnotou bitu N4, který je uložen ve všech bitech nového vrcholu u A0 tvoří pětibitové číslo N, které udává počet jedničkových bitů v původním dolním wordu vrcholu u A0. S1.0 (N0) - lichá parita dolního wordu původního vrcholu u 37 TXV 004 01.01

2. Logické instrukce S1.4 (ANL) - podélný logický součin všech bitů nejnižšího bytu původního vrcholu u S1.5 (ANH) - podélný logický součin všech bitů druhého nejnižšího bytu původního vrcholu u S1.6 (ORL) - podélný logický součet všech bitů nejnižšího bytu původního vrcholu u S1.7 (ORH) - podélný logický součet všech bitů druhého nejnižšího bytu původního vrcholu u Poznámka Instrukce FLG je obsažena v instrukčním souboru modelu 32 bitů kvůli kompatibilitě uživatelských programů přenesených z modelu 16 bitů. Doporučujeme tuto instrukci nepoužívat pro nové uživatelské programy. 38 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů STK Sklopení u Instrukce Vstupní parametry Výsledek A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 STK h g f e d c b a h g f e d c b NSTK NSTK - logické součty všech vrstev u (usint - viz popis) Operandy dword udint STK bez operandu C G K L Funkce STK Popis - sklopení logických hodnot 8 úrovní u do A0 Instrukce STK provede pro každou vrstvu u A0 až A7 logický součet (OR) všech 32 bitů úrovně a pak tento sloupec osmi bitových hodnot sklopí do vrstvy A0L podle následujícího schématu: A0.7 A0.6 A0.5 A0.4 A0.3 A0.2 A0.1 A0.0 OR7 OR6 OR5 OR4 OR3 OR2 OR1 OR0 OR0 až OR7 jsou hodnoty logických součtů jednotlivých vrstev A0 až A7. Zbyle tři byty vrcholu u jsou vynulovány, ostatní úrovně u se nemění. 39 TXV 004 01.01

2. Logické instrukce ROL ROR Rotace čísla vlevo Rotace čísla vpravo Instrukce Vstupní parametry Výsledek operand A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 ROL n a n a n ROL a n n A7 A6 A5 A4 A3 A2 a n ROR n a n a n ROR a n n A7 A6 A5 A4 A3 A2 a n Operandy word uint dword udint ROL n C G K L ROL bez operandu C G K L ROR n C G K L ROR bez operandu C G K L Funkce ROL ROR Popis - n-násobná rotace hodnoty vrcholu u A0 vlevo - n-násobná rotace hodnoty vrcholu u A0 vpravo Instrukce ROL s parametrem n provádí kruhový posun spodních šestnácti bitů vrcholu u A0 vlevo. Instrukce ROR s parametrem n provádí totéž vpravo. Parametr instrukce určuje počet jednotkových posunů, tj. o kolik bitů je obsah posunut. Je-li operand větší než 15, přepočítává se modulo 16, takže se nikdy neprovádí víc než 15 posunů. Při nulové hodnotě parametru se žádný posun neprovádí, pouze se nastaví příznaky. Horních 16 bitů vrcholu u (A0.16 až A0.31) je vynulováno. Schématické znázornění instrukce ROL n: A0 15.14.13.12.11.10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 7. 6. 5. 4. 3. 2. 1. 0. S0 Schématické znázornění instrukce ROR n: A0 15.14.13.12.11.10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 7. 6. 5. 4. 3. 2. 1. 0. S0 40 TXV 004 01.01