Príkazy pre roboty zі sklom movi assembler. Abstrakt: Plán: Peredmova. Mova assembler so štruktúrou príkazov. Štruktúra exe súboru (sémantická analýza). Operačná pamäť, register, evidencia údajov

Úvod.

Mova, ako bol program napísaný, sa volá vchod môj a jazyk, ktorý procesor prenesie do vikonnanny, - deň voľna môj. Proces transformácie vstupného jazyka na výstupný sa nazýva vysielať. Takže, keďže procesory stavebných programov sú konvertované na strojovo pohyblivé dvojkódové kódy, ktoré nie sú víťazné pre programovanie, je potrebné vysielať všetky externé programy. Vidomі dve cesty preklady: zostavovanie a tlmočenie.

o kompilácia víkendový program sa opäť presunie na ekvivalentný program môjho víkendu, tzv objekt program, a potom vikonuetsya. Tento proces sa vykonáva pre špeciálnu pomoc programy, hodnosť kompilátor. Kompilátor, pre ktorý je vstupné mov symbolickou formou reprezentácie strojového (externého) mov binárnych kódov, sa nazýva tzv. assembler.

o výklady riadok vzhľadu k textu výstupného programu je analyzovaný (interpretovaný) a je zadaný príkaz na okamžitý spätný chod. Implementácia tejto metódy sa spolieha na tlmočnícky program. Tlmočenie trvá tri hodiny. Ak chcete zlepšiť účinnosť, vymeňte spracovanie línie pokožky príkaz riadky znakov (

). Na písanie bola vytvorená postupnosť symbolov na priradenie funkcií externému programu.

Jazyk assembleru diskutovaný nižšie je implementovaný pre dodatočnú kompiláciu.

Funkcie filmu.

Hlavné vlastnosti assemblera:

● nahradenie dvojitých kódov pre mov vykoristovuyutsya symbolické mená - mnemotechnická pomôcka. Napríklad pre príkaz na pridanie (

) vikoristovuetsya mnemotechnické pomôcky

Vidnіmannya (

množné číslo (

Podіlu (

a tak ďalej. Pre programovanie v jazyku assembleru je pri nahradení dvoch kódov a adresy potrebné poznať iba symbolické názvy, ako keby assembler prekladal do dvoch kódov;

starostlivosť o kožu jeden príkaz stroja(kód), t.j. je vzájomne jednoznačný medzi strojovými príkazmi a operátormi v programovom assembleri;

● Zabezpečený prístup MOV na všetky predmetyže príkazy. Filmy s vysokou vyrovnanosťou si takúto budovu nemôžu dovoliť. Napríklad jazyk assembleru vám umožňuje zmeniť bit na register praporčíka a jazyk vysokej úrovne (napr.

) takáto stavba nie je možná. Je príznačné, že nástroje na programovanie systému (napríklad C) často zaujímajú medzipolohu. Z pohladu moznosti pristupu smradu blizsiemu assembleru je vsak syntax filmu na vysokej urovni;

● mov assembler nie moja univerzálna. Pre skupinu skinov mikroprocesorov môžete použiť svoj vlastný assembler. Filmy s vysokou vyrovnanosťou ušetrili tento malý podiel.

Na vіdmіnu vіd mov vysokogo predvečer trvá napísanie tohto programu v assembleri mov veľa času. Ignorantsky na tse, jazyk assembleru otrimav široká ruža každý deň zariadiť prostredníctvom nasledovného:

● skompilovaný mojím assemblerom, program môže byť výrazne menší a funguje lepšie, rýchlejšie, nižší program, napísaný mojou veľkou vyrovnanosťou. Pri niektorých doplnkoch a indikáciách zohrávajú primárnu úlohu, napríklad veľa systémových programov (vrátane kompilátorov), programy v kreditných kartách, štýlové telefóny, ovládače príloh a v;

● Procedúry Deakim vyžadujú väčší prístup k hardvérovej bezpečnosti, takže je nemožné zvýšiť moju vysokú úroveň. Až do tohto bodu je možné vidieť, že nadradené rutiny v operačných systémoch, ako aj ovládače príloh v začínajúcich systémoch, ktoré pracujú v režime reálneho času.

Pre väčšinu programov je potrebné aktualizovať len malé množstvo kódu za hodinu a program. Vyvolajte 1 % programu na 50 % času budenia a 10 % programu na 90 % budenia. Preto na písanie konkrétneho programu v skutočných mysliach je to ako assembler, takže je jedným z najvyšších.

Formát operátora assembleru mov.

Program môjho assembleru je zoznam príkazov (vislovlyuvan, reč), skiny takýchto výpožičiek niekoľkých riadkov a čistenie polí: pole štítku, pole operácie, pole operandu a pole komentára. Pre kožné pole sa zavádza okrema stĺpec.

politika.

Pre pole označenia je pridaný stĺpec 1. Označenie pre symbolické názvy alebo ako identifikátor, adresy Pamäť. Vaughn je potrebný na to, aby mohol:

● zrobiť umovny alebo šialený prechod na príkaz;

● Získajte prístup k mesiacu, v ktorom sú uložené údaje.

Taký spôsob, ako urobiť značku. Pre význam mena sa používajú víťazné (veľké) písmená anglickej abecedy a čísla. Na klase mena máj je napríklad písmeno - prídel pre vyzerajúceho dvojníka. Do zeleného riadku je možné napísať označenie s dvojsmerníkom a do ďalšieho riadku v stĺpci 2 kód operácie, čo uľahčí prácu kompilátora. Vіdsutnіst dvokrapka neumožňuje vіdіznіt іnіtіk vіd іd operačný kód, yakscho smrad roztashovanі na okremi riadkov.

V niektorých verziách filmového assembleru sa dva rámčeky umiestňujú menej často za menovky príkazov a nie za menovky údajov a zadná strana menovky môže byť obklopená 6 alebo 8 znakmi.

Polia značky nie sú zodpovedné za zdieľanie rovnakých mien, pretože značka je spojená s adresami príkazov. Rovnako ako v procese písania programu je potrebné vyvolať príkaz alebo údaje z pamäte, pole značky zostane prázdne.

Pole operačného kódu.

Toto pole obsahuje mnemotechnický kód príkazu alebo pseudopríkaz (oddiel nižšie). Mnemotechnický kód príkazu vyberajú tvorcovia filmu. V mojom assembleri

na zachytenie registra z pamäte bola vybraná mnemotechnická pomôcka

) a ukladanie do pamäte je mnemotechnická pomôcka

). V mov assembleri

pre obe operácie, samozrejme, môžete vyhrať jedno meno

Ak môže byť výber pomenovania mnemotechnická pomôcka dostatočná, potom je potreba vybrať dva strojové príkazy podmienená architektúrou procesorov.

Mnemotechnické pomôcky registra možno nájsť aj vo verzii assembleru (tabuľka 5.2.1).

Pole operandu.

Tu rozashovuєtsya Ďalšie informácie, potrebné pred ukončením operácie. Pole operandov pre príkazy na prechod obsahuje adresy, kde sa prechod vyžaduje, ako aj adresy a registre špecifikované ako operandy pre príkaz stroja. Pre 8-bitové procesory je možné použiť ako pažbu indukovaných operandov

● číselné údaje,

prezentované v rôznych číselných sústavách. Na rozpoznanie víťazného systému čísel za konštantou nasleduje jedno z latinských písmen:

Vіdpovіdno dvіykova, visimkova, shіstnadtsyatkova, desiatky číselných sústav (

nemusia byť zaznamenané). Ako prvá číslica šestnásteho čísla є A, B, C,

Potom sa dopredu pridá nevýznamná 0 (nula);

● kódy vnútorných registrov mikroprocesora a pamäťovej karty

M (dzherel alebo priymachіv іnformatsії) pri pohľade na písmená A, B, C,

M abo їх adresy v ľubovoľnom číselnom systéme (napríklad 10B - adresy na registráciu

v duálnych systémoch);

● identifikátory,

pre registrované páry AP,

prvé písmená,

H; pre pari akumulátor a registračnú značku -

; pre najčastejší tím -

pre indikátor zásobníka -

● značky, ktoré označujú adresy operandov alebo ďalších príkazov k inteligentným

(pri vikonnі mysli), že bláznivé prechody. Napríklad operand M1 príkazu

znamená nutnosť šialeného prechodu na príkaz, ktorého adresa je v poli štítku s identifikátorom M1;

● virazi,

yakі buduyuyuetsya cesta zv'yazuvannya vyzerala viac ako daná za pomoc aritmetických a logických operátorov. Je príznačné, že scho sposіb sposіb vosіb voprobuvannya rozlohy dát ležať vo verzii filmu. Predajcovia zostavovačov filmov pre

Označte slovo), ale medzitým bola vyhodená alternatívna možnosť.

čo je od samého cob bu u movi pre procesory

Filmová verzia

víťazný

Označte konštantu).

Procesory spracovávajú operandy rôznych hodnôt. Na tento účel montážni predajcovia chválili rôzne riešenia, napríklad:

