Assembler - 1. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Assembler - 1. lekceAssembler - 1. lekce

 

Assembler - 1. lekce

Google       Google       11. 7. 2005       54 127×

  • Převody binárního (dvojkového), hexadecimálního (šestnáctkového) a dekadického (desítkového) čísla
  • Úvod do mikroprocesoru
  • Přesuny dat
  • Tabulka instrukcí
  • Pseudoinstrukce

Převody binárního, hexadecimálního a dekadického čísla.

Stroje většinou pracují ve dvojkové soustavě, ta nabývá hodnot logická 0 a 1. Log. 0 si můžeme představit jako stav „vypnuto“, může se také označovat jako L - Low (nízký). Opačný stav log. 1 se jeví jako stav „zapnuto“, ten se označuje jako H – High (vysoký).

V programování budeme často používat převody těchto soustav ať už pro jejich přehlednost, zavedenost, nebo kompaktnost.

Tedy převod binární do dekadické soustavy se převádí pomocí Hornerova schématu:

10112 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 = 8 + 0 + 2 + 1 =1110


V opačném převodu se desítková hodnota dělí dvojkou, dokud výsledek nebude nula, binární číslo se čte pozpátku ze zbytku po dělení. :

56 : 2 = 28 → 28 : 2 = 14 → 14 : 2 = 7 → 7 : 2 = 3 → 3 : 2 = 1 → 1 : 2 = 0
zbytky : 0 0 0 1 1 1
Tedy : 56D = 111000B

Dobře se převádí binární číslo na hexadecimální a to takto, že binární hodnotu rozdělíme po čtyři číslice zprava a každé tyto úseky převedeme do desítkové soustavy, s tím že u hexa čísla nepokračuje po devítce desítka ale písmeno „A“ a tedy maximální hodnota je „F“. :

101101010011B → 1011 0101 0011 → 11 5 3 → B53H


Úvod do mikroprocesoru.

Příklad : mikroprocesor AT89S8252 (intel)
Procesor je tvořen aritmetickou jednotkou (sčítačka) a řadičem, který čte instrukce a podle nich vykoná povely (určuje co se bude počítat), počítá se ve střádači (akumulátor) – tam je operand a po výkonu tam bude výsledek.
Mikroprocesor má 4 vstupně výstupní porty po osmi bitech, což znamená že můžeme využít 16 vstupů / výstupů. Má vlastní FLASH paměť RAM (8KB) a ROM (2KB) – do které budeme zapisovat program.
Programátorský model procesoru
- Obsahuje všechny registry a paměťové prostory, které se dají programátorem ovlivnit.
- Paměť se adresuje od adresy 0 – 127, každá část má svou adresu a přiřazené jméno (pro program).


Přesuny dat.

Pro přesuny se stabilně používá příkaz MOV, přičemž se mění co se přesouvá a kam. Pozor! Používám slovo přesouvá, ale v tom smyslu, že se jedná o kopírování, nikoliv vyjmout a vložit.
Ovšem, nemůžeme využít téměř všechny kombinace s tímto příkazem, proto jsem ze studijních materiálů přepsal příkazy které kompilátor příjme.
Ke stažení : PŘEHLED PŘÍKAZŮ

Přímá adresace :

Obecné schéma : MOV (kam), (odkud, nebo #co)

Příklad chceme li nastavit reg. R3 na 10 dekadických : MOV R3, #10
# - hash se používá pro přímá data
Pokud za hodnotu napíšeme H – pro kompilátor to znamená, že jsme zadali hodnotu hexadecimálně : MOV R3, #0AH
Pro binární číslo se pak doplňuje přípona B : MOV R3, #1010B

Nepřímá adresace :

Obecné schéma : MOV @Rr, (odkud, nebo #co) r = 0-1

Existují dva speciální registry (R0 a R1), se kterými se toto dá provádět.
Jde o to, že cílem není R0, nebo R1 na který je přesun směrován, nýbrž na adresu v paměti, na kterou je nastavený příslušný registr.

Pro příklad :
MOV R0, #26H
MOV @R0, #15
- hodnota 15 D se přesune na místo v paměti (26H)
- je to totožné jako by jsme použili : MOV 26H, #15
Zdá se to složité, když se to dá udělat jednodušeji, ovšem v příštích dílech si ukážeme, že to je velmi užitečná instrukce.


Pseudoinstrukce :

Pseudoinstrukcí můžeme celý program zpřehlednit. Jde o to dát nějaké proměnné jméno.
- nesmí začínat číslem
- kompilátory nepovolují diakritiku
- maximální délka je 8 znaků
- používá se u místa v paměti nebo portu

Datová : příkaz – EQU

Příklad : ZAK1 EQU 21H
Nyní můžeme použít místo 21H pseudoinstrukci : MOV ZAK1, #15

Bitová : příkaz – BIT

Příklad : LED1 BIT P1.0 (port 1, nultý bit)
Ovšem pro přesun hodnoty na jednobitové místo se nedá použít příkaz MOV, nýbrž SETB a CLR.
Tedy příklad : SETB LED1 (P1.0 je v jedničce)
Nebo : CLR LED1 (P1.0 je v nule)


DÚ :
Do paměti vepište na adresu 28H hexa číslo B5 v binárním kódu. Nepřímou adresací přesunete z tohoto místa (28H) na adresu v paměti, která se bude jmenovat DATA1 (je jedno kde). A z DATA1 přesunete přímou adresací na port P0. Úkol odevzdávejte jako prostý text, programové vybavení využijeme až v druhé lekci.
Přeji hodně zdaru :-)

Slovo závěrem : Pokud nechápete, na co to vlastně děláte, tak to je normální, měli jste to pochopit z minulé lekce, ale to nevadí, postupně budete chápat :o)




×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Tagy:
Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Assembleru, zajímá se o elektroniku a tunning PC.

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý