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

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

Základy programování mikropočítačů První program v jazyce symbolických adres.

Podobné prezentace


Prezentace na téma: "Základy programování mikropočítačů První program v jazyce symbolických adres."— Transkript prezentace:

1 Základy programování mikropočítačů První program v jazyce symbolických adres

2 Základní pojmy a principy Procesor: logický automat pro zpracování instrukcí (centrální jednotka počítače / mikropočítače). Instrukce: specifikace jednoduché akce, kterou má a umí provést procesor. Program: posloupnost instrukcí které říkají procesoru co má dělat. Programování: zápis programu (v nějakém programovacím jazyce)

3 Vývojové diagramy Algoritmus: je přesný návod či postup, kterým lze vyřešit daný typ úlohy. Vývojový diagram: grafické znázornění algoritmu START Vstup: a,b a>b y=a-by=a+b KONEC anone

4 Základní značky pro tvorbu vývojového diagramu A = B + (ANO)- (NE) Postup (např. matematický výpočet) Rozhodování (podmíněné větvení programu) Mezní značka (například začátek/konec podprogramu) Spojnice (představuje postup provádění algoritmu) A 123 Vstup a výstup dat Ruční vstup dat (například z klávesnice) Zobrazení (například displej) Spojka (představuje přechod z jedné části vývojového diagramu do jiné) default

5 Jazyk symbolických adres (assembler) Programovací jazyk: prostředek pro zápis algoritmů, které mohou být provedeny na počítači. Strojový kód: je posloupnost instrukcí procesoru vyjádřená čísly. Assembler: programovací jazyk blízký strojovému kódu, též se nazývá jazyk symbolických adres. Název assembler se používá i pro překladač, který tento jazyk překládá do strojového kódu. NÁVĚŠTÍINSTRUKCEOPERANDKOMENTÁŘ VYPOCETLDA#4; načti do registru A hodnotu 4 ADDCISLO2; pričti k registru A obsah paměťové buňky CISLO2 RTS Struktura programového řádku v jazyce symbolických adres:

6 Registry CPU mikropočítače HCS08 Registr:je velmi malá ale velmi rychlá paměť nacházející se v mikroprocesoru. Registry slouží zejména k dočasnému uložení operandů, se kterými se v procesoru provádějí například aritmetické a logické operace.

7 Program 1: Součet čísel Úkol: sečíst 2 čísla uložená v paměti mikropočítače a výsledek uložit do paměti. Instrukce pro součet: ADD = sečte obsah registru A a paměťové buňky (M), výsledek vloží do A. ADD: A <- (A) + (M) Z toho plyne: musíme nahrát číslo 1 do registru A, sečíst s druhým číslem a výsledek z registru A uložit do paměti.

8 Program 1: Součet čísel Vývojový diagram a použité instrukce: LDA cislo1 ADD cislo2 STA vysledek Načíst číslo 1 do reg. A Přičíst k A číslo 2 Uložit výsledek do paměti Začátek Konec

9 Program 1: použité instrukce LDA – nahraje číslo uložené v paměti do registru A A <- (M) ADD – sečte obsah A s paměťovou buňkou A <- A + (M) STA – uloží obsah A do paměti M <- (A) MOV – přesun M cíl <- M zdroj Direktiva: RMB – rezervuje N bajtů paměti

10 Program 1: součet čísel Zadání jména a umístění projektu 1.Výběr programovacího jazyka 2.Volba jména projektu a jeho umístění 3.Nastavení potvrdíme kliknutím na „Další“

11 Výběr příslušného typu mikropočítače a připojení Program 1: součet čísel 1.Výběr cílového mikropočítače 2.Výběr připojení mikropočítače 3.Kliknutím na „Dokončit“ ukončíme průvodce

12 CodeWarrior automaticky vygeneroval kostru aplikace: Program 1: součet čísel

13 Program 1: program v jazyce symbolických adres 1rmbvysledek 1rmbcislo2 1rmbcislo1 vysledeksta add cislo1 cislo2 lda mov #2,cislo1 #5,cislo2 mov

14 Program 1: překlad a spuštění (ladění) programu Přeložit program Spustit a ladit program v simulátoru 1.Kompilace: překlad algoritmu zapsaného v programovacím jazyce do strojového kódu. 2.Spustit a ladit program: zavedení programu do cílového mikropočítače (nebo simulátoru) a jeho následné spuštění Sestavení (Make) Ladění (Debug)

15 Program 1: běh programu Tlačítka pro krokování programu Zdrojový kód Proměnné Kód v paměti Registry procesoru Obsah paměti

16 Po inicializaci proměnných cislo1 a cislo2 Program 1: běh programu Tlačítkem „1 krok“ (single step) provádíme program po jednotlivých řádcích MOV přesune přímý operand do proměnné V okně Data vidíme obsah proměnných cislo1, cislo2 a vysledek.

17 Program 1: součet proveden Po provedení součtu a uložení výsledku pokračuje nekonečnou smyčkou obsluhující watchdog V proměnné vysledek je součet obou čísel Zavřením okna simulátoru se vrátíme do prostředí CodeWarrior

18 Rozbor kódu programu Direktiva RMB slouží k rezervování místa v paměti (definici proměnných) Jméno RMB [Počet Byte] cislo1rmb1 cislo2rmb1 vysledekrmb1 mov#2,cislo1 mov#5,cislo2 ldacislo1 addcislo2 stavysledek Definuje 3 proměnné každou o velikosti 1B.Přesune číslo 2 do proměnné cislo1 a číslo 5 do proměnné cislo2. Do registru A načte obsah proměnné cislo1Sečte registr A a obsah proměnné cislo2 Uloží obsah registru A do proměnné vysledek

19 Doplňující informace SECTION: direktiva definující tzv. sekci kódu, tj. část kódu umístěnou v souvislém úseku paměti mikropočítače (od určité adresy). INCLUDE: direktiva vkládající na dané místo obsah jiného souboru (nejčastěji s definicemi symbolů apod.). XDEF: direktiva označující symbol, na který je možno se odkazovat z jiných modulů (a definované v aktuálním souboru). XREF: direktiva označující symbol, který je definován v jiném modulu ale používá se i v aktuálním souboru).

20 Konec Úspěšně jste napsali, přeložili a spustili první program pro HCS08! Definice a vysvětlení základních pojmů viz např.:


Stáhnout ppt "Základy programování mikropočítačů První program v jazyce symbolických adres."

Podobné prezentace


Reklamy Google