Register rôznych mien II môže mať rôzne názvy: ЕАХ - na umiestnenie 32-bitových operandov (typ

); AX - pre 16-bit (typ

a AN - pre 8-bit (typ

● pre procesory

ku kódu kožnej operácie sa pridávajú prípony: sufix

Pre typ

; prípona „.B“ pre typ

pre operandy rôznych dĺžok sa používajú rôzne operačné kódy, napríklad na zachytenie bajtu, slova (

) a slová v 64-bitovom registri sú obrátené operačným kódom

samozrejme.

Pole komentára.

V tomto poli sú uvedené vysvetlenia o programoch di. Nepridávajte komentáre k práci programov a uznávaných ľudí. Ten smrad môže byť potrebný na úpravu programu, keďže bez takýchto pripomienok môže byť úplne nerozumné informovať programátorov. Komentár začína symbolom a úvodzovkami pre vysvetlenie dokumentácie programu. Symbol komentára možno použiť ako pohľadnicu:

● bodka za čiarou (;) v movs pre podnikových spracovateľov

krupobitie znamenie(!) u mov za

Kožený okremy riadok, úvod komentára, pred symbolom klasu.

Pseudopríkazy (smernice).

V assembleri mov existujú dva hlavné typy príkazov:

základné príkaz je ekvivalentný strojovému kódu procesora. Príkazy Qi na dokončenie celého prenosu programu;

pseudopríkaz, alebo smernice, sú určené na obsluhu procesu vysielania programov do kombinácií kódov MOV. Ako príklad pri stole. 5.2.2 zaviedol pseudopríkazy od as-assemblera

pre rodinu

.

Pri programovaní sa zjednodušujú situácie, ak je potrebné opakovať rovnakú postupnosť príkazov s algoritmom. Ak sa chcete dostať z tejto situácie, môžete:

● Potrebujem napísať postupnosť príkazov v poradí, ak sa vyskytne problém. Takýto pіdkhіd produkovať do zbіlshennya obsyagu program;

● zostaviť postupnosť postupu (podprogram) a vyzvať na konzumáciu. Takéto odbočenie môže mať svoje nedostatky: akonáhle sa vám stane, že vyhráte špeciálny príkaz na rýchly postup a príkaz na odbočenie, ktorý pri krátkej a často prerušenej sekvencii môže výrazne znížiť rýchlosť programov robota.

Najjednoduchší a najefektívnejší spôsob opakovania jazyka príkazov vo viacerých makro, ktorý môže byť reprezentovaný ako pseudopríkaz, rozpoznaný na opätovné vysielanie sa často používa v programovej skupine príkazov.

Makro alebo makro príkaz sa vyznačuje tromi aspektmi: funkciami makra, funkciami makra a rozšíreniami makra.

makro hodnotu

Ide o definíciu bohato sa opakujúceho sledu príkazov programu, ktorý sa opakuje pre zápis do textu programu.

Hodnota makra môže mať nasledujúcu štruktúru:

zoznam vírusov; makro hodnotu

V návode na štruktúru makrohodnoty možno vidieť tri časti:

● hlavička

makro, ktoré obsahuje názov

Pseudopríkaz

a nastaviť parametre;

● označené bodkami telo makro;

● tím

dokončenie

makrohodnota.

Nastavte parametre pre priradenia makier, aby ste získali zoznam všetkých parametrov, ktoré boli nasmerované na pole operandu pre vybranú skupinu príkazov. Ak boli nejaké parametre v programe nastavené skôr, potom ich možno v hlavičke makra vynechať.

Pre opätovné zostavenie vybranej skupiny príkazov sa dosiahnu víťazstvá, ktoré sa tvoria z názvu

makro príkaz na zmenu parametrov s nižšími hodnotami.

Ak proces kompilácie assembleru zjednoduší definíciu makra, prevezme ich z tabuľky definícií makier. V prípade nadchádzajúcich vystúpení pri názve programu (

) do assembleru makra nahradí telo makra.

Volá sa odpoveď na názov makra ako kód operácie makro-zvernennyam(makro-vizuálne), ako náhrada za telesné makro - makro rozšírenia.

Ako prezentovať program ako sekvenciu symbolov (písmená, čísla, medzery, interpunkčné znamienka a otáčanie vozíka, na ktoré chcete prepnúť nový riadok), potom sa makroexpanzia použije na nahradenie niektorých lancet sekvenciami iných lancetov.

Rozšírenie makra je potrebné pre čas montáže a nie pre hodinu dokončenia programu. Spôsoby manipulácie s lancetami symbolov sa spoliehajú na makrosondy.

Prebieha montážny proces dva prechody:

● pri prvom prechode sa všetky hodnoty makier uložia a odkazy na makro sa rozbalia. Kedykoľvek je program načítaný a konvertovaný do programu, rovnakým spôsobom sú viditeľné všetky funkcie makra a kliknutie makra kože je nahradené makrom tela;

● Pri druhom prechode bude program spracovaný bez makier.

Makrá s parametrami.

Pre prácu so sekvenciami príkazov, ktoré sa opakujú, ktorých parametre je možné akceptovať rozdielne hodnoty, prenos makrohodnôt:

● h skutočné parametre, ktoré sa majú umiestniť do poľa operandov makroindexu;

● h formálne parametre. V procese rozširovania makra skinu je formálny parameter, ktorý je deklarovaný v názve makra, nahradený zodpovedajúcim skutočným parametrom.

výber makier s parametrami.

Program 1 má dve podobné postupnosti príkazov, ktoré sú zmenené prvým z nich

A kamarát

Program 2 obsahuje makro s dvoma formálnymi parametrami P1 a P2. Pod hodinou rozšírenia makra skinu sa symbol P1 v strede tela makra nahradí prvým aktuálnym parametrom (P,

) a symbol P2 je nahradený iným skutočným parametrom (

) z programu č. 1. Pre makrovíza

program 2 označený: P,

Prvý skutočný parameter

Ďalší skutočný parameter.

Program 1

Program 2

MOV EBX, Q MOV EAX, Pl

MOV Q, EAX MOV EBX, P2

MOV P, EBX MOV P2, EAX

Rozšírené možnosti.

Pozrime sa na akcie rozšírenia možností pohybu

Podobne ako makro, aby sa pomstil príkaz inteligentného prechodu a značky, kým sa prechod nezavolá, zavolá sa dva alebo viackrát, potom sa značka duplikuje (problém duplikovania značiek), čo zavolá pardon. K tomu, v prípade nasávania kože, je parameter priradený (programátorom) k značke okrema. Film

známku ohluší miestny (

) a rozšírenie možností assemblera automaticky vygeneruje ďalšiu značku s makrom rozšírenia vzhľadu.

umožňuje priradiť makrá uprostred ostatných makier. Takáto rozšírená možnosť je ešte viac otrepaná v prípade inteligentného rozloženia programov. Pozri na

AK WORDSIZE GT 16 M2 MACRO

Makro M2 môže mať hodnoty v oboch častiach operátora

Účelom označenia je ľahnúť si, pre ktorý procesor je program zostavený: na 16-bitovom a 32-bitovom. Ak sa M1 nezavolá, makro M2 sa nezavolá.

Ďalšou rozšírenou možnosťou je, že makrá môžu volať iné makrá vrátane seba - rekurzívne wicklik. V ostatnom prípade, aby nebolo vidieť neurčitý cyklus, je makro povinné odovzdať si parameter, ktorý sa mení s rozširovaním kože, ako aj interpretovať Tento parameter ukončí rekurziu, ak parameter dosiahne svoju počiatočnú hodnotu.

O objavení makroproblémov v assembleri.

Pri zmene makier je assembler zodpovedný za zmenu dvoch funkcií: zachrániť makroekonómiuі rozbaliť makrokliknutia.

Makroekonomické úspory.

Všetky názvy makier sú uložené v tabuľkách. Vzhľad je sprevádzaný prehliadačom pre iné makro, takže v prípade potreby ho môžete vyvolať. Niektoré assemblery majú tabuľku pre názvy makier, iné - všeobecnú tabuľku, v ktorej sú spolu s názvami makier všetky strojové príkazy a príkazy.

Pri úprave pomocou makra proces montáže vytvoriť:

nový prvok tabuľky s názvami makra, počtom parametrov a vstupom do ďalšej tabuľky priradenia makra zrušte označenie tela makra;

● zoznam formálne parametre

Potom sa načíta a uloží do tabuliek makro hodnôt tela makra, ktoré je len symbolom lancety. Formálne parametre, ako sú parametre cyklu, sú označené špeciálnym symbolom.

Vnútorný prejav makra

Z vyššie uvedeného ukazovateľa môže zadok programu 2 (strana 244) vyzerať:

MOV EAX, MOV EBX, MOV MOV a

Napríklad ako symbol rotácie vozíka je za kómou škvrna a ako symbol formálneho parametra ampersand &.

Rozbaľte makro kliknutia.

Ak sa teda počas zostavovania použijú definície makier, uložia sa do tabuliek makier. Pri volaní makra začne assembler okamžite čítať vstupné dáta zo vstupného zariadenia a začne ukladať telo do makra. Zmeny z tela na makro, formálne parametre sú nahradené skutočnými parametrami a sú dané kliknutím. Ampersand & pred parametrami umožňuje assembleru ich rozpoznať.

Bez ohľadu na tých, ktorí majú bohatú verziu assembleru, môže byť proces montáže dobre nakreslený a bohatý na to, čo je. Nižšie je dvojprechodový montážny robot.

Dvojpriechodový assembler.

Program je zložený z nízkych operátorov. K tomu by bolo dané b, že s montážou je možné vyhrať nasledujúcu postupnosť:

● strojový jazyk transluvati jogo;

● preniesť vymazanie strojového kódu zo súboru a druhej časti letáku do iného súboru;

● opakujte uvedené postupy až do konca, kým sa neodvysiela celý program.

Takýto pidhid však nie je účinný. Zadok môže byť názov problému viperedzhalnogo sila. Keďže prvým operátorom je prechod na operátor P, ktorý je rozšírený hneď na začiatku programu, assembler nedokáže preložiť jogu. Zodpovedá najmä za pridelenie adresy operátora P, a pre ktorý je potrebné prečítať celý program. Pokožka mimo čitateľného programu sa nazýva priechod. Ukáže sa, ako je možné vyriešiť problém viperegiálnej sily pomocou dvoch pasáží:

pri prvom prechode nasledovať vybrať si uložte do tabuľky všetky významy symbolov (pre daný počet značiek) a na druhej pasáži - prečítajte si a pochopte zostavu operátora kože. Takáto metóda je zjavne jednoduchá, avšak ďalší prechod za programom uvedie do činnosti ďalšie timcha vitráty;

● pri prvom prechode nasledujte preusporiadať program v medziforme a uložte si ho do tabuliek a ďalší prechod vikonate nie je pre výstupný program, ale podľa tabuliek. Tento spôsob montáže vám umožní ušetriť hodinu, ktorú na inom priechode nie je potrebné vchádzať a vychádzať z cesty.

Prvý prechod.

Účel prvého prechodu- Vyvolajte tabuľku symbolov. Ako to bolo koncipované viac, ako jedna úloha prvej pasáže, zachovanie celej makroekonómie a rozšírenie viklikiv vo svete ich vzhľadu. V jednom prechode sa tiež zavádza označenie symbolov a rozšírenie makier. Symbol môže buti abo značka, alebo hodnota, ktorému sa za pomoc pripisujú príkazy k piesni mena:

;Hodnota - veľkosť vyrovnávacej pamäte

Keď dáva význam symbolickým názvom poľa označenia príkazu, assembler v podstate nastavuje adresy, ako napríklad príkaz skin na hodinu spustenia programu. Ktorému montérovi trvá proces montáže hodinu? špecifikátor adresy príkazu(

) ako zvláštnu zmenu. Na klase prvého prechodu je hodnota špeciálnej zmeny nastavená na 0 a zvyšuje sa po zmene príkazu skin na hodnotu druhého príkazu. Ako príklad pri stole. 5.2.3 je zobrazený fragment programu s priradeným počtom príkazov a hodnotou kvalifikátora. Pri prvom prechode sa tvoria stoly symbolické mená, smerniceі operačné kódy, a ak je to potrebné doslovný tabuľky. Literál je konštanta, pre ktorú assembler automaticky rezervuje pamäť. Je príznačné, že moderné procesory pomstiť príkazy s nesprostredkovanými adresami, takže ich as-assemblery nepodporujú literály.

Tabuľka symbolov

nahradiť jeden prvok pre názov vzhľadu (tabuľka 5.2.4). V prvku skin tabuľky symbolických názvov môže byť zahrnutý samotný názov (alebo indikátor nového), jeho číselná hodnota a ďalšie informácie o ďalšom dni:

● zadná strana dátového poľa spojená so symbolom;

● preusporiadať pamäť (aby sa ukázalo, ako sa zmenil význam symbolu, ako keby bol program porazený na nesprávnej adrese, rovnakým spôsobom pomocou assembleru);

● informácie o tých, ktorí môžu získať prístup k symbolu volacieho postupu.

Symbolické mená so značkami. Zápach je možné priradiť za pomoci operátorov (napr.

Tabuľka smernice.

V tejto tabuľke sú uvedené všetky direktívy alebo pseudopríkazy, ako sa nazývajú pri zostavovaní programov.

Tabuľka prevádzkových kódov.

Pre kód operácie kože v prenosovej tabuľke sú nasledujúce grafy: priradenie ku kódu operácie, operand 1, operand 2, hexadecimálna hodnota ku kódu operácie, dĺžka príkazu a typ príkazu (tabuľka 5.2.5). Kódy operácií sú rozdelené do skupín v závislosti od množstva a typu operandov. Typ príkazu nastavuje číslo skupiny a nastavuje procedúru, ktorá sa má vyvolať na spracovanie všetkých príkazov v danej skupine.

Ďalšia prihrávka.

Meta ďalšia ulička- vytvorenie ob'ektnoї programu a rozdrukivka pre potrebu montážneho protokolu; vysnovok іnformatsії, nebhіdnoї linker pre postupy zv'yazuvannya, yakі zostavené v inú hodinu, v jednom súbore, scho vykonuєtsya.

Pri ďalšom prechode (ako pri prvom prechode) sa rady, ktoré sa majú operátori pomstiť, čítajú a dopĺňajú jeden po druhom. Operátor výjazdu a odpočítanie od nového v šestnástom systéme výjazdov objekt kód môže byť zneužitý alebo umiestnený do vyrovnávacej pamäte pre urážlivého priateľa. Po preinštalovaní lichilnika adresy príkazu sa zavolá ďalší operátor.

Víkendový program môžete odpustiť, napr.

symbol vznášania nie je priradený alebo priradený viac ako raz;

● operačný kód reprezentácií je neprijateľný im'yam (cez pardony), nezabezpečuje dostatočný počet operandov alebo môže byť príliš bohatými operandmi;

● denný operátor

Deyakі assembler môže odhaliť nevýznamný symbol a nahradiť jogu. V prípade väčšieho počtu výnimiek, kedy je zobrazený operátor s prepáčením, montážnik zobrazí na obrazovke pripomienku o odpustení a bude vyzvaný, aby pokračoval v procese montáže.

Články spojené s mov assemblerom.

Titulky o jazyku assembler

Symbolický jazyk assembleru umožňuje významnému svetu používať malé množstvo programovania strojovým jazykom.

Hlavnou myšlienkou je, že v mojom assembleri sú všetky prvky programu prezentované v symbolickej forme. Transformácia symbolických názvov príkazov v týchto duálnych kódoch závisí od špeciálny program- asembler, ako programátor ako namáhavý robot, a na jeho pardon ho nevyhnutne vypne.

Symbolické názvy, ktoré sa zadávajú pri programovaní môjho assembleru, znejú sémantiku programu a skratky príkazov - ich hlavná funkcia. Napríklad: PARAM - parameter, TABLE - tabuľka, MASK - maska, ADD - pridať, SUB - pozri len. n Takéto mená programátor ľahko zabudne.

Na programovanie môjho assembleru potrebujete sadu skladacích nástrojov, nižšie pri programovaní strojového jazyka: potrebujete vypočítať komplex na základe mikro-EOM alebo PEOM so sadou periférnych príloh (alfanumerická klávesnica, rezidentná takroshoyku) -programovanie systémy pre požadované typy mikroprocesorov. Jazyk Assembler vám umožňuje efektívne písať a prispôsobovať zmysluplne skladateľné programy, nižší strojový jazyk (až 1 - 4 kB).

Assembler filmy sú orientované na stroj, takže staré sú podobné tým strojovým a štruktúrou iného mikroprocesora, takže príkaz skinu mikroprocesora má mať v sebe symbolickejší názov.

Súbory jazyka Assembler bezpečne zvyšujú produktivitu práce programátora proti nástrojom strojového jazyka a súčasne šetria schopnosť poraziť všetky softvérovo dostupné hardvérové ​​zdroje mikroprocesora. Tse dáva príležitosť kvalifikovaným programátorom vytvárať programy, ktoré sú zostavené za krátku hodinu a zaberajú menej miesta v pamäti ako programy, ktoré vytvára môj vysoký rovný.

V súvislosti s tým sú prakticky všetky programy na správu vstupných / výstupných zariadení (ovládačov) napísané v mojom assembleri, nie je prekvapený schopnosťou dokončiť skvelú nomenklatúru vysokej úrovne.

S pomocou mov assembleru môže programátor nastaviť nasledujúce parametre:

mnemotechnická pomôcka (symbolický názov) príkazu skinu strojového motora mikroprocesora;

štandardný formát pre množstvo programov, ktoré sú popísané v assembleri;

formát na vloženie rôzne cesty možnosti adresovania a príkazov;

formát na špecifikovanie znakových konštánt a konštánt celočíselného typu v rôznych číselných sústavách;

pseudopríkaz na riadenie procesu zostavovania (prekladu) programu.

V jazyku assembler sa program píše v riadku, t.j. príkaz skin sa zadáva v jednom riadku.

Pre mikro-EOM, založený na najrozsiahlejších typoch mikroprocesorov, môžete použiť niekoľko variantov mov assembleru;

Programovanie je menej na úrovni strojových príkazov - minimálna úroveň, na ktorú je možné programy poskladať. Systém strojových príkazov môže stačiť na vykonanie potrebných úloh, pozri špecifikácie počítačového vybavenia.

Tím skin machine sa skladá z dvoch častí:

· Prevádzkové - počiatočné, "čo pracovať";

· Operandy – prvotný predmet spracúvania, „na prácu“.

Strojový príkaz mikroprocesora, napísaný v mojom assembleri, v jednom riadku, aký môže byť útočný syntaktický vzhľad:

tag príkaz/direktívny operand(y) ;komentáre

Keď cimu obov'yazykovim poľa v rade є príkaz chi smernice.

Značka, príkaz/smernica a operandy (ako є) sú akceptované jedným znakom, medzerou alebo tabulátorom.

Akonáhle je potrebné v príkaze alebo príkaze pokračovať na ďalšom riadku, symbol spätnej lomky sa napíše: \.

Pre jazyk zamovchuvannyam assembler nerozlišuje veľké a malé písmená v písaných príkazoch alebo smerniciach.

Priame adresovanie: efektívne adresy sú určené bez stredu podľa poľa používaného príkazom stroja, napríklad matky s 8, 16 alebo 32 bitmi.

mov eax, súčet; eax = súčet

Assembler nahradí súčet špecifickou adresou, ktorá je uložená v dátovom segmente (skrátene adresa s registrom ds) a hodnotou, ktorá je uložená pre súčtovú adresu pomocou registra eax.

Nepriame adresovanie toto môžete vidieť na ruke:

· nepriame adresovanie bázy (registra);

· Nepriame adresovanie základne (registra) na miesta určenia;

· Nepriame indexové adresovanie;

· Nepriame adresovanie základného indexu.

Nepriame adresovanie bázy (registra). S týmto adresovaním možno nájsť efektívne adresy operandov v ktoromkoľvek z globálnych rozpoznávacích registrov, ako je sp / esp a bp / ebp (tieto špecifické registre pre roboty so segmentom zásobníka). Syntakticky je režim adresovania príkazu vyjadrený vložením názvu do registra v štvorcových oblúkoch.

mov eax, ; eax = *esi; *hodnota esi za adresou esi

Štruktúra príkazov môjho assembleru Programovanie iba na rovnakých strojových príkazoch je minimálna úroveň, pre ktorú je možné naprogramovať počítač. Systém strojových príkazov môže stačiť na realizáciu potrebných úloh, vidiac vlastnosti strojového vybavenia. Príkaz skin machine sa skladá z dvoch častí: operačnej, ktorá označuje „ako pracovať“ a operandu, ktorý označuje objekty práce, tobto „nad tým, čo pracovať“. Je napísaný strojový príkaz mikroprocesora môj assembler je jeden riadok, ktorý môže byť urážlivý: tag príkaz/direktívny operand(y); Komentáre Označenie, príkaz/smernica a operand sú akceptované ako jeden znak, medzera alebo tabulátor. Operandy príkazov sú rozdelené do čiarok.

Štruktúra môjho príkazu assembleru Príkaz assembleru dáva prekladateľovi pokyny, ako môžem poraziť mikroprocesor. Direktívy assemblera - parametre priradené k textu programu, ktoré pridávajú proces zostavenia k výkonu výstupného súboru. Operand nastavuje hodnotu údajov (v segmente údajov) alebo prvkov, nad ktorými sa zobrazujú príkazy pre príkaz (segment kódu). Príkaz môže mať jeden alebo dva operandy alebo nemôže mať operandy. Počet operandov je implicitne nastavený kódom inštrukcie. Ako príkaz alebo pokyn je potrebné pokračovať v útočnom rade, symbol „spätná lomka“ je napísaný: „“. Assembler nerozlišuje veľké a malé písmená v písaných príkazoch a príkazoch. Použite príkazy, ktoré prikazujú Count db 1; Im, smernica, jeden operand mov eax, 0; Príkaz, dva operandy

Identifikátory - sekvencie platných symbolov, ktoré sa vyberajú na rozpoznávanie názvov premenných a názvov značiek. Identifikátor môže pozostávať z jedného alebo viacerých z týchto symbolov: všetky písmená latinskej abecedy; čísla od 0 do 9; špeciálne znaky: _, @, $, ? . Ako prvý symbol značky možno nakresliť bodku. Ako identifikátor nie je možné spárovať rezervované názvy assembleru (smernice, operátory, názvy príkazov). Prvým znakom identifikátora môže byť písmeno alebo špeciálny znak. Maximálna dĺžka identifikátora je 255 znakov, ale prekladateľ akceptuje prvých 32 a ostatné ignoruje. Značky fúzov, ktoré sa píšu za sebou, aby sa nepomstili príkazy assemblera, by mali končiť dvojznakom „:“. Mitka, príkaz (direktíva), že operand nie je povinný začínať od speváckej pozície v rade. Odporúča sa zapísať si ich do stĺpca pre ďalšie vylepšenie programu.

Značky Musia byť označené, keďže sa píšu za sebou, aby sa nepomstili príkazy assemblera, musia končiť dvojznakom ":". Mitka, príkaz (direktíva), že operand nie je povinný začínať od speváckej pozície v rade. Odporúča sa zapísať si ich do stĺpca pre ďalšie vylepšenie programu.

Komentáre Akékoľvek komentáre k programu zlepšia jeho prehľadnosť, najmä ak sa súbor príkazov považuje za nezrozumiteľný. Komentáre začínajú v ďalšom riadku výstupného modulu od symbolu „bodka s čiarkou“ (;). Symboly fúzov, ktoré sú pravotočivé vіd “; »Komentujte do konca riadku. Komentár sa môže vypomstiť bez ohľadu na to, či sú symboly odlišné, vrátane medzier. Komentár môže zaberať celý riadok alebo nasledovať príkaz v rovnakom riadku.

Štruktúra programu v assembleri mov Program napísaný v asembleri mov sa môže skladať z niekoľkých častí, ktoré sa nazývajú moduly, v skine ktorých im možno priradiť jeden alebo niekoľko segmentov, zásobník a kód. Ak je program dokončený, môj assembler je vinný tým, že obsahuje jednu hlavu alebo hlavný modul, z ktorého začína. Modul dokáže vyhľadávať programové segmenty, dátové segmenty zásobníka, vyjadrené pre ďalšie príkazy.

Pamäťové modely Pred vykreslením segmentov musíte špecifikovať pamäťový model pre pomocnú direktívu. Modifikátor MODEL memory_model, proxy_call, OS_type, stack_parameter Hlavné modely pamäte assemblera: Model pamäte Adresovanie kódu Adresovanie dát Operačný systémČítanie kódu a údajov TINY BLÍZKO MS-DOS Platné MALÉ BLÍZKO MS-DOS, Windows Nie STREDNÁ ĎALEKO BLÍZKO MS-DOS, Windows Nie KOMPAKTNÉ BLÍZKO MS-DOS, Windows Ahoj VEĽKÝ ĎALEKO MS-DOS, Windows Ahoj VEĽKÝ ĎALEKO MS-DOS, Windows nie je povolený BLÍZKO Windows 2000, Windows XP, Windows povolený FLAT BLÍZKO NT,

Pamäťové modely Malý model sa používa iba v 16-bitových programoch MS-DOS. Pre tento model sú všetky dáta kódované v jednom fyzickom segmente. Rozmír programový súbor razі neprenášajte 64 kB. Malý model podporuje jeden segment kódu a jeden segment údajov. Vzhľadom na tento kód, ak je model odlišný, je adresovaný ako blízky (blízko). Stredný model podporuje niekoľko segmentov programového kódu a jeden segment údajov a všetky správy v segmentoch programového kódu pre skratky sa považujú za vzdialené (ďaleké) a správy v segmente údajov za blízke. Kompaktný model podporuje malý počet dátových segmentov, ktoré majú vzdialené adresovanie dát (ďaleko) a jeden segmentový kód s blízkym adresovaním (blízko). Veľký model podporuje počet segmentov v kóde a počet segmentov v údajoch. Pre zamovchuvannyami usі poslal do kódu, ktorý danі vvazhayutsya vzdialený (ďaleko). Obrovský model je prakticky ekvivalentný modelu s veľkou pamäťou.

Pamäťové modely Plochý model prenáša nesegmentovanú programovú konfiguráciu a beží iba na 32-bitových operačných systémoch. Tento model je podobný malému modelu v tom, že je citlivý na to, aby bol kód umiestnenia uvedený v jednom segmente, iba 32-bitovom. Rozšíriť softvérový model plochý pred smernicou. vzor bytu vedľa zahrnúť jednu zo smerníc: . 386, . 486, . 586 resp. 686. Výber príkazu na výber procesora určuje množinu príkazov dostupných na hodinu písania programov. Písmeno p za pokynom na výber procesora znamená odcudzenie režimu robota. Adresovanie údajov do kódu je blízko (blízko), pričom všetky adresy a indikátory sú 32-bitové.

Pamäťové modely. Modifikátor MODEL memory_model, proxy_selection, OS_type, stack_param Víťazstvo modifikátora parametra pre konkrétny typ segmentu a môže nadobudnúť hodnotu: použite 16 (segmenty zvoleného modelu vibrujú ako 16-bitové) použite 32 (segmenty sú modelované ako 2 jadrá). Parameter pass_forward sa volí na určenie spôsobu odovzdávania parametrov pri volaní procedúry z iných metód vrátane vysokej úrovne (C++, Pascal). Parameter môže nadobúdať nasledujúce hodnoty: C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL.

Pamäťové modely. Modifikátor MODEL memory_model, proxy_call, OS_type, stack_parameter Narazi jediná podporovaná hodnota parametra. Parameter stack_param je nastavený na rovnakú hodnotu: NEARSTACK (register SS je starší ako DS, oblasti údajov a zásobníka sa nachádzajú v rovnakom fyzickom segmente) FARSTACK (register SS nie je starší ako DS, oblasti údajov a zásobníka sa nachádzajú v rôznych fyzických segmentoch). NEARSTACK je akceptovaný na uzamknutie.

Pažba programu, ktorý „ničomu neublíži“. 686 P. VZOR BYTU, STDCALL. ÚDAJE. CODE START: RET END START RET – príkaz mikroprocesora. Tá zabezpečí správne ukončenie robotických programov. Reshta naprogramuje ľahnúť si k robotickému prekladaču. . 686 P – povolené príkazy do chráneného režimu Pentium 6 (Pentium II). Táto direktíva vyberá množinu príkazov assembleru, špecifikujúcich model procesora. . MODEL FLAT, stdcall - plochý pamäťový model. V operačnom systéme Windows sa zmenil model pamäte. stdcall - uprednostňuje wiki postupov, ktoré sú víťazné.

Pažba programu, ktorý „ničomu neublíži“. 686 P. VZOR BYTU, STDCALL. ÚDAJE. ZAČIATOK KÓDU: ZNOVU KONIEC ZAČIATOK . DATA - segment programu na pomstu za dáta. Program Tsya nie víťazný stack, to je segment. STACK denne. . CODE - segment programu, ktorý čistí kód. ŠTART - značka. KONIEC ŠTART - koniec programu, ktorý informuje kompilátor, že spustenie programu vyžaduje značku ŠTART. Kožný program je vinný z toho, že porušuje direktívu END, čo znamená koniec výstupný kód programy. Riadky, ktoré nasledujú po direktíve END, sa ignorujú Značka uvedená za direktívou END podporuje prekladač názvu modulu head, z ktorého sa program spúšťa. Ak má program pomstiť jeden modul, tak označenie za direktívou END možno vynechať.

Filmový assembler prekladač Prekladač - abo program technický zásib, ktorý vikonizuje transformáciu programu, predstavuje jeden z programovacích jazykov, program je môj vlastný, nazývaný objektový kód. Krém na mnemotechniku ​​strojových príkazov, prekladač kože môže mať autoritatívnu sadu príkazov a makier, často sa nič nedeje. Hlavné typy prekladačov filmového assembleru: MASM (Microsoft Assembler), TASM (Borland Turbo Assembler), FASM (Flat Assembler) - bohatý a jednoduchý assembler, ktorý možno ľahko reprodukovať, napísal Tomasz Grishtar (Poľský), NASM ( Netwide Assembler) - vіlny 86, ale vyvíjajú sa výtvory Simona Tethema spolu s Julianom Hallom a v danej hodine malý tím predajcovia v Source. Forge. net.

Src="https://present5.com/presentation/-29367016_63610977/image-15.jpg" alt="(!LANG:(!LANG:Program Translation v Microsoft Visual Studio 2005 1) Vytvorte projekt výberom ponuky Súbor -> Nový->Projekt i"> Трансляция программы в Microsoft Visual Studio 2005 1) Создать проект, выбрав меню File->New->Project и указав имя проекта (hello. prj) и тип проекта: Win 32 Project. В дополнительных опциях мастера проекта указать “Empty Project”.!}!}

