Manuál k programu Sim51.


Obsah tém. 

  1. Úvod
  2. VLASTNOSTI A ZÁKLADNÍ FUNKCE SIMULÁTORU SIM51
  3. IMPLEMENTACE PROGRAMU SIM51
  4. OVLÁDÁNÍ PROGRAMU SIM51
    1. Symbolika a pojmy
    2. Systém nabídek MENU
    3. Zadávání textových parametrů v příkazech
    4. Zadávání číselných parametrů v příkazech
    5. Spuštění programu SIM51
    6. Systém pomocných textů
    7. Pracovní soubory programu SIM51
    8. Funkční klávesy
    9. Příklad použití programu SIM51
  5. PŘÍKAZY PROGRAMU SIM51
    1. Otevření výpisu (příkaz VIEW)
      1. Výpis programové paměti
      2. Výpis vnitřní datové paměti
      3. Výpis vnější datové paměti
      4. Výpis funkčních registrů
      5. Výpis obsahu nepřímo adresovaných slabik paměti
      6. Výpis aktuální sady registrů
      7. Výpis bitových proměnných
      8. Výpis programu symbolicky
      9. Výpis obsahu vrcholu zásobníku
      10. Výpis obsahu trasovací paměti
      11. Výpis zadaných bodů zastavení
      12. Výpis textového souboru
      13. Výpis tabulky symbolů
      14. Výpis údajů o běhu programu
      15. Výpis protokolu na sériovém kanálu
    2. Editace výpisů (příkaz EDIT)
      1. Prohlížení a změna obsahu paměti
      2. Prohlížení a změna obsahu registrů a SFR
      3. Prohlížení a změna obsahu bitových proměnných
      4. Prohlížení a provádění změn simulovaného programu
      5. Prohlížení obsahu vrcholu zásobníku
      6. Prohlížení obsahu trasovací paměti
      7. Prohlížení a rušení zadaných bodů zastavení
      8. Prohlížení textového souboru
      9. Prohlížení tabulky symbolů
      10. Prohlížení údajů o běhu programu
      11. Prohlížení informací přenesených sériovým kanálem
    3. Práce s okny výpisu (příkaz WINDOW)
      1. Nastavení aktuálního okna
      2. Přechod k následujícímu oknu
      3. Vymazání aktuálního okna (DELETE)
      4. Změna hlavičky aktuálního okna
      5. Změna velikosti a umístění aktuálního okna
      6. Čtení rozložení výpisů ze souboru
      7. Uložení rozložení výpisů do souboru (SAVE)
    4. Práce se soubory (příkaz FILE)
      1. Čtení simulovaného programu ze souboru
      2. Zápis simulovaného programu do souboru
      3. Volání operačního systému
      4. Výpis systémových informací
      5. Změna aktuálního adresáře
      6. Odchod do operačního systému
    5. Simulace vstupních linek (příkaz PULSE)
      1. Zapojení vývodů
      2. Nastavení impulsních generátorů
      3. Čítač průchodu programu adresou
      4. Měření doby běhu oblastí programu
      5. Měření celkové doby běhu programu
    6. Počáteční nastavení procesoru 8051 (příkaz RESET)
    7. Spuštění uživatelského programu(příkaz GO)
      1. Zpracování programu s body zastavení
      2. Zpracování programu bez bodů zastavení
      3. Zpracování programu s podmínkou
      4. Krokový režim
      5. Rychlé krokování
      6. Spuštění programu do adresy
      7. Zadání spouštěcí adresy
    8. Body zastavení (příkaz BREAK)
      1. Zadání jednotlivého bodu zastavení
      2. Zadání oblasti bodů zastavení
      3. Zadání spouštěcí podmínky bodů zastavení ARM
      4. Zrušení zadaných bodů zastavení
    9. Podmínky pro zastaveni (příkaz CONDITIONAL)
      1. Podmínka na změnu obsahu paměti
      2. Podmínka na dosažení hodnoty obsahu paměti
      3. Podmínka na provedení zvolené instrukce
    10. Podmínky pro trasování (příkaz TRACE)
      1. Způsob trasování "Trace ALL"
      2. Způsob trasování "Trace USER"
      3. Zadání jednotlivé trasovací adresy
      4. Zadání oblasti trasování
      5. Zrušení zadaných trasovacích bodů
    11. Volitelné parametry (příkaz OPTION)
      1. Povolení výpisu hlášení
      2. Povolení zápisu do souboru OLD
      3. Povolení práce se symboly
      4. Rozlišovaná délka symbolů
      5. Potlačení zobrazování SFR v tabulce symbolů
      6. Třídění symbolů ve výpisu tabulky symbolů
      7. Volba tvaru zápisu programu do souboru
      8. Hranice pro čtení/zápis programu z/do souboru
      9. Velikost paměti programu
      10. Velikost vnější paměti dat
      11. Nastavení jasu pro monochromatický displej
      12. Nastavení barev pro barevný displej
      13. Nastavení barev uživatelem
      14. Zobrazení instrukcí typu JMP a CALL
      15. Zobrazení nepřímo adresovaných slabik paměti
      16. Způsob simulace sériového vstupu
      17. Způsob simulace sériového výstupu
      18. Čtení volitelných parametrů ze souboru
      19. Zápis volitelných parametrů do souboru
  6. PŘEHLED ZPRÁV, ZPŮSOBY OŠETŘENÍ CHYBOVÝCH STAVŮ
  7. A 7
  8. Nové pojmy
  9. Zdroje informácií
 

Úvod

    Vývojovým pracovníkům v oblasti aplikací mikropočítačů se dostává do rukou komfortní vývojový prostředek pro vývoj programů do aplikací s jednočipovými mikropočítači řady 8051, programový simulátor mikropočítače 8051 ... program SIM51.

    Tento text je uživatelskou dokumentací programu SIM51 a poskytuje veškeré informace nezbytné k obsluze a k efektivnímu využití programu SIM51.

    Kapitola 2 popisuje základní vlastnosti a funkce simulátoru.

    Kapitola 3 udává podmínky instalace programu SIM51 na osobních počítačích třídy PC XT/AT.

    Kapitola 4 seznamuje se způsobem ovládání simulátoru, s možnostmi zadávání textových a číselných parametrů v příkazech, s funkčními klávesami apod.

    Kapitola 5 uvádí úplný popis příkazů programu SIM51. Uspořádání příkazů v popisu odpovídá pořadí jejich použití při zahájení práce se simulátorem. Předpokládáme, že příručka bude sloužit hlavně jako učebnice. Vzhledem k jednoduchému způsobu ovládání simulátoru a možnosti využití jeho nápovědných a informačních textů, bude příručka nejvíce využita pouze ve fázi seznamování uživatele s programem SIM51. Pro případ dodatčeného vyhledávání příkazu podle jeho názvu je v příloze "Stručný přehled příkazů programu SIM51" uveden u jednotlivých příkazů odkaz na odstavec této příručky, ve kterém je hledaný příkaz popisován.

    Kapitola 6 uvádí přehled chybových zpráv simulátoru a postupy vedoucí k ošetření příslušných chybových stavů.

    Přílohy tvoří: 

Návrat na začiatok

2. VLASTNOSTI A ZÁKLADNÍ FUNKCE SIMULÁTORU SIM51

Program SIM51 je programovým simulátorem jednočipového mikropočítače 8051.

Model mikropočítače simuluje všechny funkční bloky obvodu 8051: CPU včetně přerušovací logiky, speciální funkční registry (SFR) včetně sériového kanálu, interní datovou paměť, programovou paměť a externí datovou paměť. Součástí modelu je i komfortní simulace vstupních a výstupních linek obvodu 8051.

Ovládání programu SIM51 je interaktivní a velmi pohodlné. Provádí se pomocí nabídek MENU, které jsou doplněny řadou nápovědných a pomocných textů. Nejčastěji používané příkazy lze vyvolat pomocí funkčních kláves.

Výpisy simulátoru jsou členěny do tří částí: volba příkazu (menu), uživatelská oblast výpisu a nápověda. Uživatel může pomocí příkazů otevírat na obrazovce výpisy obsahu pamětí, stavu registrů mikropočítače a dalších údajů, měnit velikost a polohu výpisů a vytvořit si tak svůj tvar výstupního protokolu simulátoru. Typický tvar protokolu ukazuje obr. 2.1.

Obr. 2.1.

Pro vývoj programů v kódu mikropočítače 8051 poskytuje simulátor SIM51 tyto základní služby:

