Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

AVR Assembler Symboly –jsou alfanumerickou reprezentací číselných nebo znakových konstant, adres apod. –symbol se může skládat z malých a velkých znaků.

Podobné prezentace


Prezentace na téma: "AVR Assembler Symboly –jsou alfanumerickou reprezentací číselných nebo znakových konstant, adres apod. –symbol se může skládat z malých a velkých znaků."— Transkript prezentace:

1 AVR Assembler Symboly –jsou alfanumerickou reprezentací číselných nebo znakových konstant, adres apod. –symbol se může skládat z malých a velkých znaků anglické abecedy (a-z, A-Z), číslic (0-9) a znaku podtržení (_) –symbol nesmí začínat číslicí –překladač nerozlišuje malá a velká písmena –některé symboly jsou vyhrazeny mnemokódy instrukcí (např. MOV) funkce asembleru (např. LOW) rezervované operandy (např. R0 až R31) Návěští –zvláštní případ symbolu –platí pro něj pravidla uvedená výše –návěští je ukončeno dvojtečkou (:) –používá se k označení určitého místa v programu a pro pojmenovávání proměnných

2 AVR Assembler Čísla –překladač podporuje čísla v soustavách se základy 2, 8, 10 a 16 –pro určení soustavy se používá předpony dvojkovému číslu předchází sekvence 0b (např. 0b ) osmičkovému číslu předchází tzv. vodící nula (např. 0123) desítkové hodnoty se zapisují běžným způsobem šestnáckovému číslu předchází dolar ($) nebo sekvence 0x (např. $FF nebo 0xFF) Řetězcové literály –znakové hodnoty se uzavírají mezi apostrofy (') –řetězcové literály se uzavírají mezi uvozovky (") Lokační čítač programového segmentu –hodnota lokačního čítače (aktuální pozice) pro programový segment je dostupná prostřednictvím symbolu PC

3 AVR Assembler – operátory !logická negace ||logický součet &&logický součin větší <=menší nebo rovno >=větší nebo rovno ==rovno !=nerovno +sčítání -odčítání nebo znaménko mínus *násobení /dělení ~bitová negace |bitový součet &bitový součin ^výlučný bitový součet <>posuv vpravo

4 AVR Assembler – funkce LOWvrátí první bajt výrazu HIGHvrátí druhý bajt výrazu BYTE2vrátí druhý bajt výrazu (jako HIGH) BYTE3vrátí třetí bajt výrazu BYTE4vrátí čtvrtý bajt výrazu LWRDvrátí bity 0 až 15 výrazu HWRDvrátí bity 16 až 31 výrazu PAGEvrátí bity 16 až 21 výrazu EXP2vrátí mocninu dvou LOG2vrátí celočíselnou část logaritmu při základu dva

5 AVR Assembler – direktivy.EQU – definice symbolu –slouží pro pojmenování literálu nebo pro zavedení nového jména pro stávající symbol –formát:.equ symbol=výraz.SET – nastavení hodnoty symbolu –podobný účel jako.EQU, rozdíl je v tom, že symbol zavedený pomocí.EQU nemůže měnit svou hodnotu –formát:.set symbol=výraz.DEF – definice symbolického jména registru –umožňuje zavádět pro registry nové symboly –jeden registr může mít více takových aliasů, symboly je možné redefinovat –formát:.def symbol=registr.CSEG /.DSEG /.ESEG – výběr segmentu –slouží k výběru jednoho ze tří paměťových prostorů.CSEG – programový segment (paměť programu).DSEG – datový segment (SRAM).ESEG – segment E 2 PROM –výchozím segmentem je.CSEG

6 AVR Assembler – direktivy.ORG – nastavení hodnoty lokačního čítače –výchozí hodnota lokačního čítače pro segmenty.CSEG a.ESEG je nula (0), pro.DSEG je $60 (přeskočí se registrové pole a V/V registry –formát:.org výraz.BYTE – vyhrazení prostoru v bajtech –slouží k vyhrazení prostoru v datovém segmentu (RAM) –formát: [návěští:].byte výraz –výraz udává počet bajtů, které chceme pro proměnnou vyhradit.DB – uložení konstanty do paměti programu –slouží k uložení konstanty (v rozměru bajtu) do FLASH nebo E 2 PROM –v případě programové paměti dochází k zarovnávání hodnot jednoho řádku na sudý počet bajtů –formát: [návěští:].db výraz[,výraz…].DW – uložení konstanty do paměti programu –slouží k uložení konstanty (v rozměru slova) do FLASH nebo E 2 PROM –formát: [návěští:].dw výraz[,výraz…]

7 AVR Assembler – direktivy.INCLUDE – vložení obsahu externího souboru –vloží na místo direktivy obsah jiného souboru –formát:.include „jméno_souboru".DEVICE – definice typu mikroprocesoru –určuje typ mikroprocesoru, pro který se provádí překlad –zajišťuje kontrolu rozsahu adres ve FLASH, RAM a E 2 PROM –zajišťuje kontrolu platné instrukční sady –formát:.device typ_mikroprocesoru.EXIT – uložení překladu –signalizuje konec zdrojového textu, předčasně ukončí překlad –formát:.exit.LIST – zapnutí generování výpisu –formát:.list.NOLIST – vypnutí generování výpisu –formát:.nolist.LISTMAC – zapnutí expanze maker ve výpisu –formát:.listmac

8 AVR Assembler – makra.MACRO – definice makra –uvozuje počátek makra, parametrem je jméno makra –je-li makro použito, dochází k jeho rozvinutí (expanzi) –makro může mít až 10 parametrů –na parametry se v těle makra odkazujeme přes –při použití makra se parametry odělují čárkami –formát:.macro jméno_makra.ENDMACRO – konec definice makra –formát:.endmacro Příklad makra.macro SUBI16 subi16 $1234,r16,r17

9 Definiční soubory C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes Pro každý typ mikroprocesoru AVR jeden definiční soubor, který obsahuje –určení typu mikroprocesoru – direktiva.device –definice V/V registrů –definice ukazatelových registrů –definice konců paměťových segmentů –definice vektorů přerušení Pro procesor ATmega8 se příslušný definiční soubor jmenuje m8def.inc


Stáhnout ppt "AVR Assembler Symboly –jsou alfanumerickou reprezentací číselných nebo znakových konstant, adres apod. –symbol se může skládat z malých a velkých znaků."

Podobné prezentace


Reklamy Google