Src="https://present5.com/presentation/-29367016_63610977/image-16.jpg" alt="(!LANG:(!LANG:Preklad programu v Microsoft Visual Studio 2005 2) V strome projektu (Zobraziť-> Solution Explorer) pridať"> Трансляция программы в Microsoft Visual Studio 2005 2) В дереве проекта (View->Solution Explorer) добавить файл, в котором будет содержаться текст программы: Source. Files->Add->New. Item.!}!}

Preklad Microsoft Visual Studio 2005 3) Vyberte typ súboru Code C++ a zadajte názov prípony. asm:

Preklad programu Microsoft Visual Studio 2005 5) Nastavte možnosti kompilátora. Kliknite pravým tlačidlom myši na ponuku projektu súboru Custom Build Rules…

Vysielajte programy v Microsoft Visual Studio 2005 a vyberte Microsoft Macro Assembler.

Preklad programov v Microsoft Visual Studio 2005 Kliknite pravým tlačidlom myši na ahoj. asm strom do ponuky Vlastnosti projektu a prilepte Všeobecné->Nástroj: Microsoft Macro Assembler.

Src="https://present5.com/presentation/-29367016_63610977/image-22.jpg" alt="(!LANG:(!LANG:Program Translation v Microsoft Visual Studio 2005 6) Kompilujte súbor výberom Build-> Zostavte hello.prj."> Трансляция программы в Microsoft Visual Studio 2005 6) Откомпилировать файл, выбрав Build->Build hello. prj. 7) Запустить программу, нажав F 5 или выбрав меню Debug->Start Debugging.!}!}

