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

Slides:



Advertisements
Podobné prezentace
Základy ukládání dat v počítači
Advertisements

Digitální učební materiál
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Algoritmy – struktura a zápis
Textový procesor Open Office, Writer STAVOVÝ ŘÁDEK
Algoritmizace Vývojové diagramy.
Otázky k absolutoriu HW 1 - 5
Principy překladačů Mezikód Jakub Yaghob.
Algoritmizace 9. Ročník.
Program Programátorský model procesoru Instrukční soubor
Algoritmizace a programování
Seminář – Základy programování
Algoritmizace.
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Tabulkový procesor.
Algoritmizace a základy programování
Základy algoritmizace a programování
AVR Assembler Symboly Návěští
ALGORITMIZACE (c) Tralvex Yeap. All Rights Reserved.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Paměťové obvody a vývoj mikroprocesoru
Informatika / programování
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_17.
Tato prezentace byla vytvořena
Obchodní akademie, Náchod, Denisovo nábřeží 673
ALGORITMIZACE A PROGRAMOVÁNÍ
TEP Přerušení č.7. Přerušení Téma Přerušení TEP Předmět TEP Juránek Leoš Ing. Autor Juránek Leoš Ing. TEP.
MATICE ODPOVĚDNOSTI Matice odpovědnosti představuje jasné a konkrétní vymezení kompetencí osob z týmu za konkrétní projektové činnosti (úkoly), např. koordinaci.
Algoritmizace a programování Algoritmizace – základní pojmy - 01
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
doc. RNDr. Zdeněk Botek, CSc.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Ovládací jednotka zkušební stanice NC108
Algoritmy – jejich tvorba Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je ing. Jaroslav.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorIng. Ivana Brhelová Název šablonyIII/2.
doc. RNDr. Zdeněk Botek, CSc.
Mikroprocesor.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Instrukce procesoru.
Algoritmizace. Co je to algoritmizace? Algoritmizace je postup při tvorbě programu pro počítač, kterým lze prostřednictvím algoritmu řešit nějaký problém.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Blokové schéma počítače.
Algoritmizace a programování Algoritmy 2 – Vývojové diagramy (sekvence)
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Interkomunikační adresní systém.
Programování mikropočítačů Práce s PLC Foxtrot. PLC Foxtrot na učebně Pří PLC Foxtrot Tlačítkové panely pro ovládání digitálních vstupů Sedmisegmentovka.
Číslo projektuCZ.1.07/1.5.00/ Kódování materiáluvy_32_INOVACE_inf3_prg10 Označení materiáluprg10_vyvoj_diagram.pptx Název školyGymnázium Kladno.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Základy programování mikropočítačů
Programování mikropočítačů Platforma Arduino
Výukový materiál zpracován v rámci projektu
Aritmetickologická jednotka
Inicializace portů mikrokontroléru
Výukový materiál zpracován v rámci projektu
Jednočipové počítače – instrukční sada
1. ročník oboru Mechanik opravář motorových vozidel
Název projektu: Moderní výuka s využitím ICT
Výukový materiál zpracován v rámci projektu
Mikropočítač Soubor instrukcí
Programování mikropočítačů
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Vytváření dokumentace algoritmů
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Transkript prezentace:

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

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)

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

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

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:

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.

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.

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

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

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ší“

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

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

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

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)

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

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.

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

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

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).

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