Blokovou strukturu programu SIM51 ukazuje obr. 2.2. 

Hlavní funkční bloky provádějí tyto činnosti:

Návrat na začiatok

3. IMPLEMENTACE PROGRAMU SIM51

Program SIM51 je implementován na osobních počítačích třídy IBM PC XT/AT a s nimi kompatibilních pod operačním systémem MS DOS. Ke své činnosti vyžaduje osazení min. 512 KByte operační paměti. Zobrazování provádí v textovém režimu na displejích CGA/EGA/VGA nebo Hercules.

Požadavky:

počítač  PC XT/AT 
  paměť  min. 512kB
  displej  CGA, EGA, VGA nebo Hercules 
  pevný disk  není nutný 
Návrat na začiatok

4. OVLÁDÁNÍ PROGRAMU SIM51

4.1 Symbolika a pojmy

V textu jsou použity následující symboly:

V popisu příkazů jsou používány pojmy:

4.2 Systém nabídek MENU

Po spuštění simulátoru se na nejvyšší řádce obrazovky objeví nabídka příkazů. V ní může uživatel pomocí šipek vybrat a následným stiskem klávesy <Enter> provést žádaný příkaz. Provedení příkazu lze vyvolat i stiskem počátečního písmene příkazu. Pokud se jedná o příkaz, který je dále členěn, objeví se nižší úroveň nabídky, ve které uživatel může opět pomocí šipek a klávesy <Enter> nebo počátečních písmen příkazů vybrat a provést potřebný příkaz.

U některých příkazů se zadávají parametry. Po zvolení takového příkazu se objeví rámeček, který v hlavičce uvádí význam parametru, a systém MENU očekává vstup parametru ukončený znakem <Enter>. Příklad je uveden na obr. 4.2.1.

Obr. 4.2.1.

Dalším typem příkazu je přepínač tvořený názvem a argumentem. Provedením příkazu tohoto typu se přechází na další typ argumentu.

Nejčastěji používané příkazy je možno vyvolat funkčními klávesami, které ukončí minulý příkaz a provedou přikaz nový.

Při zadávání příkazů lze využít v případě potřeby i kontextovou nápovědu k danému tématu, která ze zobrazí po stisku klávesy <F1> (viz Systém pomocných textů, kap. 4.6).

V příkazech pro práci se soubory se používá nabídka souborů. Je to však pouze v případě, že parametr udávající jméno souboru není zadán nebo obsahuje hvězdičkovou konvenci. Nabídku (příklad je na obr. 4.2.2) tvoří výpis obsahu zvoleného adresáře.

Obr. 4.2.2

K výběru souboru slouží povely:

4.3 Zadávání textových parametrů v příkazech

Textové parametry se v příkazech simulátoru používají pro:

Řádkový editor má tyto povely: 

<Ins> přepínání režimu (vkládání/přepis) 
<Del> mazání znaku na pozici kurzoru
<Backspace> mazání znaku vlevo před kurzorem
<vlevo> posun kurzoru o znak doleva 
<vpravo> posun kurzoru o znak doprava
<Ctrl X> smazání celého textu
<End> posun kurzoru na konec textu
<Home>  posun kurzoru na začátek textu
<Ctrl vlevo> posun kurzoru o slovo doleva
<Ctrl vpravo> posun kurzoru o slovo doprava
<Ctrl Home> smazání textu od začátku do kurzoru
<Ctrl End> smazání textu od kurzoru do konce

U některých příkazů se zadávají argumenty. Po zvolení příkazu se objeví rámeček, který má v hlavičce nápovědu k parametru. Uvnitř rámečku je stará hodnota, která se může potvrdit nebo editací změnit.

Pokud stará zobrazená hodnota nebo text vyhovuje, potvrdí se stiskem klávesou <Enter>.

V případě, že chceme zadat novou hodnotu nebo text, musíme jako první klávesu stlačit znakovou nebo číselnou klávesu; starý argument zmizí a můžeme zadat nový. Chceme-li starý argument editovat, pak musíme jako první stlačit editační klávesu. Editace probíhá ve dvou režimech: vkládání nebo přepisování. Tyto režimy se odlišují tvarem kurzoru, při vkládání je kurzor malý čtvereček a při přepisu podtržítko. Při začátku editace je zapnut režim vkládání. Režimy se přepínají klávesou <Ins>.

4.4 Zadávání číselných parametrů v příkazech

Číselné parametry v příkazech simulátoru jsou vyhodnocovány podle konvencí výrazu assembleru ASM51.

Výrazy mohou obsahovat jako operandy číselné konstanty, znakové konstanty, symbolické odkazy a čítač adres simulátoru.

Č í s e l n é   k o n s t a n t y

je možné zapisovat v následujících číselných soustavách. Soustava je zadána pomocí identifikátoru na konci čísla.

SOUSTAVA  IDENTIFIKÁTOR
dvojková B
osmičková O nebo Q
desítková D (implicitní) 
šestnáctková  H

V konstantách lze použít pouze číslice přípustné v daných soustavách, šestnáctková čísla musí začínat číslicí (0 až 9). Číselná konstanta nezakončená jedním z vyše uvedených identifikátorů se považuje za desítkovou.

Z n a k o v é   k o n s t a n t y

se zapisují jako posloupnosti ASCII znaků uzavřené mezi apostrofy.

S y m b o l i c k é   o d k a z y

je možno použít pouze jsou-li obsaženy v tabulce symbolů programu SIM51. Symboly se do tabulky zařadí načtením simulovaného programu nebo použitím direktiv EQU a SET řádkového překladače (podrobněji viz příkaz Edit Assembly, kap.5.2.4 ).

Symbolická jména mohou mít až 32 znaků, kterými mohou být: znak ?, znak _, písmena A ... Z nebo číslice 0 ... 9. Jméno musí začínat písmenem nebo otazníkem.

Č í t a č   a d r e s

simulovaného obvodu 8051, resp. jeho aktualní hodnota se ve výrazu označuje symbolem PC.

A r i t m e t i c k é   o p e r á t o r y