Programovanie v OS Windows Programovanie v OC Windows je založené na rôznych funkciách API (Application Program Interface). Súčasný vek dosahuje 2000 rokov. Z takýchto wiki je vytvorený program pre Windows. Všetka interakcia s prístavby prostriedky operačného systému sa spravidla používajú na podporu takýchto funkcií. Prevádzka systém Windows pamäťový model vikoristickej dosky. Adresy, či už v strede pamäte, sú priradené jednému 32-bitovému registru. Pre Windows existujú 3 typy programových štruktúr: dialógové (hlavne dialógové - dialógové), konzolová alebo bezdrôtová štruktúra, klasická štruktúra (okno, drôtový model).

Viklik Funkcie systému Windows API V súbore pomocníka, či je funkcia API reprezentovaná typom názov_funkcie (FA 1, FA 2, FA 3) Typ - typ hodnoty, ktorá sa má otáčať; FAH - prepísanie formálnych argumentov v poradí ich smernice Napríklad int Message. Box (HWND h. Wnd, LPCTSTR lp. Text, LPCTSTR lp. titulok, UINT u. Typ); Akú funkciu zobrazí na obrazovke okno s výzvami a tlačidlom (alebo tlačidlami) na ukončenie. Parametre snímania: h. Wnd - deskriptor okna, ktorý má informácie o okne, lp. Text – text, ktorý sa zobrazí v okne, lp. Titulok - text pre nadpis okna, u. Typ – typ okna, môžete priradiť počet výstupných tlačidiel.

Funkcia Wiklik Windows API int Správa. Box (HWND h. Wnd, LPCTSTR lp. Text, LPCTSTR lp. titulok, UINT u. Typ); Všetky parametre funkcie API môžu byť skutočné 32-bitové celé číslo: HWND - 32-bitové celé číslo, LPCTSTR - 32-bitový index na riadok, UINT - 32-bitové celé číslo. Pre prechod na nové verzie funkcií sa k názvu funkcií často pridáva prípona „A“.

Funkcia Wiklik Windows API int Správa. Box (HWND h. Wnd, LPCTSTR lp. Text, LPCTSTR lp. titulok, UINT u. Typ); Pri výbere MASM je potrebné pridať napríklad @N N počet bajtov, aby sa argumenty brali zo zásobníka. Pre funkcie Win 32 API môže byť nastavený ako počet argumentov n, vynásobený 4 (bajty pre argument skinu): N=4*n. Pre funkciu call-out je napísaná inštrukcia CALL assembleru. Vďaka tomu sú všetky argumenty funkcie odovzdané cez zásobník (príkaz PUSH). Priamy prenos argumentov: ZLIVA VPRAVO - DOLE POHORU. Argument u bude zasunutý do zásobníka ako prvý. Typ. Volanie funkcie bude vyzerať takto: CALL Message. box. [e-mail chránený]

Funkcia Wiklik Windows API int Správa. Box (HWND h. Wnd, LPCTSTR lp. Text, LPCTSTR lp. titulok, UINT u. Typ); Výsledkom akejkoľvek funkcie API je spravidla celé číslo, ktoré sa otáča v registri EAX. Direktíva OFFSET je „náhrada v segmente“ alebo, v preklade do slov vysokej rovnosti, „ukazovateľ“ klasu radu. Smernica EQU, podobne ako #define v Movі СІ, definuje konštantu. Direktíva EXTERN hovorí prekladateľovi, že funkcia alebo identifikátor súvisí rozšírením s daným modulom.

Príklad programu "Ahojte nás!" . 686 P. VZOR BYTU, STDCALL. STACK 4096. DATA MB_OK EQU 0 STR 1 DB "Môj prvý program", 0 STR 2 DB "Ahoj, my!", 0 HW DD? EXTERNÁ správa. box. [e-mail chránený]: BLÍZKO. CODE START: PUSH MB_OK PUSH OFFSET 1 PUSH OFFSET 2 PUSH HW CALL Hlásenie. box. [e-mail chránený] RET END START

Direktíva INVOKE Filmový prekladač MASM umožňuje jednoduché vyvolávanie funkcií s makropremennými - Direktívy INVOKE: funkcia INVOKE, parameter1, parameter2, ... Parametre sú zapísané presne v poradí, v akom je zadaný popis funkcie. Makrá prekladača vkladajú parametre do zásobníka. Pre variáciu smernice INVOKE je potrebné popísať prototyp funkcie s variáciou smernice PROTO v tvare: Správa. box. A PROTO: DWORD, : DWORD Ako program používa neidentifikované funkcie Win 32 API, je možné urýchliť direktívou include C: masm 32includeuser 32. inc

práca v kurze

Z disciplíny "Systémové programovanie"

Téma №4: "Riešenie procedurálnych úloh"

Možnosť 2

ŠIDNOSIBÍRSKA ŠTÁTNA UNIVERZITA

TECHNOLÓGIE A RIADENIE

____________________________________________________________________

TECHNOLOGICKÁ VYSOKÁ ŠKOLA

ŽIADOSŤ

za prácu v kurze

Disciplína:
Téma: Zvýraznenie úloh na postupoch
Vikonavets: Glavinska Arina Oleksandrivna
Kerivnik: Dambaeva Sesegma Viktorivna
Krátke zhrnutie robotiky: predstavenie podprogramu môjho Assemblera,
úlohy rozv'azannya z vikoristannyam pіdprogram
1. Teoretická časť: Základné informácie o jazyku Assembler (set
príkazy atď.), Organizácia podprogramov, Metódy prenosu parametrov
v podprogramoch
2. Praktická časť: Vytvorte dva podprogramy, z ktorých jeden transformujem, či je písmeno uvedené v hlavičke (vrátane ruských písmen), a druhý transformuje písmeno na riadok.
Transformujem, či je dané písmeno dané do hlavy, a inak transformujem písmeno na riadok.
Otočím list na rad.
Podmienky nadväznosti projektu podľa harmonogramu:
1. Teoretická časť - 30% do 7 dní.
2. Praktická časť - 70% až 11 dní.
3. Zakhist - 100% až 14 dní.
Wimogi pred formalizáciou:
1. Rozrakhunkovo-vysvetľujúca poznámka k projektu kurzu môže byť prezentovaná v
elektronické a tlačené kópie.
2. Dlh je splatný do 20 strojom písaných strán bez opravy dodatkov.
3. RPZ je vydaný podľa GOST 7.32-91 a podpísaný výrobcom.