Jednotlivé výše uvedené operandy je možno kombinovat pomocí běžných operátorů s prioritou uvedenou v následujícím přehledu:

  1.  závorkové výrazy (nejvyšší priorita), 
  2.  HIGHLOW
  3.  /*modshrshl
  4.  +,
  5.  EQ, NELT GTGE <> < ><=>=
  6. not
  7. and
  8. orxor (nejnižší priorita).

Při zadávání výrazu je třeba mít na zřeteli, že výrazy se vyhodnocují jako šestnáctibitové !

 

4.5 Spuštění programu SIM51

Simulátor se spoustí příkazem operačního systému:


           SIM51 [<file_name>]

, kde <file_name> je nepovinný parametr udávající jméno programu, který má být simulován.

Po spuštění hledá SIM51 v aktuálním adresáři soubor SIM51.OLD. Pokud jej najde, použije jeho obsah k obnovení posledního stavu výpisů View, volitelných parametrů Option, nastavených bodů zastavení a oblastí trasování a není-li zadán parametr <file name>, i k načtení posledního simulovaného programu (vytvoření souboru SIM51.OLD viz příkaz Option Old, kap. 5.11.2).

V případě, že soubor SIM51.OLD nebyl nalezen, hledá SIM51 soubor SIM51.WIN. Nejprve v aktuálním adresáři, a dále v adresáři, ze kterého byl SIM51 spuštěn. Existuje-li soubor SIM51.WIN, udává rozložení výpisů View. Jinak vypíše SIM51 pouze hlavičku a při spuštění žádné výpisy neotevře. Dále hledá SIM51 soubor SIM51.OPT a to opět nejprve v aktuálním adresáři, popř. ještě v adresáři, ze kterého byl SIM51 spuštěn. Pokud je soubor nalezen, nastaví se jeho obsahem volitelné parametry simulátoru (volitelné parametry viz příkaz Option, kap. 5.11), jinak jsou parametry nastaveny implicitně.

Pokud nebyl nalezen soubor SIM51.OLD a parametr <file name> zadán není, nebo <file name> obsahuje specifikaci jména souboru s hvězdičkovou konvencí, použije se <file name> pro výpis nabídky souborů. Nabídka slouží k výběru souboru, ze kterého se načte simulovaný program z disku.

 

4.6 Systém pomocných textů

Součástí programu SIM51 je i systém pomocných textů (Pomoc), které poskytují uživateli informace:

Vysvětlující pomocný text k danému tématu se dá vyvolat kdykoliv klávesou <F1>. Dvojnásobné stisknutí <F1> vyvolá výpis přehledu kapitol pomocných textů. Jakmile je na obrazovce pomocný text, můžete v něm "listovat" pomocí kláves <nahoru> a <dolu>, šipkami <vlevo> a <vpravo> přecházet mezi nabízenými hesly-odkazy pomoci (zvýrazněný text) a stiskem klávesy <Enter> přejít k vybranému heslu. Návrat k předchozímu vypsanému heslu se provede klávesou <Shift F1>. Stiskem <Esc> se pomoc ukončí.

Přehled povelů pro práci s pomocnými texty:

<F1> pomocný text k danému tématu,
<F1><F1> nabídka veškerých pomocných textů,
<vlevo>,<vpravo> výběr hesla pomoci,
<nahoru><dolu> listování textem,
<PgDn> / <PgUp>  následující / předchozí stránka,
<Enter> výpis vybraného hesla pomoci,
<Alt F1> předchozí vypsané heslo,
<Esc>  ukončení pomoci.

 

4.7 Pracovní soubory programu SIM51

Simulátor SIM51 používá při své činnosti čtyři druhy pracovních souborů:

Soubor SIM51.OLD obsahuje poslední stav výpisů View, nastavení volitelných parametrů Option a jméno posledního zpracovávaného simulovaného programu (vytvoření souboru SIM51.OLD viz příkaz Option Old, kap. 5.11.2).

Soubor file.WIN obsahuje uživatelské rozložení výpisů View (vytvoření a načtení souboru viz příkaz Window, kap. 5.3). Implicitní jméno je SIM51.WIN.

Soubor file.OPT obsahuje nastavení volitelných parametrů simulátoru (volitelné parametry a vytvoření resp. načtení souboru viz příkaz Option, kap. 5.11). Implicitní jméno je SIM51.OPT.

Soubor SIM51.HLP je datový soubor pro systém pomocných textů.

Soubor SIM51.TMP používá simulátor k dočasnému uložení pracovních informací na disk. Soubor vzniká a zaniká zcela automaticky.

Způsob použití implicitních pracovních souborů je uveden v kap. 4.5 Spuštění programu SIM51.

Pozn.: Datový soubor SIM51.HLP a implicitní soubory SIM51.WIN, SIM51.OPT jsou dodávány spolu s programem SIM51.

 

4.8 Funkční klávesy

Pro rychlé vyvolání nejčastěji používaných příkazů jsou určeny funkční klávesy:

  <F1> volání nápovědy
  <F2> krokování simulovaného programu
  <F3> krokování simulovaného programu bez podprogramů
  <F4> spuštění simulovaného programu s body zastavení
  <F5> zadávání bodu zastavení
  <F6> přechod na editaci dalšího výpisu
  <F7> změna velikosti nebo polohy aktuálního výpisu
  <F8> vymazání aktuálního výpisu

a kombinace kláves <Alt znak>:

  <Alt číslo> editace výpisu číslo (0 až 9)
  <Alt X> ukončení práce se SIM51
  <Alt G> příkaz GO
  <Alt B> příkaz BREAK
  <Alt C> příkaz CONDITIONAL
  <Alt T> příkaz TRACE
  <Alt E> příkaz EDIT
  <Alt V> příkaz VIEW
  <Alt W> příkaz WINDOW
  <Alt R> příkaz RESET
  <Alt F> příkaz FILE
  <Alt P> příkaz PULSE
  <Alt O> příkaz OPTION

                       

4.9 Příklad použití programu SIM51

Zadávání příkazů se provádí pomocí nabídek MENU. V nabídce lze vybrat zvolenou variantu příkazu buď pomocí šipek pro posun kurzoru a potvrzením výběru klávesou <Enter> nebo stiskem prvního (resp. zvýrazněného) znaku zvolené alternativy. Pokud chceme zadat příkaz ze základní příkazové nabídky a jsme v režimu editace výpisu (viz dále) je výhodné stisknout klávesu Alt<znak>.

  1. Vytvořme nejprve rozložení výpisů na obrazovce podle požadavku obsluhy. Po spuštění programu SIM 51 se objeví výpis hlavičky a po ní základní nabídka příkazů v nejvyšší řádce obrazovky s doprovodnou nápovědou v řádce poslední. Pokud byl nalezen implicitní soubor s počátečním rozložením výpisů, budou tyto výpisy otevřeny již při spuštění simulátoru, pokud ne, musí si obsluha vytvořit rozložení výpisů sama. 
  2. Stiskem klávesy <v> vyvolá nabídku systému VIEW pro otevření výpisu. 
  3. Dalším stiskem klávesy <a> otevře výpis obsahu programové paměti v mnemotechnickém tvaru. Všechna okna výpisu mají implicitně stanoven rozměr a umístění na obrazovce. Obsluha pak může jak rozměr tak polohu výpisu změnit. 
  4. Opětovným stiskem <v> se vyvolá znovu nabídka systému VIEW. 
  5. Klávesou <i> se volí otevření výpisu interní datové paměti. V tomto případě následuje zadání parametru - počáteční adresy zobrazované oblasti paměti (tou může být výraz včetně symbolů). Pokud budeme pokračovat tímto způsobem dále, vytvoříme si vlastní rozložení výpisů.

Jednou vytvořené rozložení výpisů lze zapsat do souboru a poté podle potřeby velmi snadno obnovit. Lze jej také využít jako implicitní formát zobrazení při spouštění simulátoru (zápisem do souboru SIM51.WIN).

Takto uspořádané výpisy slouží především k zobrazení stavu simulovaného programu při jeho zastavení na bodu zastavení nebo na pokyn obsluhy. Všechny typy výpisů lze otevřít současně několikrát, např. u externí datové paměti nad různými oblastmi.

Číslo uvedené v levém horním rohu okna výpisu udává pořadové číslo výpisu. S jeho pomocí je možné výpis vybrat jako aktuální pro editaci, zadáním příkazů w-indow a-ctual <číslo> a e-dit nebo pouze stiskem klávesy <Alt 0> .. <Alt 9> (pouze pro výpisy s čísly 0..9). V tomto případě lze v okně výpisu provádět editaci, tj. např. klávesami pro posun kurzoru měnit zobrazovanou oblast, modifikovat obsah proměnných v zobrazovaných paměťových prostorech, měnit rozměr a polohu okna nebo počet vypisovaných údajů (SFR registrů, bitových proměnných a pod.), řádkovým asemblerem měnit obsah programové paměti a další funkce. Režim editace se ukončí stiskem klávesy <Esc> nebo zadáním některého z <Alt> příkazů.

Použití funkčních kláves, od verze V2.0 také příkazových maker, ukazuje následující příklad. Provedení jedné instrukce uživatelského programu lze dosáhnout třemi způsoby:

Použitím funkčních kláves a příkazových maker se obsluha simulátoru ještě více zjednoduší.

Důkazem toho, že obsluha simulátoru je skutečně velice jednoduchá je to, že ke spuštění simulovaného programu s bodem zastavení stačí:

  1. spustit simulátor příkazem DOS:   SIM51 <jméno_souboru>, simulátor při spuštění použije implicitní rozložení výpisů, které je s ním dodáváno, a dále načte zadaný simulovaný program; 
  2. zadat adresu bodu zastavení po stisku funkční klávesy <F5> (zadání bodu zastavení); 
  3. spustit simulaci programu funkční klávesou <F4>.

Obě použité funkční klávesy jsou v nápovědě (Help) na spodním řádku obrazovky.

Návrat na začiatok

5. PŘÍKAZY PROGRAMU SIM51

Základní příkazy simulátoru SIM51 jsou: (popis viz:)

VIEW Otevření výpisu (kap. 5.1)
EDIT Editace výpisů (kap. 5.2)
WINDOW Práce s okny výpisu (kap. 5.3)
FILE Práce se soubory (kap. 5.4)
PULSE Simulace vstupních linek (kap. 5.5)
RESET Počáteční nastavení procesoru 8051 (kap. 5.6)
GO Spuštění simulovaného programu  (kap. 5.7)
BREAK Body zastavení (kap. 5.8)
CONDITIONAL Podmínky pro zastavení (kap. 5.9)
TRACE Podmínky pro trasování (kap. 5.10)
 OPTION Volitelné parametry (kap. 5.11)
                           

5.1 Otevření výpisu (příkaz VIEW)

Příkaz slouží k otevření požadovaného typu výpisu.

Po zadání příkazu se objeví nabídka pro výběr typu výpisu. Každý otevřený výpis má v levém horním rohu rámečku své číslo, které slouží ke vstupu do editace výpisu (klávesami <Alt číslo> nebo k nastavení aktuálního výpisu příkazem Window Actual (viz kap. 5.3.1). Všechny typy výpisů je možné v případě potřeby otevřít současně několikrát.

Obr. 5.1
 
5.1.1 Výpis programové paměti

Příkaz VIEW PROGRAM otevře okno šestnáctkového výpisu programové paměti. Uživatel zadává adresu, od které výpis začíná. Její implicitní hodnota je PC.

Výpis má tvar např.:

 Obr. 5.1.1

 
5.1.2 Výpis vnitřní datové paměti

Příkaz VIEW INTERNAL otevře okno šestnáctkového výpisu vnitřní datové paměti. Uživatel zadává adresu, od které začíná výpis. Její implicitní hodnota je 0.

Výpis paměti má tvar např.:

Obr. 5.1.2

 
5.1.3 Výpis vnější datové paměti

Příkaz VIEW EXTERNAL otevře okno šestnáctkového výpisu vnější datové paměti. Uživatel zadává adresu, od které výpis začíná. Její implicitní hodnota je 0.

Výpis má tvar např.:

 Obr. 5.1.3

 
5.1.4 Výpis funkčních registrů

Příkaz VIEW FUNCTION REGISTERS otevře výpis funkčních registrů SFR. Lze použít čtyři způsoby zobrazení:

1. Typ SFR BITS

Výpis bitových proměnných bitově adresovatelných funkčních registrů P0, TCON, P1, SCON, P2, IE, P3, IP, PEW, ACC a B ve tvaru:

Obr. 5.1.4.1

2. Typ SFR BYTES

Výpis funkčních registrů po slabikách šestnáctkově.

Obr. 5.1.4.2

3. Typ STATE

Výpis šestnáctibitových funkčních registrů DPTR, čítačů a dále čítače adres PC.

Obr. 5.1.4.3 

4. Typ SFR ONE

Bitový výpis jednoho funkčního registru. V tomto tvaru je možné zobrazit obsah registrů: ACC, B, PSW, P0, P1, P2, P3, IE, IP, SCON, TCON, TMOD a PCON. Registr se volí jménem nebo adresou.

Obr. 5.1.4.4

 
5.1.5 Výpis obsahu nepřímo adresovaných slabik paměti

Příkaz VIEW @-MEMORY otevře výpis aktuálního obsahu nepřímo adresovaných slabik vnitřní datové paměti, vnější datové paměti a paměti programu.

Obr. 5.1.5

 
5.1.6 Výpis aktuální sady registrů

Příkazem VIEW REGISTERS se otevře šestnáctkový výpis aktuální sady registrů.

Obr. 5.1.6

 
5.1.7 Výpis bitových proměnných

Příkaz VIEW BITS slouží k otevření výpisu oblasti bitových proměnných booleovského procesoru (na adresách 0 až 7FH).

Obr. 5.1.7

 
5.1.8 Výpis programu symbolicky

Příkaz VIEW DIS/LINE ASSEMBLER otevře výpis se zpětným překladem uživatelského programu od adresy dané čítačem adres PC. Výpis je doplněn informacemi o bodech zastavení, podmínkách trasování, směru skoku instrukcí pro větvení programu (skoky, volání podprogramu) a obsahu nepřímo adresovaných proměnných. Editací tohoto výpisu lze simulovaný progam modifikovat řádkovým assemblerem.

Obr. 5.1.8

 
5.1.9 Výpis obsahu vrcholu zásobníku

Příkaz VIEW STACK otevře výpis obsahu vrcholu zásobníku.

Obr. 5.1.9

 
5.1.10 Výpis obsahu trasovací paměti

Příkazem VIEW TRACE se otevře výpis adres uložených v trasovací paměti a instrukcí na nich ležících.

Obr. 5.1.10

 
5.1.11 Výpis zadaných bodů zastavení

Příkaz VIEW BREAK otevře výpis zadaných bodů a oblastí zastavení včetně podmínky Arm.

Obr. 5.1.11

 
5.1.12 Výpis textového souboru

K otevření výpisu pro zobrazení textových souborů je určen příkaz VIEW LIST. Jako parametr se udává jméno textového souboru. Při zadání jména souboru, který se bude číst, je možno použít hvězdičkovou konvenci. V tomto případě se objeví nabídka souborů, ve které může uživatel pomocí šipek vybrat žádaný soubor, který potvrdí klávesou <Enter>.

Obr. 5.1.12

 
5.1.13 Výpis tabulky symbolů

Příkaz VIEW SYMBOL otevře výpis tabulky symbolů.

Jednotlivé položky tabulky obsahují:

Obr. 5.1.13

Symboly ve výpisu mohou být tříděny (podle parametru Option Assembly Symbol_sort):

 
5.1.14 Výpis údajů o běhu programu

Příkazem VIEW STATISTICS se otevře výpis se statistickými údaji o běhu uživatelského programu.

Zobrazují se údaje :

Příklad výpisu ukazuje obr. 5.1.14.

Obr. 5.1.14

 
5.1.15 Výpis protokolu na sériovém kanálu

Příkaz VIEW SERIAL otevře výpis protokolu o provozu na seriovém kanálu. Výpis lze otevřít pro vstupní i výstupní směr.

Obr. 5.1.15

5.2 Editace výpisů (příkaz EDIT)

Příkazem EDIT se vstoupí do režimu editace aktuálního výpisu. Tato činnost, popsaná v následujících odstavcích, se pro jednotlivé typu výpisů poněkud liší.

U všech typů výpisů lze v editaci přejít do režimu ZOOM, tj. k editaci v okně o maximální velikosti pro daný typ výpisu. Režim ZOOM se vyvolá stiskem klávesy <Alt Z> během editace a je siganlizován textem ZOOM v pravém horním rohu výpisu. Režim ZOOM se ukončí opětným stiskem <Alt Z> nebo automaticky ukončením editace výpisu.

 
5.2.1 Prohlížení a změna obsahu paměti

Editace výpisů View Program, View Internal, View External umožňuje prohlížení a změnu obsahu paměti.

Výpis je členěn do tří oblastí: adresa, HEX a ASCII. Přechod mezi těmito oblastmi se provádí znakem <Tab>.

V oblasti HEX nebo ASCII je možno

V oblasti adresy je možno

Znakem <Esc> se editace ukončí.

 
5.2.2 Prohlížení a změna obsahu registrů a SFR

Editace výpisů View Function Registers, View Memory Indirect, View Registers umožňuje obsah příslušných paměťových prostorů

Výpis tohoto typu dále dovoluje potlačit zobrazení položek, které uživatel nepoužívá. Klávesou <Alt Z>, která je přepínačem mezi normálním a ZOOM zobrazením, nastavíme zobrazení ZOOM (je signalizováno výpisem "ZOOM" v pravém horním rohu výpisu). Výpis nabude svého maximálního rozměru a zobrazí se všechny položky daného výpisu. Nyní můžeme znakem <Enter> nastavit nebo potlačit výpis vybrané položky pro normální tvar zobrazení. Znakem <Ctrl Enter> lze provést nastavení nebo potlačení výpisu všech položek. Položky zobrazované jsou nyní zvýrazněné. Dalším stiskem <Alt Z> provedeme návrat k původnímu rozměru a k normálnímu zobrazení výpisu. Nakonec je výhodné přizpůsobit rozměry a polohu takto upraveného výpisu příkazem Window Resize.

Znakem <Esc> se editace ukončí.

 
5.2.3 Prohlížení a změna obsahu bitových proměnných

Editace výpisu View Bits slouží ke zobrazení a změně hodnoty bitových proměnných Booleovského procesoru.

Povely pro prohlížení a výběr proměnné provádí posuny kurzoru

Změna obsahu vybrané bitové proměnné se provádí

Znakem <Esc> se editace ukončí.

 
5.2.4 Prohlížení a provádění změn simulovaného programu

Editace výpisu View Assembly umožňuje prohlížení simulovaného programu a provádění drobných oprav v něm řádkovým assemblerem. Obě tyto činnosti pracují s mnemotechnickým tvarem instrukcí.

Pro prohlížení programu se používají povely

Oprava programu v režimu řádkového assembleru se zahájí 

Řádkový assembler nahrazuje funkci překladače ASM51 při simulaci a používá se pro přímý zápis instrukcí do paměti programu simulátoru při provádění drobných oprav programu v průběhu ladění.

Zdrojový text neuchovává, je však možné využít řádkového editoru a provést opravu či změnu instrukce, která je zvýrazněna (a současně připravena k editaci) zpětným překladem. Je-li editace ukončena znakem <Enter>, provede se překlad a po bezchybném překladu uložení kódu instrukce do paměti. Pokud je editace přerušena znakem <Esc>, zůstane obsah paměti (tj. původní instrukce) beze změny.

Řádkový assembler používá běžné konvence assembleru ASM51, tj. stejné zpracování výrazu (viz Zadávání parametrů), běžné direktivy ORG, DB, DW, END a stejný instrukční soubor.

Znak <Esc> editaci ukončí.

 
5.2.5 Prohlížení obsahu vrcholu zásobníku

Výpis View Stack je určen pouze pro informaci a nelze jej editovat.

Znak <Esc> ukončí právě prováděný příkaz.

 
5.2.6 Prohlížení obsahu trasovací paměti

Editace výpisu View Trace umožňuje prohlížení obsahu trasovací paměti, tj. výpis adres uložených v trasovací paměti a instrukcí na nich ležících.

Povely:

Znak <Esc> provede ukončení právě prováděného příkazu.

 
5.2.7 Prohlížení a rušení zadaných bodů zastavení

Editace výpisu View Break umožňuje zrušení zadaných bodů popř. oblastí zastavení. (Shodně pracuje příkaz Break Clear).

Povely:

Ostatní body zastavení, které nebyly zrušeny nebo potlačeny zůstávají aktivní.

 
5.2.8 Prohlížení textového souboru

Editací výpisu View List lze prohlížet textový soubor.

Povely pro listování textem:

Vyhledání textu v souboru:

Skok na značku: <j> <číslo>.

K ukončení příkazu slouží znak <Esc>.

Pozn.: Při vstupu do editace View List se nastaví SIM51 maximální velikost okna List (ZOOM). Při ukončení editace se ZOOM opět potlačí.

 
5.2.9 Prohlížení tabulky symbolů

Editace výpisu View Symbols dovoluje prohlížení tabulky symbolů. Výpis View Symbols je určen pouze pro informaci, hodnotu symbolů tedy nelze měnit.

Povely pro listování tabulkou: 

Znakem <Esc> se příkaz ukončí.

Uspořádání symbolů ve výpisu ovlivňují volitelné parametry:     Option Assembly SFR_symbol_view,      Option Assembly Symbol_sort.

 

5.2.10 Prohlížení údajů o běhu programu

Výpis View Statistics je určen pouze pro informaci a nelze jej editovat.

Znakem <Esc> se editace ukončí.

Pro nastavení a nulování čítačů slouží příkaz Pulse:   Pulse Loop Counter,     Pulse Cycle Counter  a    Pulse Time Counter.

 
5.2.11 Prohlížení informací přenesených sériovým kanálem

Výpisy View Serial Input a View Serial Output jsou určeny pouze pro informaci a nelze je editovat.

Znakem <Esc> se editace ukončí.

5.3 Práce s okny výpisu (příkaz WINDOW)

Práce s okny (volba aktuálního okna, rušení aktuálního výpisu, změna barev, velikosti případně polohy okna). Po zadání tohoto příkazu se objeví další nabídka:

Obr. 5.3

 

5.3.1 Nastavení aktuálního okna

Nastavení aktuálního okna se provádí příkazem WINDOW ACTUAL. Uživatel zadává číslo existujícího okna, které se má stát aktuálním.

 

5.3.2 Přechod k následujícímu oknu

Příkaz WINDOW NEXT provede přechod k následujícímu oknu. Aktuálním oknem se stane vždy následující okno, tj. to které bylo vytvořeno po okně, které je aktuální. Nemusí to tedy být vždy okno s následujícím čislem výpisu. Tento příkaz lze vyvolat také funkční klávesou <F6>.

 

5.3.3 Vymazání aktuálního okna (DELETE)

Příkaz WINDOW DELETE vymaže aktuální okno z displeje. Okno již není možno obnovit, lze jej pouze znovu otevřít příkazem View. Ke zkrácenému volání příkazu slouží funkční klávesa <F8>.

 

5.3.4 Změna hlavičky aktuálního okna

Příkazem WINDOW HEADER se změní hlavička aktuálního okna. Po vyvolání tohoto příkazu se objeví rámeček, ve kterém se zadá nový text hlavičky aktuálního okna.

 

5.3.5 Změna velikosti a umístění aktuálního okna

Příkaz WINDOW RESIZE je vstupem do režimu změny velikosti nebo umístění aktuálního okna.

Velikost lze měnit povely <Shift vlevo> <Shift vpravo> <Shift nahoru> <Shift dolu>.

Poloha se mění povely <vlevo> <vpravo> <nahoru> <dolu> <Home> <End> <PgUp> <PgDn>.

Ukončení režimu se provede znakem <Esc>.

 

5.3.6 Čtení rozložení výpisů ze souboru

Příkaz WINDOW GET umožňuje načíst rozložení výpisů ze souboru. Pro zadání jména souboru, ze kterého se má rozložení číst, lze použít hvězdičkovou konvenci. V tomto případě se objeví nabídka souborů, ve které si může uživatel pomocí šipek vybrat žádaný soubor, který potvrdí klávesou <Enter>. Doporučená přípona je ".WIN". Standardní rozložení výpisů je uloženo v souboru SIM51.WIN.

 

5.3.7 Uložení rozložení výpisů do souboru (SAVE)

Příkaz WINDOW SAVE ukládá rozložení oken do souboru. Při zadání jména výstupního souboru je možno použít hvězdičkovou konvenci. V tomto případě se objeví nabídka souborů, ve které si může uživatel pomocí šipek vybrat výstupní soubor, který potvrdí klávesou <Enter>. Doporučená přípona je ".WIN".

 

5.4 Práce se soubory (příkaz FILE)

Příkaz provádí čtení a ukládání simulovaného programu, změnu adresáře, vyvolání DOSu a ukončení činnosti SIM51 návratem do DOSu. Po zadání tohoto příkazu se objeví další nabídka:

Obr. 5.4

 

5.4.1 Čtení simulovaného programu ze souboru

Příkazem FILE GET se načte program ze souboru ve tvaru OBJ51 nebo HEX51 (rozpoznání formátu je automatické) do paměti programu simulátoru. Ze souboru je načtena pouze oblast programu uvedená v Option File parametrem Get address (viz kap. 5.11.8). Při zadání jména souboru, který se bude číst, je možno použít hvězdičkovou konvenci. V tomto případě se objeví nabídka souborů, v té si může uživatel pomocí šipek vybrat žádaný soubor, který potvrdí klávesou <Enter>.

 

5.4.2 Zápis simulovaného programu do souboru

Zápis programu do souboru ve tvaru OBJ51 nebo HEX51 se provede příkazem FILE SAVE. Volba formátu se provádí přepínačem Option File Type (viz kap. 5.11.7). Do souboru je uložena oblast uvedená v Option File parametrem Save address (viz kap. 5.11.8). Při zadání jména souboru, do kterého se bude zapisovat, je možno použít hvězdičkovou konvenci. V tomto případě se objeví nabídka souborů, ve té si může uživatel pomocí šipek vybrat žádaný výstupní soubor, který potvrdí klávesou <Enter>.

 
5.4.3 Volání operačního systému

Volání operačního systému se dosáhne příkazem FILE DOS. Po zadání tohoto příkazu se objeví nápověda DOSu a uživatel může volat systémové, ale i jiné programy. Zpět do programu SIM51 se vrací zadáním příkazu "Exit".

 
5.4.4 Výpis systémových informací

Příkazem FILE INFO se vyvolá výpis různých systémových informací:

Obr. 5.4.4

 

5.4.5 Změna aktuálního adresáře

Příkaz FILE CHANGE DIR slouží ke změně aktuálního adresáře nebo diskové jednotky. Při zadání jména adresáře, je možno použít hvězdičkovou konvenci. V tomto případě se objeví nabídka, ve které si může uživatel pomocí šipek vybrat žádaný disk, resp. adresář, který potvrdí klávesou <Enter>.

 
5.4.6 Odchod do operačního systému

Ukončení práce se simulátorem SIM51 a odchod do operačního systému se provede příkazem FILE EXIT (nebo klávesou <Alt X>). Před odchodem může být zapsáno rozložení výpisů, volitelné parametry simulace a jméno simulovaného programu do souboru SIM51.OLD. Tento zápis se provádí je-li parametr Option Old (viz kap.5.11.2) nastaven na hodnotu "on".

Informace se souboru SIM51.OLD se využívají při opětovném startu simulátoru (viz kap. 4.5 - Spuštění programu SIM51).

5.5 Simulace vstupních linek (příkaz PULSE)

Simulátor SIM51 obsahuje prostředky pro simulaci vstupních linek mikropočítače 8051. Každou linku lze "připojit" na jeden ze signálů: 

Model mikropočítače 8051 poskytuje uživateli i další služby: 

Příkaz PULSE slouží především k nastavení způsobu simulace portů povely:

a dále k zadání pracovních adres a k nulování pomocných čítačů:

 
5.5.1 Zapojení vývodů

Povel CONNECT PINS slouží k zadání režimu simulace vstupních linek (nastaví se uvedeným znakem):

K výběru linky slouží klávesy: <vlevo>, <Home>, <vpravo>, <End>

Povel se ukončí znakem <Esc>.

Nabídka používaná k zapojení vývodů je na obr. 5.5.1.

Obr. 5.5.1

 

5.5.2 Nastavení impulsních generátorů

Povely A_GENERATOR a B_GENERATOR nastavují simulované impulsní generátory A a B, jejichž výstupy lze přivést (povelem Connect pins) na vstupy procesoru a simulovat tak frekvenční vstupy.

Generátor se nastavuje parametry:

Mode a Clock + Counter nebo Frequency,

jak ukazuje nabídka na obr. 5.5.2.

Obr. 5.5.2

Parametrem    M o d e
se přepíná tvar signálu generátoru:

Parametr       C l o c k
je přepínač, který slouží k připojení zdroje hodinového signálu na vstup čítače generátoru. Lze použít signály s periodou:

Je-li parametr Clock nastaven obsluhou, SIM51 vypočte a zobrazí parametr Frequency pouze jako informativní hodnotu.

Parametrem   C o u n t e r
nastaví obsluha dělící poměr generátoru.

Hodnota parametru může být zadána v rozsahu 2 65535.

Je-li Counter zadán obsluhou, pak SIM51 vypočte a zobrazí parametr Frequency pouze jako informativní hodnotu.

Parametrem    F r e q u e n c y
se přímo zadá frekvence výstupního signálu generátoru.

Hodnotu parametru lze zadat v rozsahu 1 500 000 [Hz].

Po zadání Frequency obsluhou, vypočte SIM51 hodnoty parametrů Clock a Counter, nastaví tyto parametry a opraví zadanou hodnotu frekvence na skutečnou (nastavenou) hodnotu. Ta vznikne zanedbáním desetinných míst hodnoty čítače generátoru.

 

5.5.3 Čítač průchodu programu adresou

Příkazem LOOP COUNTER je možno nastavit adresu pro čítač průchodů adresou (address) nebo tento čítač průchodů adresou vynulovat (clear_cnt).

Hodnota čítače, ve kterém se uchovává počet průchodů programu zvolenou adresou je uvedena ve výpisu View Statistics.

 

5.5.4 Měření doby běhu oblastí programu

Čítač Time Counter slouží k čítání doby běhu zadanou oblastí programu. Čítání času se spustí průchodem programu počáteční adresou oblasti, ukončí se průchodem koncovou adresou oblasti. Měření je kumulativní. Výsledkem měření může být např. procento doby běhu programu spotřebované na obsluhu přerušení.

Příkazem TIME COUNTER lze jednak nastavit hranice oblasti, ve které se bude čítat doba běhu programu (range) nebo vynulovat čítač doby běhu zadanou oblastí programu (povel time_cnt_clear).

Hodnota čítače, ve kterém se uchovává doba běhu zadanou oblastí programu je uvedena ve výpisu View Statistics.

 

5.5.5 Měření celkové doby běhu programu

Příkazem CYCLE COUNTER je možno vynulovat čítač doby běhu simulovaného programu (cycle_cnt_clear).

Hodnota tohoto čítače, ve kterém se uchovává celková doba běhu simulovaného programu je uvedena ve výpisu View Statistics.

5.6 Počáteční nastavení procesoru 8051 (příkaz RESET)

Nastavení počátečního stavu simulovaného procesoru 8051.

Obsah registrů po provedení RESET
ACC 00H  TH0 00H PC 0000H
B 00H TL0 00H IP XX000000B
PSW 00H TH1 00H IE 0X000000B
SP 07H TL1 00H SCON 00H
DPTR 00H TH2  00H SBUF nedefinován
TMOD 00H TL2 00H PCON 00XXX000B
TCON 00H RCAPH2 00H P0-P3 0FFH

 

5.7 Spuštění uživatelského programu (příkaz GO)

Umožňuje spuštění simulovaného programu v těchto režimech:

  Go Break Go Step  
  Go No break Go Fast step  
  Go Conditional  Go To  
    

 

5.7.1 Zpracování programu s body zastavení

V režimu GO BREAK probíhá simulace programu dokud není provedena instrukce na bodu zastavení. Program lze zastavit také stisknutím klávesy <Esc>. Tento režim simulace spouští funkční klávesa <F4>.

Startovací adresu programu udává příkaz Go From.

 

5.7.2 Zpracování programu bez bodů zastavení

V režimu GO NO_BREAK se spustí simulace programu bez bodů zastavení.

Program lze zastavit pouze, dojde-li ke stisknutí klávesy <Esc>. Body zastavení zadané příkazem Break nebo podmínka zastavení zadaná příkazem Conditional nejsou vyhodnocovány.

Startovací adresu programu udává příkaz Go From.

 

5.7.3 Zpracování programu s podmínkou

V režimu GO CONDITIONAL se provádí simulace programu s vyhodnocováním podmínky pro zastavení zadané příkazem Conditional.

Program se zastaví, dojde-li ke splnění podmínky zastavení nebo po stisku klávesy <Esc>.

Startovací adresu programu udává příkaz Go From.

 

5.7.4 Krokový režim

Příkaz GO STEP provede simulaci jedné instrukce uživatelského programu uložené na adrese zadané příkazem Go From.

Krokování provádí funkční klávesa <F2>.

 

5.7.5 Rychlé krokování

Příkaz GO FAST_STEP provede rychlé krokování programu bez krokování v podprogramech.

Bude simulována instrukce uložená na adrese zadané příkazem Go From tímto způsobem:

Body zastavení zadané příkazem Break ani podmínka zastavení zadaná příkazem Conditional nejsou vyhodnocovány.

Rychlé krokování provádí funkční klávesa <F3>.

 

5.7.6 Spuštění programu do adresy

Příkaz GO TO provede spuštění programu se současným zadáním adresy pro zastavení. Implicitní nabídka adresy je dána posledně zadanou hodnotou.

Program se zastaví buď automaticky na zadané adrese nebo po stisknutí klávesy <Esc>.

Body zastavení nastavené příkazem Break ani podmínka zastavení zadaná příkazem Conditional nejsou v tomto režimu běhu vyhodnocovány.

Startovací adresu programu udává příkaz Go From.

 

5.7.7 Zadání spouštěcí adresy

K zadání spouštěcí adresy programu je určen příkaz GO FROM.

Implicitní hodnotou spuštěcí adresy je aktuální obsah programového čítače PC. Na rozdíl od všech ostatních příkazů GO se pomocí příkazu Go From pouze zadá parametr (spouštěcí adresa), ale program se nespustí.

 

5.8 Body zastavení (příkaz BREAK)

Body zastavení slouží k označení míst v programu, kde má být simulace zastavena. Toto zastavení je doprovázeno aktualizací výpisů stavu mikropočítače 8051. Body zastavení mohou být nastaveny na jednotlivých adresách, na oblastech (popř. stránkách) programové paměti nebo vně oblastí (resp. stránek) programové paměti. Povolení činnosti logiky bodů zastavení lze podmínit spouštěcí podmínkou Arm, tj. počtem průchodů simulovaného programu zadanou adresou.

Nastavené body zastavení lze příkazem Break Clear zrušit nebo pouze dočasně potlačit a opětovně povolit.

Pro nastavení bodů zastavení slouží nabídka: 

Obr. 5.8

Bodů zastavení (jakéhokoliv typu) může být zadáno až 20. Pokud je zadání bodů zastavení složité (např. oblasti přes hranice stránek nebo body vně oblastí), je možný počet bodů zastavení menší a simulátor nedovolí další body zastavení nastavit.

 

5.8.1 Zadání jednotlivého bodu zastavení

Zadání jednotlivého bodu zastavení se provádí příkazem BREAK SINGLE, jehož parametrem je adresa bodu zastavení.

Tento příkaz je pod funkční klávesou <F5>.

 

5.8.2 Zadání oblasti bodů zastavení

BREAK RANGE
je příkaz pro zadání dvou mezních adres, které určují oblast, ve které program zastavuje.

BREAK PAGE
je příkaz k zadání stránky, ve které program zastavuje. Stránka se zadává vyšší slabikou adresy.

BREAK OUT OF RANGE
slouží k zadání dvou adres, které určují oblast, mimo kterou bude program zastavovat.

BREAK OUT OF PAGE
je příkaz pro zadání stránky, mimo kterou bude program zastavovat. Stránka se zadává vyšší slabikou adresy.

Příklad: Zadáme-li oblast Break Out of Range adresami 80H a 550H, běh programu se zastaví, jakmile bude čítač adres PC směřovat vně této oblasti, tj. do některé z oblastí 0..7FH nebo 551H..0FFFFH.

 

5.8.3 Zadání spouštěcí podmínky bodů zastavení ARM

Příkazem BREAK ARM se zadávají dvě hodnoty: adresa   a   počet průchodů touto adresou, které tvoří podmínku pro povolení činnosti mechanismu bodů zastavení.

Je-li počet průchodů roven 0 (implicitní hodnota) jsou body zastavení vyhodnocovány stále (pokud byl uživatelský program spuštěn v režimu Go Break). Je-li počet průchodů nenulový, začne vyhodnocování bodů zastavení až po patřičném počtu průchodů simulovaného programu zadanou adresou (opět pouze v režimu Go Break).

 

5.8.4 Zrušení zadaných bodů zastavení

Ke zrušení již zadaných bodů zastavení nebo jejich potlačení a opětovnému povoleni slouží příkaz BREAK CLEAR. Obr. 5.8.3 ukazuje nabídku, která je v tomto příkazu uživateli předložena.

 

Obr. 5.8.3

Povely:

Ostatní body zastavení, které nebyly zrušeny nebo potlačeny zůstávají aktivní.

 

5.9 Podmínky pro zastaveni (příkaz CONDITIONAL)

K zastavení simulace může dojít i splněním určité podmínky. Touto podmínkou je např. změna obsahu paměti, dosažení požadované hodnoty ve slabice paměti nebo provedení zadané instrukce.

Příkaz CONDITIONAL slouží k zadání podmínky pro zastavení, která je vyhodnocována v režimu běhu s podmínkou (Go Conditional). Vyhodnocuje se pouze poslední zadaná podmínka. Po zadání příkazu následuje další nabídka:

Obr. 5.9

Nutno zdůraznit, že podmínky zastavení Break a Conditional se vzájemně vylučují. Tedy i v případě, že jsou spolu s Conditional nastaveny i podmínky Break, bude se zpracování uživatelského programu řídit posledně zadaným režimem simulace, tj. příkazy Go Break nebo Go Conditional.

 

5.9.1 Podmínka na změnu obsahu paměti

Příkazem CONDITIONAL CHANGE se zadá podmínka pro zastavení simulace při změně obsahu určité slabiky paměti. Při nastavení podmínky se volí jeden z typů paměťového prostoru:

a adresa kontrolované slabiky.

 

5.9.2 Podmínka na dosažení hodnoty obsahu paměti

Příkazem CONDITIONAL VALUE se zadá podmínka pro zastaveni simulace v okamžiku, kdy obsah určité slabiky paměti nabude zadané hodnoty.

Při nastavení podmínky se volí jeden z typů paměťového prostoru:

dále adresa kontrolované slabiky a její požadovaná hodnota.

 

5.9.3 Podmínka na provedení zvolené instrukce

Příkazem CONDITIONAL INSTRUCTION se zadá podmínka pro zastavení simulace po provedení zadané instrukce. Zde může být použita kterákoliv instrukce z instrukčního souboru mikropočítače 8051.

Instrukce se zadává symbolicky, podle konvencí assembleru ASM51.

 

5.10 Podmínky pro trasování (příkaz TRACE)

Model mikropočítače 8051 obsahuje také prostředky pro trasování simulovaného programu. Trasování představuje záznam hodnoty čítače adres PC mikropočítače 8051 do trasovací paměti při zpracování jednotlivých instrukcí simulovaného programu. Výpis trasovací paměti View Trace zobrazuje při zastavení simulace posloupnost provedených instrukcí zpětně od okamžiku zastavení.

Zápis do trasovací paměti může být prováděn průběžně, nebo jen na určitých adresách (např. při kontrole posloupnosti zpracování různých větví simulovaného programu) a provede se také vždy při přerušení simulace uživatelem (znakem <Esc> z klávesnice).

Příkazem TRACE se nastavují podmíneky pro trasování. Po zadání příkazu následuje další nabídka:

Obr. 5.10

 

5.10.1 Způsob trasování "Trace ALL"

Je-li přepínač TRACE MODE nastaven na hodnotu "All", zapisuje trasovací logika každou provedenou instrukci.

Údaje nastavené jako Trace User_set nejsou v tomto režimu využívány.

 

5.10.2 Způsob trasování "Trace USER"

Je-li přepínač TRACE MODE nastaven na hodnotu "User" bude se záznam do trasovací paměti provádět pouze v těch místech simulovaného programu, které jsou nastavena jako body trasování.

Body trasování se zadávají příkazem TRACE USER_SET jako jednotlivé adresy, oblasti nebo stránky, které budou trasovány. Zadávání a rušení je obdobné jako zadávání a rušení bodů zastavení.

 

5.10.3 Zadání jednotlivé trasovací adresy

Příkazem TRACE SET_USER SINGLE se zadávají jednotlivé trasovací adresy (body).

 

5.10.4 Zadání oblasti trasování

Příkazem TRACE SET_USER RANGE se zadáním dvou mezních adres určí oblast, ve které se má program trasovat.

Příkaz TRACE SET_USER PAGE slouží k zadání stránky, ve které se má program trasovat. Stránka se zadává vyšší slabikou adresy.

Příkazem TRACE SET_USER OUT_OF_RANGE se zadávají dvě adresy, které určují oblast, mimo kterou bude program trasován.

Příkaz TRACE SET_USER OUT OF PAGE slouží k zadání stránky, ve které nebude program trasován. Stránka se zadává vyšší slabikou adresy.

Příklad: Zadáme-li oblast Trace Out of Range adresami 80H a 550H, bude program trasován při provádění intstrukcí z oblastí: 0..7FH nebo 551H..0FFFFH.

 

5.10.5 Zrušení zadaných trasovacích bodů

Ke zrušení již zadaných trasovacích bodů nebo jejich potlačení a opětovnému povoleni slouží příkaz TRACE SET_USER CLEAR. Obr. 5.10.5 ukazuje nabídku, která je v tomto příkazu uživateli předložena.

Obr. 5.10.5

Povely:

Ostatní body trasování, které nebyly zrušeny nebo potlačeny zůstávají aktivní.

 

5.11 Volitelné parametry (příkaz OPTION)

Nastavení volitelných parametrů pro simulaci, zobrazování, práci se soubory (např. použití symbolů, barvy jednotlivých typů výpisů, třídění symbolů apod.). Po zadání tohoto příkazu se objeví další úroveň nabídky:

Obr. 5.11

 

5.11.1 Povolení výpisu hlášení

Parametr OPTION MESSAGE je přepínač, kterým se povolí ("on") nebo potlačí ("off") výpis zpráv komentujících činnost programu SIM51.

 

5.11.2 Povolení zápisu do souboru OLD

Parametr OPTION OLD je přepínač, kterým lze povolit ("on") nebo potlačit ("off") vytváření souboru SIM51.OLD. Do tohoto souboru se při přechodu ze simulátoru do operačního systému zapisuje poslední stav výpisů View, nastavení volitelných parametrů Option, nastavení bodů zastavení a oblastí trasování a jméno posledního zpracovávaného uživatelského programu. Při novém spuštění simulátoru SIM51 se tyto hodnoty automaticky načítají ze souboru SIM51.OLD.

 

5.11.3 Povolení práce se symboly

Parametr OPTION FILE SYMBOL je přepínač, který povoluje ("on") načítání symbolů pro potřeby simulátoru při čtení programu ze souboru, jsou-li v něm jsou obsaženy. Po zadání "off" se symboly nenačítají a současně se zmenší nároky programu SIM51 na velikost paměti.

Změna stavu přepínače vyvolá zrušení stávající tabulky symbolů (a ztrátu jejího obsahu!) a vytvoření nové (prázdné tabulky!).

 

5.11.4 Rozlišovaná délka symbolů

Parametrem OPTION ASSEMBLY SYMBOL_LENGTH se nastaví rozlišovaná délka symbolů (lze nastavit v rozsahu 6..32) pro práci se symboly a jejich zobrazování ve výpisech View Assembly a View Trace.

 

5.11.5 Potlačení zobrazování SFR v tabulce symbolů

Parametr OPTION ASSEMBLY SFR_SYMBOL_VIEW je přepínač pro potlačení ("off") a povoleni ("on") zobrazování registrů SFR v tabulce symbolů (výpis View Symbols).

 

5.11.6 Třídění symbolů ve výpisu tabulky symbolů

Parametr OPTION ASSEMBLY SYMBOL_SORT je přepínač pro volbu třídění symbolů ve výpisu View Symbols. Varianty třídění jsou:

5.11.7 Volba tvaru zápisu programu do souboru

Parametrem OPTION FILE TYPE se volí tvar zápisu simulovaného programu do souboru. Parametr je přepínač s možnostmi

5.11.8 Hranice pro čtení/zápis programu z/do souboru

Příkaz OPTION FILE GET_ADDRESS slouží k omezení oblasti programu, která bude načítána při čtení obsahu programové paměti ze souboru. Zadává se počáteční a koncová adresa oblasti. (Doporučené hodnoty jsou 00FFFFH).

Příkaz OPTION FILE SAVE_ADDRESS slouží k omezení oblasti programu, která bude zapsána při zápisu obsahu programové paměti do souboru. Zadává se počáteční a koncová adresa oblasti. (Doporučené hodnoty jsou 00FFFFH).

 

5.11.9 Velikost paměti programu

Nastavení velikosti simulované paměti programu se provede příkazem OPTION MEMORY PROGRAM_LENGTH. Maximální hodnota je 0FFFFH.

Pozor!!! Zadáním tohoto parametru se provede: 

 

5.11.10 Velikost vnější paměti dat

Nastavení velikosti simulované externí paměti dat se provede příkazem OPTION MEMORY EXTERNAL_DATA_LENGTH. Maximální hodnota je 0FFFFH.

Pozor!!! Zadáním tohoto parametru se provede:

5.11.11 Nastavení jasu pro monochromatický displej

OPTION COLOR MONO_DEFAULT je povel k nastavení implicitní jasové škály pro monochromatický displej.

 

5.11.12 Nastavení barev pro barevný displej

OPTION COLOR COLOR_DEFAULT je povel k nastavení implicitní barevné škály pro barevný displej.

 

5.11.13 Nastavení barev uživatelem

OPTION COLOR USER_SET slouží k vyvolání podrobnější nabídky umožňující zadání barevné škály jednotlivých výpisů podle přání uživatele. Nastavit lze barvy výpisů systému MENU, výpisů hlášení a chybových zpráv a výpisů View.

Nová barva se vybírá kurzorem v předložené paletě barev povely: <nahoru> <dolu> <vlevo> <vpravo> <Home> <End> <PgUp> <PgDn>. Změna na nový odstín (označený "N") se provede stiskem <Enter>, stiskem znaku <Esc> se přeruší nabídka barev a zůstane zachována původní barva (označená "O").

Obrázek 5.11.13 ukazuje situaci při nastavení barvy základního textu výpisu View.

Obr. 5.11.13

OPTION COLOR USER_SET MENU
je příkaz pro nastavení barev menu.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze interaktivně, s okamžitým přebarvením, měnit barvu jednotlivých částí výpisu nabídek menu.

Postupně se nabízí změna barvy:

OPTION COLOR USER_SET INPUT
je příkaz pro nastavení barev rámečku, do kterého uživatel zapisuje argumenty.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze nastavit barvu jednotlivých částí vstupního rámečku menu.

Postupně se nabízí změna barvy:

OPTION COLOR USER_SET HELP
slouží k nastavení barev nápovědné řádky a systému nápovědných textů.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze interaktivně měnit barvu jednotlivých částí výpisu nápovědné řádky a systému nápovědných textů.

Postupně se nabízí změna barvy:

OPTION COLOR USER_SET MESSAGE
je příkaz k nastavení barev hlášení simulátoru.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze interaktivně měnit barvu jednotlivých částí výpisu hlášení simulátoru.

Postupně se nabízí změna barvy:

OPTION COLOR USER_SET ERROR
je příkaz k nastavení barev chybových zpráv simulátoru.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze interaktivně měnit barvu jednotlivých částí výpisu výpisu chybových zpráv.

Postupně se nabízí změna barvy:

OPTION COLOR USER_SET WINDOW
slouží k nastavení barev výpisu View.

Zadáním tohoto příkazu vstoupí uživatel do režimu, ve kterém lze interaktivně měnit barvu jednotlivých částí výpisu View. Změna barev neovlivní již otevřené výpisy View, ale takto nastavená paleta bude použita pro nově otevírané výpisy View.

Postupně se nabízí změna barvy:

 

5.11.14 Zobrazení instrukcí typu JMP a CALL

Parametr OPTION ASSEMBLY JMP_AND_CALL_VIEW je přepínač pro zobrazení ("on") směru větvení programu u instrukcí typu JMP a CALL ve výpisech View Assembly.

 

5.11.15 Zobrazení nepřímo adresovaných slabik paměti

Parametr OPTION ASSEMBLY INDIRECT_BYTE_VIEW je přepínač pro povolení ("on") výpisu obsahu nepřímo adresovaných paměťových prostorů ve výpisu View Assembly.

 

5.11.16 Způsob simulace sériového vstupu

Sériový vstup mikropočítače 8051 může být simulován třemi způsoby:

Způsob simulace se volí přepínačem OPTION SERIAL INPUT. Při simulaci ze souboru je nezbytné zadat jméno vstupního souboru příkazem OPTION SERIAL FILE_INPUT (implicitní jméno je SIM51.SI).

Omezení:

  1. Pomocí COMn: nelze simulovat režimy sériového kanálu 0, 2 a 3. 
  2. Pomocí vstupu keyboard nelze simulovat režimy sér. kanálu 2 a 3.

 

5.11.17 Způsob simulace sériového výstupu

Sériový výstup může být simulován:

Způsob simulace se volí přepínačem OPTION SERIAL OUTPUT. Při simulaci do souboru je nezbytné zadat jméno výstupního souboru příkazem OPTION SERIAL FILE_OUTPUT (implicitní jméno je SIM51.SO).

Omezení:

  1. Pomocí COMn: nelze simulovat režimy sériového kanálu 0, 2 a 3. 
  2. Ve výpisu View Serial Output není zobrazován devátý datový bit.

 

5.11.18 Čtení volitelných parametrů ze souboru

Pro načtení volitelných parametrů simulace (Option) ze souboru je určen příkaz OPTION GET. Při zadání jména souboru je možno použít hvězdičkovou konvenci. Doporučená přípona je ".OPT", implicitní jméno je SIM51.OPT.

 

5.11.19 Zápis volitelných parametrů do souboru

Zápis volitelných parametrů simulace (Option) do souboru se provádí příkazem OPTION SAVE. Při zadání jména souboru je možno použít hvězdičkovou konvenci. Doporučená přípona je ".OPT", implicitní jméno je SIM51.OPT.

Návrat na začiatok.

6. PŘEHLED ZPRÁV, ZPŮSOBY OŠETŘENÍ CHYBOVÝCH STAVŮ

[1. ]

Návrat na začiatok.

Zdroje informácií

[1. ]

Návrat na začiatok.

Nové pojmy

RAM - Random access memory

CPU- Central procesor unit.

HD- Hard disk

FDD- Floppy disk drive

CD - Compact disk

 

Návrat na začiatok.


Author Ing.  JANOUŠEK  Jaroslav.
Copyright © 2003   SPŠE - Košice.  All rights reserved.
Revised: október 19, 2003 .