Robotický pracovník ___________________

Vikonavets ___________________

Dátum vydania " 26 " jar 2017 R.


Úvod. 2

1.1 Základné informácie o jazyku Assembler. 3

1.1.1 Zadávanie príkazov. 4

1.2 Organizácia podprogramov v mov Assembler. 4

1.3 Spôsoby prenosu parametrov v podprogramoch. 6

1.3.1 Prenos parametrov cez registre.

1.3.2 Odovzdávanie parametrov cez zásobník. 7

2 PRAKTICKÝ DIZAJN 9

2.1 Vyjadrenie problému. deväť

2.2 Popis zadávania úloh. deväť

2.3 Testovanie programu.

Višňovok. osem

Zoznam literatúry.


Vstup

Zagalnovіdomo, čo naprogramovať v Assembleri je dôležité. Yak Viete, zároveň mám veľa rôznych jazykov vysoký stupeň, yakі dovoliť vitráže byť menej zusil pіd hodinu písania programov. Je zrejmé, že obviňujte silu, ak programátor môže viniť z potreby vyhrať Assembler pri písaní programov. V tejto chvíli môžete špecifikovať dve oblasti, v ktorých je jazyk assembler pravdivý a často nevyhnutný.

Po prvé, to je to, čo nazývajú strojovo mŕtve systémové programy, znie ten smrad rôzne prístavby počítač (takéto programy sa nazývajú ovládače). V týchto systémových programoch sú špeciálne strojové príkazy, ktoré nie je potrebné blokovať v tých najvýkonnejších (inak sa zdá aplikované) programy. Príkazy Qi nie je možné alebo ešte dôležitejšie zaviesť pohyb s vysokou vyrovnanosťou.

Ďalšia oblasť stagnácie programu Assembler súvisí s optimalizáciou programovania. Ešte častejšie prekladatelia programov (kompilátori) na vysokej úrovni dávajú aj neefektívnemu strojovému programu. Znie to ako program obschilyuvalny charakter, pre ktorý väčšinu času je už malý (asi 3-5%) počet programov (hlavný cyklus). Na vyriešenie tohto problému môžete použiť takzvané bugatome programovacie systémy, ktoré umožňujú nahrávať časti programu v rôznych jazykoch. Zvuk hlavná časť programu, ktorý má byť napísaný mojím programovaním na vysokej úrovni (Fortran, Pascal, Z povagoyu, že іn.), A kriticky za hodinu programu - v jazyku symbolických inštancií. Rýchlosť práce a všetkých programov sa môže výrazne zvýšiť. Často jediný spôsob, ako dosiahnuť, aby program dával výsledky za rozumnú hodinu.

Metódou zadania práce v kurze je odobrať praktické zručnosti v robotike a programovaní môjho assemblera.

Vedúci práce:

1. Zoznámte sa s hlavnými informáciami o jazyku assembler (štruktúra a komponenty programu v Assembleri, formát príkazov, organizácia podprogramu atď.);

2. Pozrite sa na bitové operácie, formát a logiku robotických logických príkazov Assemblera;

3. Virishiti іndivіdualne zavdannya zastosuvannya pіdprogram v assembleriі;

4.. Formulujte oznamovateľa o robotovi vikonan.

1 TEORETICKÝ NÁVRH

Základné informácie o Language Assembler

Assembler je jazyk nízkoúrovňového programovania, čo je formát na zaznamenávanie príkazov stroja, užitočný pre ľudí.

Presun príkazov assembleru jeden na jedného umožňuje príkazy procesora a v skutočnosti aj manuálny symbolický zápis (mnemokód) príkazov a ich argumentov. Jazyk assembler tiež poskytuje základné programové abstrakcie: prepojenie častí programu a údajov prostredníctvom štítkov zo symbolických mien a direktív.

Direktívy Assemblera umožňujú začlenenie blokov údajov do programu (výslovne popísané ako čítanie zo súboru); zopakujte fragment piesne, uveďte počet krát; zostavovanie fragmentu mysľou; nastaviť adresu symbolu fragmentu, zmeniť hodnotu značiek v procese kompilácie; otočte makro hodnotu s parametrami a in.

Gidnosti i nedolіki

· Minimálny počet nadbytočných kódov (počet príkazov je menší ako počet príkazov a počet hádaniek). Ako dedičstvo - väčšia švédčina a menšie rozšírenie programu;

· Veľké záväzky voči kódexu, veľké množstvo dodatočných úloh;

· Zlá čitateľnosť kódu, zložité triky (vylepšenie, dodatočné schopnosti);

· Problém implementácie programovacích paradigiem a či sú alebo nie sú viac alebo menej skladacie konvencie, skladanie spálne;

· menšie množstvo dostupných knižníc, ich súčet je malý;

· Bezperednіy prístup k zariadeniu: porty v vvodnya-vyvodu, spetsialnym registra protsesora;

maximálne „fit“ pre požadovanú platformu špeciálne pokyny, technické vlastnosti "Zalіza");

· Neznášanlivosť na iné platformy (crim dvіykovo šialené).

Crim inštrukcie, program môže nahradiť direktívy: príkazy, ktoré by sa nemali prekladať priamo do strojových inštrukcií, ale mali by ich vykonávať robot kompilátora. Typizácia a syntax їх sú výrazne zmenené a nespočívajú vo forme hardvérovej platformy, ale vo forme víťazného kompilátora (generujúceho dialekty v hraniciach jednej rodiny architektúr). Ako súbor smerníc môžete vidieť:

· Označenie údajov (stále zmeny);

· Vykonávanie organizácie programu v pamäti a parametrov výstupného súboru;

· Nastavenie režimu robotického kompilátora;

· Rôzne abstrakcie (prvky tobto na vysokej úrovni) – od návrhu procedúr a funkcií (na zjednodušenie implementácie paradigmy procedurálneho programovania) po inteligentné konštrukcie a cykly (pre paradigmu štrukturálneho programovania);

makrá.

Sada príkazov

Typické príkazy filmového assembleru є:

Príkazy na obnovenie údajov (presun a in)

Aritmetické príkazy (add, sub, imul a in.)

· Logické a bitové operácie (alebo, a, xor, shr a in)

Príkazy na riadenie priebehu programu (jmp, loop, ret a in.)

· Týždenné prerušenie príkazov (individuálne pridanie k ovládacím príkazom): int

Príkazy na úvod-návštevu v prístave (vstup, výstup)

Pre mikrokontroléry a mikropočítače sú charakteristické aj nasledujúce príkazy, ktoré slúžia na zmenu kódu a prepnutie do mysle napr.

· jne - ísť, yakscho nie jeden;

· jge - ísť, ak viac alebo viac.

Téma 1.4 Mnemotechniky assemblera. Štruktúra a formát príkazu. Pozrite si adresy. Mikroprocesorový riadiaci systém

Plán:

1 zostavovač Mova. Základné pochopenie

2 Symboly pre zostavovanie filmov

3 Typy príkazov assemblera

4 Smernice pre montážnikov

5 Inštrukčná sada procesora

1 Izik assembler. Základné pochopenie

Mova assembler- tse symbolický prejav strojového filmu. Všetky procesy v stroji na najnižšej hardvérovej úrovni sú riadené iba príkazmi (inštrukciami) stroja. Došlo mi, že bez ohľadu na zaužívaný názov, jazyk assembleru pre typ skinu počítača má svoj vlastný.

Program v assembleri na zber pamäťových blokov, titulkov pamäťové segmenty. Program môže byť zložený z jedného alebo viacerých blokov-segmentov. Kožený segment má nahradiť poradie jazyka, kožený segment si veľa kódu požičiava z programu.

Návrhy zostavovateľov sú niekoľkých typov:

1) príkazy alebo pokyny, sú symbolické analógie strojových príkazov. Počas procesu prekladu sú inštrukcie assemblera konvertované na skutočné príkazy mikroprocesorového príkazového systému;

2) makro príkaz -zoradenie propozícií k textu programu so speváckou hodnosťou, ktoré sú počas vysielania nahradené inými propozíciami;

3) smernice,є vkazіvkoyu prekladateľ assembler vykonannya deyakіh DIY. Direktívy nemajú analógy k strojovému podriadeniu;

4) riadky komentárov , scho to revenge be-like symboly, vrátane písmen ruskej abecedy. Komentáre prekladateľ ignoruje.

­ Štruktúra programu montáže. syntax assemblera.

Návrhy na nastavenie programu môžu byť syntaktické konštrukcie, ktoré umožňujú príkazy, makrá, direktívy alebo komentáre. Aby ich asemblerský prekladateľ dokázal rozpoznať, smrad sa môže formovať za spevácke syntaktické pravidlá. Pre koho je lepšie napísať formálny popis syntaxe filmu na kshtalt gramatických pravidiel. Najširší spôsob podobného popisu filmového programovania - syntaktické diagramyі rozšírenia formy Backus-Naur. Pre praktické vikoristannya zruchnіshі syntaktické diagramy. Napríklad syntax jazyka assembler možno opísať pomocou dodatočných syntaktických diagramov, ktoré sú zobrazené na nadchádzajúcich malých 10, 11, 12.

Baby 10 – formát návrhu zostavy


­ Baby 11 – Smernice o formáte

­ Malyunok 12 - Formát príkazov a makier

Na týchto malých:

­ názov značky- identifikátor, hodnota adresy prvého bajtu propozície v texte programu, ktorá označuje víno;

­ som-identifikátor, ktorý sa zhoduje s touto direktívou s inými direktívami s rovnakým názvom. V dôsledku spracovania direktívy názvu piesne assemblerom je možné priradiť vlastnosti piesne;

­ operačný kód (COP) táto smernica - tse mnemotechnické označenie konkrétneho strojového príkazu, makro príkazov alebo príkazov prekladača;

­ operand -Časti príkazov, makro príkazov alebo príkazov assembleru, ktoré označujú objekty, ktoré sa používajú na ich ovládanie. Operandy assemblera sú opísané slovami s číselnými a textovými konštantami, návestiami a identifikátormi meniteľných znakov operácie a inými vyhradenými slovami.

Pomôžu syntaktické diagramy vedieť a potom prejsť cestou od vchodu so schémami (ľavák) k východu (pravák). Ak je takýto spôsob pravdivý, potom tvrdenie, že konštrukcia je syntakticky správna. Ak takáto cesta neexistuje, kompilátor túto konštrukciu neprijme.

­ 2 symboly filmu Assembler

Povolené znaky pri písaní textu programu:

1) všetky latinské písmená: A-Z,a-z. Vždy, keď sa veľké a malé písmená považujú za rovnocenné;

2) čísla v 0 predtým 9 ;

3) znaky ? , @ , $ , _ , & ;

4) maloobchodníci , . () < > { } + / * % ! " " ? = # ^ .

Propozície assemblera sa tvoria z žetóny, čo sú syntakticky neoddeliteľné sekvencie prípustných symbolov filmu, ktoré môžu dať prekladateľovi zmysel.

žetónyє:

1) identifikátory - postupnosť prípustných symbolov, ktoré program zvolí na rozpoznávanie takýchto objektov, ako kód operácií, názvy meniteľných názvov značiek. Pravidlo pre zaznamenávanie identifikátorov v ofenzíve: identifikátor môže byť zložený z jedného alebo viacerých znakov;

2) lancety symbolov - postupnosť symbolov uložená v jednoduchých alebo dvojitých labkách;

3) číselné čísla v jednej z pripravovaných číselných sústav : dva, desať, šestnásť. Pri písaní čísel v programoch assemblera sa čísla kreslia podľa nasledujúcich pravidiel:

4) desiatky čísel nie sú dôležité pre vaše zobrazenie akýchkoľvek ďalších znakov, napríklad 25 alebo 139. Pre zobrazenie v externý text programy dvojité čísla po zadaní núl je potrebné tú jedničku, ktorá vstúpi do ich skladu, dať v latinčine “ b“, napríklad 10010101 b.

5) 16 čísel môže byť inteligentnejších, keď si ich zapíšete:

Po prvé, smrady sa sčítajú z čísel 0...9 , malikh ta skvelé listy latinská abeceda a,b, c,d,e,f alebo A,B,C,D,E,F.

Iným spôsobom môže prekladateľ obviňovať z ťažkostí rozoznať 16 čísel cez tie, ktoré sa smrad dajú sčítať ako samotné číslice 0 ... 9 (napríklad 190845), takže začnite od písmen latinskej abecedy (napríklad ef15). Aby sa prekladateľovi „vysvetlilo“, že token nie je daný ako desiate číslo, ale ako identifikátor, programátor sa previnil zvláštnym príkazom vidieť šestnáste číslo. Pre počet šestnástich číslic v poslednej postupnosti šestnástich číslic, aby ste vytvorili šestnáste číslo, napíšte latinské písmeno „ h". Tse obov'yazkova umova. Ak šestnáste číslo začína písmenom, potom sa pred neho napíše úvodná nula: 0 ef15 h.

Prakticky ide o kožnú propozíciu pomstiť opis predmetu, nad ktorým, alebo za pomoci ktorého víťazí spievajúca dija. Objekty Qi sú tzv operandy. Їx možno definovať takto: operandi- tse objekty (popisné hodnoty, register alebo stredná pamäť), na yakі dіyut іnstruktsії chi direktívy, аbo tse objekty, yakі vyznachayut chi objasniť іu іnstruktsiіy chi direktívy.

Je možné vykonať nasledujúcu klasifikáciu operandov:

­ postіyni chi bez stredných operandov;

­ adresné operandy;

­ operandy na pohyb;

osobná adresa;

­ registrovať operand;

­ základné a indexové operandy;

­ štrukturálne operandy;

záznam.

Operandy sú elementárne komponenty vrátane vytvorenia časti strojovej inštrukcie, ktorá označuje objekty, pre ktoré sa má operácia vykonať. Na zagalovu vpadku mozu operandi vstupovat ako sklady na sklady, osvetlenie, rank virázami.

Virazi є kombinácie operandov a operátorov, ktoré sa považujú za jeden celok. Výsledkom výpočtu môže byť adresa konkrétnej pamäte alebo konštantná (absolútna) hodnota.

­ 3 Typy príkazov assemblera

Môžeme uviesť typy operátori assembleru tieto syntaktické pravidlá pre tvorbu jazyka symbolických inštancií:

­ aritmetické operátory;

­ operátori zsuvu;

­ operátori linky;

­ logické operátory;

­ indexový operátor;

­ operátor preradenia typu;

­ operátor preradenia segmentov;

­ operátor pomenovania typu struct;

­ prevádzkovateľ segmentu otrimannya adresa skladu virazu;

­ operátor otrimannya usunennya virazu.

1 Smernice pre montážnikov

­ Smernice pre jazyk zhromaždenia sú:

1) Smernice o segmentácii. Za hodinu diskusie vopred sme vysvetlili všetky základné pravidlá pre písanie príkazov a operandov v programe assembler. Došlo k strate napájania, ako správne zadať postupnosť príkazov, aby ich prekladateľ mohol okamžite spracovať, a mikroprocesor - vikonati.

Pri pohľade na architektúru mikroprocesora sme zistili, že existuje šesť segmentových registrov, s pomocou ktorých môžete pracovať naraz:

­ s jedným segmentom kódu;

­ s jedným segmentom do zásobníka;

­ s jedným dátovým segmentom;

­ іz troma s ďalšími segmentmi danich.

Fyzicky je segment pamäťovou oblasťou obsadenou príkazmi a (alebo) danými, ktorých adresy sú vypočítané podľa hodnoty konkrétneho segmentového registra. Popis syntaxe segmentu v assembleri pomocou konštrukcie znázornenej na malom 13:


­ Obrázok 13 - Popis syntaxe segmentu v assembleri

Je dôležité poznamenať, že funkčné rozpoznanie segmentu je širšie, nižšie, jednoducho rozdeľuje program na bloky kódu, vzhľadom na tento zásobník. Segmentácia je súčasťou väčšieho zagalného mechanizmu spojeného s modulárny koncept programovania. Prenáša zjednotenie dizajnu objektových modulov vytvorených kompilátorom, rámec rôznych programovacích jazykov. Tse vám umožňuje kombinovať programy napísané v rôznych jazykoch. Na implementáciu rôznych variantov takejto kombinácie sú v smernici SEGMENT uznávané operandy.

2) Výpis manažérskych smerníc. Direktívy správy zoznamov sú rozdelené do nasledujúcich skupín:

­ globálne smernice pre správu zoznamov;

­ direktívy, ktoré sa majú zobraziť v zozname súborov, ktoré majú byť zahrnuté;

­ smernice na vytváranie blokov mentálneho zhromaždenia;

­ príkazy na prezeranie zoznamu makier;

­ smernice pre zoznam informácií o krížovom odosielaní;

­ direktívy na zmenu formátu výpisu

2 Inštrukčná sada procesora

Inštrukčnú sadu procesora predstavuje malá 14.

Poďme sa pozrieť na hlavné skupiny príkazov.

­ Obrázok 14 - Klasifikácia príkazov assemblera

Príkazy sú:

1 Príkaz na opätovné posilnenie údajov. Príkazy Qi zaujímajú ešte dôležitejšie miesto v systéme príkazov akéhokoľvek procesora. Zápach má tieto najdôležitejšie funkcie:

­ ukladanie do pamäte namiesto interných registrov procesora;

­ spoločné kopírovanie z jednej pamäťovej oblasti do druhej;

­ zápis na vstupnom/výstupnom zariadení a čítanie zo vstupného/výstupného zariadenia.

Pre niektoré procesory sú tieto funkcie spojené jedným príkazom MOV (pre byte peresilan - MOVB ) ale s rôzne metódy adresné operandy.

V iných procesoroch príkazy MOV Príkazov až po zoznam funkcií je viac. Pred príkazmi na opätovné zapečatenie údajov sú tiež príkazy na výmenu informácií (ich význam bude založený na slove Výmena ). Môžete preniesť výmenu informácií medzi internými registrami, medzi dvoma polovicami jedného registra ( SWAP ) alebo medzi registrom a stredom pamäte.

2 aritmetické príkazy. Aritmetické príkazy sa pozerajú na kód operandu ako na číselný kód s dvomi alebo dvoma desatinnými miestami. Tímy Qi možno rozdeliť do piatich hlavných skupín:

­ príkazy na operácie s pevnou kómou (sčítanie, uberanie, násobenie, rozpodil);

­ príkazy pre operácie s plávajúcou kómou (sčítanie, vіdnіmannya, viac, rozpodіl);

­ príkazy na čistenie;

­ príkazy na zvýšenie a zníženie;

­ velenie zápasu.

3 Príkazy pre operácie z pevného kódu sú spracované z kódov v registroch procesora a uložené ako z dvoch najvýznamnejších kódov. Príkazy pre operácie s pohyblivou rádovou čiarkou (bodka) formát vikoristovuyut pre vzhľad čísel s poradím a mantisou (číslo zvukovej qi zaberajú dve po sebe idúce pamäťové centrá). V dnešných tvrdých procesoroch nie je množina príkazov s plávajúcou kómou obklopená iba niekoľkými aritmetickými funkciami, ale skôr neosobnými skladacími príkazmi, napríklad výpočet goniometrických funkcií, logaritmické funkcie a tiež skladacie funkcie, ktoré sú potrebné na spracovanie tohto zvuku.

4 Vymazanie príkazov rozpoznané pre zápis nulového kódu do registra alebo do stredu pamäte. Príkazy Qi možno nahradiť príkazmi na prepísanie nulového kódu, ale špeciálne príkazy na vymazanie znejú bezpečnejšie, nižšie príkazy na prepísanie.

5 príkazov na zvýšenie (zvýšenie o jeden) a zníženie

(Zmena na osamelosť) majú tiež väčšie šťastie. Їх sa dá v princípe nahradiť príkazmi sčítavať s jednotou, alebo pridávaním singlov, a potom rýchlejšie vyhrávajú prírastky a úbytky, nižšie súčet a končí. Príkazy Qi vyberajú jeden vstupný operand, ktorý je rovnaký ako výstupný operand.

6 Príkaz match je priradený na spárovanie dvoch vstupných operandov. V skutočnosti nebudete počítať rozdiel medzi týmito dvoma operandmi, ale nevytvoríte posledný operand, ale skôr zmeníte bity v registri procesora pre výsledok tejto recenzie. Ďalší príkaz bude nasledovať po príkaze (zaznejte príkaz na prechod) analyzujte bit v registri Stanem sa procesorom a vyhrám čas v poklese hodnôt. V niektorých procesoroch sa prenášajú príkazy lancetového párovania dvoch sekvencií operandov, ktoré sú v pamäti.

7 Logické príkazy. Logické príkazy sa vznášajú nad operandmi logických operácií (bit po bite), takže sa môžete pozerať na kódy operandov nie ako na jeden, pretože ste nazbierali veľa bitov. Tsim smrad vo vzduchu aritmetické pokyny. Logické príkazy sú nasledujúce základné operácie:

­ logické I, logické ABO, pridanie po module 2 (Vypnúť ABO);

­ logické, aritmetické a cyklické ničenie;

­ opätovné overenie bitov a operandov;

­ inštalácia a čistenie bojov (praporiv) register Stanem sa procesorom ( PSW).

Príkazy logických operácií umožňujú bit po bite výpočet hlavných logických funkcií dvoch vstupných operandov. Okrem toho sa zvolí operácia I na vyčistenie primus daných bitiek (ako jeden z operandov, pri ktorom sa volí kód masky, v ktorom poradí, čo znamená vymazanie, sa nastaví na nulu). Operácia ABO sa vykonáva pre primárne nastavenie bitov úlohy (ako jeden z operandov, keď je zvolený kód masky v poradí, v akom by sa nastavenia mali nastaviť na jeden, aby sa pridal jeden). Operácia „Vypnúť ABO“ je obrátená pre inverziu daných bitov (ako jeden z operandov pri zablokovaní kódu masky, vtedy je inverzia nastavená na jednotku). Inštrukcie tvoria dva vstupné operandy a jeden výstupný operand.

8 príkazov na zničenie umožňuje bit po bite zničenie kódu operandu doprava (pre počet mladých objednávok) alebo doľava (pre poradie vysokých objednávok). Typ suvu (logický, aritmetický alebo cyklický) je zvolený tak, že hodnota vysokého bitu bude nová (pri zlome doprava) alebo mladý bit (pri zlome doľava), a tiež bude určená , ak sa sem uloží hodnota horného bitu (pri prelomení doprava) bit (ak je prelomený pravotočivý). Cyklická deštrukcia umožňuje prelomiť kód operandu podľa stávky (pre šípku s rokom, keď je zlomená šípka vpravo, alebo proti šípke s rokom, keď je zlomená ľavá ruka). S tsomu kіltse zsuva môže vstúpiť alebo nevstúpiť do prevodu prápor. Na bite praporca prenosu (ako víťazný vin) sa hodnota vysokého bitu zaznamená s cyklickým zvukom doľava, hodnota mladého bitu s cyklickým kolapsom doprava. Zjavne sa hodnota praporčického bitu prenáša do mladšej hodnosti v prípade cyklickej deštrukcie vľavo a vyššej hodnosti v prípade cyklickej deštrukcie vpravo.

9 Príkazy skoku. Príkazy prechodov sú uznávané v organizácii rôznych cyklov, rozgaluzhen, viklikiv pіdprogramme, takže smrad zničí posledný beh programu. Počet príkazov sa zapíše do príkazového registra s novou hodnotou a zároveň sa nevyvolá prechod procesora na ďalšie poradie príkazu, ale na to, či je v pamäti programu ďalší príkaz. Deyakі prechodové príkazy prenesú späť, v bode, z ktorého bol prechod prerušený, inak ho neprenesú. Keď rotácia prejde, parametre vlákna procesora sa uložia do zásobníka. Ak sa rotácia neprenesie, aktuálne parametre procesora sa neuložia.

Prechodové príkazy bez otáčania sú rozdelené do dvoch skupín:

­ tímy šialených prechodov;

­ príkazy inteligentného skoku

V ikonách týchto príkazov sú slová Vetva (razgaluzhennya) a Skok (stribok).

Bláznivé skokové príkazy vyžadujú skok na novú adresu bez ohľadu na to, čo. Môžu zavolať prechod na zadanú hodnotu zsuvu (dopredu alebo dozadu) alebo na zadanú adresu pamäte. Ako vstupný operand sa zadáva hodnota posunu alebo nová hodnota adresy.

Príkazy mentálnych prechodov vyžadujú, aby bol prechod životaschopný, len na prekonanie úloh myslí. Ako si to myslieť, zaznejte hodnoty práporčíkov pri registri Stanem sa procesorom ( PSW ). Mentálny prechod Tobto je výsledkom predchádzajúcej operácie, pretože mení význam príznakov. Veľa takýchto myslí sa dá previesť zo 4 na 16. Decil aplikačných príkazov pre inteligentné prechody:

­ prechod, ako keby bol bližšie k nule;

­ prechod, ktorý sa nerovná nule;

­ prechod, yakscho є opätovný prechod;

­ prechod, ako keby neexistovalo žiadne opakovanie;

­ prechod, ktorý je väčší ako nula;

­ prechod, ktorý je menší alebo viac rovný nule.

Akonáhle je prechod mysle dokončený, vykoná sa zápis do registra-zoznamu príkazov novej hodnoty. Aj keď prechod mysle nie je porazený, počet príkazov jednoducho rastie a procesor vyberie tento rytmus a príkaz príde v poriadku.

Špeciálne na opätovné overenie myslenia prechodu je prechodu (BMR) priradený príkaz, ktorý preposiela príkazy inteligentného prechodu (alebo odošle množstvo príkazov inteligentných prechodov). Ale, práporci môžu byť obnovení a byť nejakým iným tímom, napríklad tímom na prekonanie dát, byť nejakým aritmetickým alebo logickým tímom. Je dôležité, že samotné príkazy prechodu nemenia príznak, čo vám umožňuje zadať niekoľko príkazov prechodu jeden po druhom.

Najmä priestor medzi príkazmi na prechod zo zákrut zaberajú príkazy na prechod. Príkazy Qi v kapacite vstupného operandu označujú číslo zmeny poradia (adresu vektora).

Višňovok:

Assembler jazyk je symbolickým prejavom strojového jazyka. Mova assembler pre počítač typu skin má svoj vlastný. Program v jazyku symbolických inštancií je zbierka pamäťových blokov, nazývaných pamäťové segmenty. Kožený segment má nahradiť poradie jazyka, kožený segment si veľa kódu požičiava z programu. Návrhy assembleru sú dostupné v niekoľkých typoch: príkazy a inštrukcie, makrá, príkazy, riadky komentárov.

Platnými znakmi pri písaní textu programu sú všetky latinské písmená: A-Z,a-z. Vždy, keď sa veľké a malé písmená považujú za rovnocenné; čísla v 0 predtým 9 ; znamenia ? , @ , $ , _ , & ; maloobchodníkov , . () < > { } + / * % ! " " ? = # ^ .

Nastavte také typy operátorov assembleru a syntaktické pravidlá pre tvorbu jazykov symbolov. aritmetické operátory, operátory suvu, párovacie operátory, logické operátory, indexový operátor, operátor zmeny typu, operátor zmeny priradenia segmentu, operátor pomenovania typu štruktúry, operátor odčítania adresy skladu segmentov, operátor odčítania virazu.

Systém velenia je rozdelený do 8 hlavných skupín.

­ Kontrolná výživa:

1 Aký je môj jazyk assembleru?

2 Aké symboly možno skrútiť na písanie príkazov v assembleri?

3 Aké sú znaky tohto priznania?

4 Vysvetlite štruktúru príkazov assemblera.

5 Prepíšte 4 typy návrhov assemblera.