TTTTTTTTT RRRRRRRR A CCCCC EEEEEEEEE T R R A A C C E T R R A A C E T R R A A C E T RRRRRRRR A A C EEEEEEE T R R A A C E T R R AAAAAAAAA C E T R R A A C C E T R R A A CCCCC EEEEEEEE Symbolic Instruction Debugger for Z80 microprocessor M A N U A L Obsah: Uvod ......................................................... 1 Natazeni TRACE80 ............................................. 2 Zadavani povelu .............................................. 3 Preruseni .................................................... 4 Format zadani ................................................ 4 Chybova hlaseni .............................................. 5 Aritmeticke vyrazy ........................................... 6 Booleovske vyrazy ............................................ 12 Formaty zobrazeni ............................................ 14 Povely ....................................................... 16 Modifikace pameti ........................................... 22 Porty i/o .................................................... 27 Modifikace registru .......................................... 29 Vypocty ...................................................... 32 Hledani a porovnavani ........................................ 34 Pouziti symbolu .............................................. 37 Emulace ...................................................... 40 Realny cas ................................................... 48 Spooler ...................................................... 60 Natazeni programu do pameti .................................. 61 Navrat do CP/M ............................................... 63 Zpracovani davek ............................................. 64 Priloha A Nazvy registru .................................... 66 Seznam povelu ................................................ 68 - 1 - Uvod: TRACE80 je symbolicky odvsivovac pro mikrocomputery s mikroprocesorem Z80-CPU a s provoznim systemem CP/M. Program potrebuje tabulku symbolu, ktere se vytvareji vetsinou spojovacich programu, ktere jsou k dispozici pro CP/M. Takto se daji testovat strojove kody tvorene nejenom assem- blery, ale take compilery. Hlediska pro navrhovani: Systemy CP/M maji zpravidla k dispozici pamet RAM o 64 kbytech. aplikacni programy, ktere se vyvijeji v assembleru prekracuji zridka hranici 20 kbyte. Rozsah dat se ve fazi vyvoje da vetsinou omezit. Proto byl kladen duraz na vykonou povelovou sadu vice nez na mini- malizaci delky programu. Pozadavky na system: TRACE80 verze 2.0 vyzaduje 18 kbyte a navic pro kazdy pouzity symbol jeste pripadne 10 byte. Provozni system pokryva zpravidla 5 kbyte, takze pri systemu o 32 kbytech je k dispozici jeste maximalne 9 kbyte. Terminal CRT by mel zpracovat minimalne 4800 Baudu. Prizpusobovani systemu: Prizpusobovani programu k ruznym systemum pocitacu se realizuje pomoci tabulky, viz priloha A. Aby se dalo celit vadnym funkcim musi se adaptovat alespon funkce vymaz obrazovky a vymaz radku. Stejne tak se musi parametry pro format obrazovky a sirku tisku nastavit. - 2 - NATAZENI TRACE80 Programy se v systemech CP/M vyvolavaji uvedenim jejich jmena. Na stejnem radku lze udanim dalsiho jmena programu zavest do pra- covni sfery TRACE80 file. Bez udani startovaci adresy se natahuje od 100h. Existujici adresove parametry udavaji adresu natazeni, limit a offset. Jestlize existuje symbolovy file stejneho jmena zkontroluje relokator delku datoveho souboru a odpovidajicim zpusobem pomeruje delku bufferu symbolu. Jestlize se nenajde zadny symbolovy file, vytvori se buffer s konstantni delkou. Ridici znak ./. predava vsechny dalsi znaky na povelovy dekoder TRACE80. Priklady: A>T80 TEST File TEST.COM se natahuje od 100h. A>T80 TEST.COD File TEST.COD se natahuje od 100h. A>T80 TEST. 100 200 File TEST se natahuje od 100h az maximalne vcetne 200h. A>T80 Delka bufferu symbolu cini 512 symbolu. A>T80 :200 TEST Delka bufferu symbolu cini 200 symbolu. File TEST.COM se natahuje od 100h. A>T80 /BAT X 2 Povel 'BAT X 2' se realizuje ihned po natazeni TRACE80. Pri vyvolani programu se TRACE80 lokalizuje pod BDOS (Diskovy operacni system u CP/M). Buffer symbolu se nachazi mezi TRACE80 a BDOS. Pro aplikacni programy predstavuje TRACE80 zmenseny system. Vektor vskoku BDOS se prepina na zacatek TRACE80. TRACE80 prechazi ke komunikaci s terminalem a tiskarnou primo na BIOS. Funkce 'WARMBOOT' inicializuje BDOS. Aplikacni programy, ktere probihaji pod TRACE80 daji se ukoncit funkci BDOS 0 nebo skokem na adresu 0, pritom se vyvolava TRACE80. Skok zpet do provozniho systemu realizuje povelem 'BYE' TRACE80. Aplikacni programy pod CP/M probihaji od 100h a vyzaduji rozsah od 0 az 0FFH k vymene dat s provoznim systemem. Strojni programy, ktere nepotrebuji zadnou podporu provozniho systemu se mohou natahovat od adresy 0. TRACE80 zabira adresu RESTART pri provadeni programu v realnem case a adresy od 66h az 68h pri pouziti povelu 'NS' (NMI). TRACE80 se da jedine natahovat, dokud povel XSUB provozniho systemu neni aktivni. XSUB se muze dezaktivovat tim, ze se provede teply start. Toho se da dosahnout skokem na adresu BIOS+3. Skok na adresu 0 ponechava program XSUB v pameti. - 3 - ZADANI POVELU -------------- Povel: (Car.Return) pro zpetny chod voziku (Line Feed) pro predsun radku (Space) znak mezery (Back Step) pro krok zpet (Hor. Tab.) pro horizontalni tabulator (Vert. Tab.) pro vertikalni tabulator (Escape) pro Escape (Form Feed) pro predsun stranky (End of Text) pro ^C (Delete) pro vymazavaci tlacitko TRACE80 se ohlasuje po natazeni hvezdickou a ukazuje tim pripravenost k zadani povelu. Povely se skladaji z poveloveho slova a az ze 20 parametru. Zadani je buffrovano a uzavira se znakem nebo . Nasledujici ridici znaky slouzi k editovani zadavaciho radku: Vymaz radku a posazeni kurzoru na zacatek radku. Vymaz znaku. Zacleneni znaku. Kursor doprava. Kursor doleva. Jestlize se kurzor naleza v nejprednejsi pozici a buffer zadani je prazdny, prijima TRACE80 povely, ktere se okamzite provadeji: , Jednotlivy krok . Jednotlivy krok s protokolem 1 ; Preskocit povel : Jednotlivy krok s kratkym udanim / Opakovani posledniho povelu _ Program realneho casu Znazorneni registru Prevzeti posledniho zadani Inicializace BDOS Vymaz obrazovky Vymaz BATCH-Mode Ridici znaky pro prime povely se k adaptaci na terminal daji menit (Adaptace viz priloha A).Provedeni jednotlivych kroku a vyvolani podprogramu by se mely provest bez pouziti posunoveho tlacitka. U terminalu s oddelenymi tlacitky cislic se tato tlacitka daji obsa- dit primymi povely. - 4 - PRERUSOVANI ------------ Provadene povely se daji stisknutim mezerovaciho tlacitka pozdrzet a nebo prerusit tlacitky , , , nebo . Preru- sovavaci znaky se pritom zpracovavaji jako prime povely. Pri preru- seni se programovaci adresa a znacka '-' objevuji jako 'prompt'. V povelu se da pokracovat tlacitkem . Vsechny ostatni znaky se ihned prebiraji do bufferu zadani, popripade se ihned realizuji jako prime povely. FORMAT ZADANI -------------- Povely se skladaji z poveloveho slova a z parametru. Povely a parametry se museji zadavat velkymi pismeny. Jestlize terminal nema zadne tlacit- ko Alpha-Lock da se ucinek posunoveho tlacitka otocit uplatnenim Flagu (zmena viz v priloze A). Mezi povelovym slovem a mezi parametry musi byt prinejmensim 1 znak mezery. Parametry se musi zadavat kompaktne, tj. bez mezerovacich znaku. Oddeleni jednotlivych parametru se prova- di bud mezerovacimi znaky, nebo carkou. Pri strukturovanych parametrech anebo k zadavani prazdneho parametru je bezpodminecne nutno pouzit mezerovaci carky. Napriklad: 3+3 Parametr s hodnotou 6 3 +3 Dva parametry s hodnotou 3 a 3 3,,3 Tri parametry v hodnote 3, mezera a 3 - 5 - CHYBOVA HLASENI: ---------------- TRACE80 zna tato hlaseni chyb: COMMAND ERROR Povelove slovo je neplatne nebo povel neni pripustny ARGUMENT ERROR Chyba v argumentech, prilis velka zavorkovaci hloubka, nespravna rozdelovaci znamenka INVALID REGISTER NAME Nepripustny nazev pro registr CPU INVALID SYMBOL Symbol neni k dispozici nebo nebyl natazen zadny symbolovy file MEMORY ERROR Vadna pametova bunka nebo pokus psat do ROM CANNOT ASSEMBLE Assemblovaci chyba CANNOT TRACE Nepripustny kod OP STACK UNDERFLOW Hodnota ukazatele zasobniku je vetsi nez limit FILE NOT FOUND Datovy soubor neni k dispozici FILE TOO LONG Datovy soubor presahuje TRACE80 DISK FULL Plna disketa DIRECTORY FULL Plny directory SYMBOL BUFFER OVERFLOW Symbolovy buffer je prilis maly INVALID SYMBOL FILE Symbolovy file je vadny ADRESS TABLE OVERFLOW Adresova tabulka napriklad pro operne body je plna - 6 - ARITMETICKE VYRAZY ------------------- Aritmeticke vyrazy se skladaji z konstant, promennych a operacnich symbolu. Promenne a konstanty jsou interne znazornovany 16-ti bitovymi cisly, presahy pri operacich se ignoruji. Negativni cisla jsou znazornovana svym dvojkovym komplementem. Vyrazy se musi zadavat pres mezery, protoze mezerovaci znamenko se pouziva k oddelovani vyrazu. KONSTANTY ---------- HEX - KONSTANTY Pokud nejsou zvlast oznaceny predsunutim zvlastniho znamenka, interpretuji se konstanty zasadne jako Hexa cisla. Proto mohou v TRACE80 cisla zacinat pismeny 0 - 9 a A - F. Priklady: 1000 1000h -1000 0F000h DECIMALNI CISLA Decimalni cisla se oznacuji znamenkem procenta. Jsou pripustne hodnoty od 0 az 65535 Priklady: %1024 0400h -%1024 0F000h BINARNI KONSTANTY ------------------ Binarni konstanty se oznacuji vykricnikem. Rozsah hodnoty se realizuje od 0..1111_1111_1111_1111. Ke strukturaci lze pouzit pomlcky pod carou. Priklad: !100_0000_0000 0400h - 7 - SYMBOLY -------- Jmena symbolu zacinaji '.'. Prvni znacka musi byt pismeno nebo zvlastni znamenko. pripustne jsou symboly 0-9 , A-Z ,# , _ , ., % , ? , . Priklad: .STACK ASCII-KONSTANTY ---------------- Znaky ASCII , s vyjimkou ridicich znaku a znacek mezerovacich, se mohou oznacovat jednoduchym znamenim string. Priklad: 'A 41h ARITMETICKE PROMENNE --------------------- Aritmetickych promennych se vyuziva k rychle aplikaci casto pouzivanych adres. PROGRAMOVY CITAC ----------------- Promenna '* ' obsahuje okamzitou hodnotu programoveho citace, promenna se aktualizuje pouze pri emulaci. Pri provadeni realneho casu obsahuje adresu posledniho emulovaneho povelu, popripade pri provadeni realneho casu s opernymi body, pak adresu naposled probehleho operneho bodu. PROMENNA X X obsahuje aktualni hodnotu toho aritmetickeho vyrazu, ktery se uklada do pameti pri povelu HF. PROMENNA Y Y obsahuje hodnotu posledniho parametru. Tato promenna je uzitecna tehdy, kdyz se pri povelech vyzadujicich udaj rozsahu zadava misto vymezeni pocatecni adresa a distance. Priklad: D .RDHL-10 Y+%20 To znazornuje 21 Bytu pocinaje adresou LDHL- 10 PROMENNA Z Promenna Z se aktualizuje v povelech F a CP. Odkazuje tak na naposled zjistenou adresu pred prerusenim povelu CP nebo F. - 8 - PROMENNA M (MORE) M se aktualizuje povely D, L, LP aLD. Priklady: D 100 Dump od 100h Preruseni povelu D M Pokracovani pametoveho Dumpu CPU - REGISTRY --------------- Obsahy registru CPU se daji pouzit ve vyrazech predsunutim 'R ' pred nazev registru. Priklady: RHL Obsah HL RC' Obsah C' RCA Obsah Carry-Flagu Platne nazvy registru viz priloha B. ARITMETICKE OPERACE -------------------- NEGATIVNI CISLA Znamenko minus tvori vzdy dvojkovy komplement prislusneho cisla hexa. Priklad: -%1024 FC00h JEDNOTKOVY KOMPLEMENT Jednotkovy komplement je bitove invertovani hexa cisla a vypocitava se z dvojkoveho komplementu odectenim jednicky. TRACE80 prevadi cisla do jednotkoveho komplementu predsunutim 'U' (Unary Minus). Priklady: U0000 FFFFh -U0000 1h U-0000 FFFFh DVOJKOVA POTENCE '^' tvori dvojkovou potenci cisla mezi nulou a patnacti. Priklady: ^0 0h ^F 8000h - 9 - ADRESOVANI ----------- Funkce @ dava jako vysledek obsah pametove bunky, kterou operand adresuje. Priklady: @1000 Obsah bunek 1000h a 1001h @RHL Obsah pametovych bunek, ktere jsou adresovany pres HL. PAMETOVE BYTE -------------- Funkce '[ ' ma jako svuj vysledek hodnotu pametoveho byte adresovaneho argumentem. Priklady: [1000 Obsah bunky 1000h [(RIX+3) Obsah bunky (RIX+3) [RIX+3 3+obsah (IX) FUNKCE H (HIGH) Hodnota High - byte operandu Priklad: H1000 0010h FUNKCE L (LOW) Hodnota Low - byte operandu Priklad: L1003 0003h - 10 - FUNKCE I (IF) Syntax: I (,,) I ma jako vysledek hodnotu 1, kdyz podminka je spravna, jinak znamena hodnotu 2, nebo 0. Priklad: I(*>1000,2000,100) Vysledek je 2000h, v pripade, ze programovy citac je vetsi nez 1000h, jinak 100h. FUNKCE P (PORT) P uvolnuje osmi bitovou hodnotu od I/0-Portu. Priklad: P10 Obsah portu 10h NASOBENI Nasobeni se realizuje mezi sestnactibitovymi hodnotami bez ohledu na presahy. Priklad: 1000*3 3000h 1000*10 0H DELENI Deleni se realizuje v celych cislech beze zbytku. Pri deleni nulou se objevuje hlaseni: /0 ARGUMENT ERROR Priklad: %10/3 3h MODULO Operace modulo je znazornena '\'. Priklad: 8\3 2h - 11 - LOGICKE OPERACE S BITY ----------------------- Aby byla rychla interpretace a prehledny vzhled v kompaktnim zpusobu psani, vyjadruji se bitove operace ciselnym znakem. V protikladu k boolevskym operacim, ktere vydavaji, jako vysledek operace 'SPRAVNE' nebo 'NESPRAVNE', predstavuji operace '#' bitovou logickou operaci. Vysledkem je cislo. FUNKCE: N# NOT bitova inverze #A# AND bitova operace AND #O# OR bitova operace OR #X# XOR bitova operace XOR Priklady: 1000#O#2000 3000h RHL#A#1 maskovani bitu 0 v HL HIERARCHIE ----------- Aritmeticke operace se provadeji v tomto poradi: 1. (......) 2. U,+,-,@,[,I,H,L,P (+/- jako predznamenani) 3. *,/ 4. +,- (+,- jako operace) 5. N# 6. #A# 7. #O#,#X# Ve stejnych rovinach se vyraz zpracovava z leva do prava. BYTOVE VYRAZY -------------- Vyrazy jejichz vyslednice je prirazovana k bytove promenne, smeji mit jako vysledek jen hodnoty mezi -256 a +255. BITOVE VYRAZY -------------- Zadani k vymazu, nebo k vsazovani FLAGu smeji mit pouze hodnoty 0 nebo 1. - 12 - BOOLEOVSKE VYRAZY (PODMINKY) ----------------------------- Booleovske vyrazy slouzi, jako ridici kriteria pri povelech TRACE. Jejich hodnota je bud 'SPRAVNE' nebo 'NESPRAVNE'. BOOLEOVA KONSTANTA T (TRUE) Konstanta T ma hodnotu 'TRUE'. BOOLEOVA PROMENNA Q (QUERY) Q ma jako hodnotu aktualni vysledek Booleova vyrazu zadaneho v povelu B. BOOLEOVA PROMENNA S (SYMBOL) S znamena 'SPRAVNE',kdyz programovy pocitac obsahuje symbolickou adresu. SROVNAVANI ----------- Srovnavani jsou operace mezi dvema aritmetickymi vyrazy. Jako operacni znaky jsou pripusteny: = rovna se > vetsi nez < mensi nez >= vetsi nebo rovna se => vetsi nebo rovna se <= mensi nebo rovna se =< mensi nebo rovna se <> nerovna se >< nerovna se Priklad: $>1000 Spravne, kdyz programovy citac je vetsi nez 1000h. - 13 - BOOLEOVSKE OPERACE ------------------- Booleovske operace se musi odlisit od bitovych operaci: N: NOT :A: AND :O: OR :X: XOR Priklad: $>100:A:RHL=0 SPRAVNE,kdyz programovy citac je vetsi nez 100h a HL=0. N:T NESPRAVNE PRIORITY --------- Booleovy vyrazy se zpracovavaji v tomto poradi: 1. (.....) 2. T,Q,S, SROVNANI 3. N: 4. :A: 5. :O:, :X: - 14 - FORMATY ZOBRAZENI ------------------ POVELOVE RADKY Povelove radky se zobrazuji takto: G/B/C/J/ PC 1000 CD 00 20 ZNAKY CALL 2000 ;OUT 1 2 3 4 5 6 7 1 Ridici znaceni prubehu /B pro BREAK /C pro CALL /G pro GO /J pro JUMP 2 Znaceni pro programovy pocitac 3 Adresa 4 OP-kod (1-4 byty) 5 Symbolicke znaky 6 Mnemonicky kod 7 Symbolicke znaceni adresy operandu, nebo znaky ASCII. REGISTRY CPU ------------- Registry CPU se objevuji takto: 84218421 A B C D E H L SP IX IY I IFF ........ 00 00 00 00 00 00 00 9000 0000 0000 00 0 84218421 A' B' C' D' E' H' L' -4 -2 ........ 00 00 00 00 00 00 00 1000 2000 Flegy pokud nejsou uvedeny '.', jsou znazorneny pomoci: C CARRY N Pomocny flag pro soucet P PARITA H PUL-CARRY Z ZERO S SIGN Vpravo dole se znazornuje cast zasobniku. I je prerusovaci registr, IFF prerusovaci FLIP-FLOP CPU. DATA ----- Datove rozsahy se znazornuji vzdycky Hexa a ASCII na obrazovce. Za kazdym Hexa bytem s adresami xxxFh nebo xxx7h se misto mezery tiskne bod. - 15 - TISKARNA --------- V tiskarne se protokoluje dvema provoznimi zpusoby: PLNY TISK Zapinani, vypinani prostrednictvim ^P Veskere vystupy na terminalu se tisknou. DILCI TISK Zapinani, vypinani prostrednictvim ^T Sytemova tiskarna tiskne pouze kratke radky, kdyz na terminalu probiha znazorneni registru. Krome toho jsou zachycovany povely TRACE80 a hlaseni chyb. - 16 - POVELY ------- Vsechny povely TRACE 80 jsou znazorneny v tomto formatu: FORMAT: Uplne znazorneni syntaxe FUNKCE: Kratky popis funkce POZNAMKY: Popis zvlastnosti PRIKLADY: Typicke priklady NOTACE Syntaxe se znazornuje podle techto pravidel: 1. Jmena se museji zadavat tak, jak jsou znazornena. 2. Jmena malymi pismeny v kulatych zavorkach zastupuji jeden vytisk. 3. Vytisky v hranatych zavorkach se mohou vypustit. 4. Vsechny interpunkce se museji zadavat tak jak jsou znazorneny. 5. Jestlize znazorneni syntaxe konci '...', lze predchazejici vytisk zopakovat. 6. Radky, ktere jsou podtrzeny se vydavaji programem. - 17 - ---------------------------------------------------------------------- D DUMP ---------------------------------------------------------------------- FORMAT: D [] []] FUNKCE: Znazorneni obsahu pameti v HEXA a ASCII POZNAMKY: Jestlize chybi udaj o adrese, pouzije se hranic posledniho povelu D Aktualizuje se promenna M Priklady: D 1000 Pametovy dump od 1000h D 1000 1100 Pametovy dump az 1100h D Pametovy dump se starymi parametry D M Pokracovani (dump more) - 18 - ---------------------------------------------------------------------- L LIST ---------------------------------------------------------------------- FORMAT: L [ []] FUNKCE: Znazorneni programu v HEXA a symbolicky, znazorneni symbolickych adres a ridicich znaku prubehu. POZNAMKY: Jestlize chybi hranice adresy, pouzije se hranic posledniho povelu L. Aktualizuje se promenna M. Priklady: L 1000 Listing od 1000h L Listing se starymi parametry L M Pokracovani listingu L .OUT Y+20 Listing od 'OUT's minimalne 32 byty ---------------------------------------------------------------------- LP LIST PROGRAM ---------------------------------------------------------------------- FORMAT: LP FUNKCE: Znazornovani programu od okamziteho stavu programoveho citace az k dalsimu absolutnimu rozvetveni. POZNAMKY: Aktualizuje se promenna M. - 19 - ---------------------------------------------------------------------- LD LIST DATA ---------------------------------------------------------------------- FORMAT: LD [ []] FUNKCE: Listing v HEXA a ASCII, v Bytech a se symbolickymi adresami. POZNAMKY: Aktualizuje se promenna M. Priklady: LD 1000 Listing od 1000h LD 1000 1100 Listing od 1000h do 1100h LD M Pokracovani listingu - 20 - ---------------------------------------------------------------------- V VIEW ---------------------------------------------------------------------- FORMAT: V [ ...] FUNKCE: Zadavani masky pro data. POUZITI: Soucasne zobrazovani datovych rozsahu ve spojeni se zobrazovanim registru na terminalu. POZNAMKY: V s argumenty prebira data primo, V bez argumentu otevira zasobnikovou pamet pro editaci. Data jsou zobrazovana v HEX nebo ASCII, vzdy s 8 nebo 16-ti byte na radek. Pred byte s adresou xxx0h nebo xxx8h se objevuje bod. Jestlize na odpovidajici adresu odkazuje registrovy par, pak se tiskne dvojtecka. Priklady: V 1000 Y+10 Prime zadani dvou adres do zasobnikove pameti. V Otvirani zasobnikove pameti. 1000 Y+10 10 Zadavani dodatecne adresy. --------- V 1000 Y+10 10 ------------ Vymaz zasobnikove pameti. - 21 - ---------------------------------------------------------------------- VP VIEW PROGRAM ---------------------------------------------------------------------- FORMAT: VP [] FUNKCE: Zadani masky obrazovky pro program. POZNAMKY: Jestlize pocet radku je prilis velky, zobrazuje se jenom jedna cast. Priklady: VP 5 Zobrazi se dodatecne 5 povelu. VP Vymaz pridavnych povelovych radku. - 22 - ---------------------------------------------------------------------- P PRINT ---------------------------------------------------------------------- FORMAT: P [] [, ...] FUNKCE: Zadavani dat do pracovni pameti. POZNAMKY: P s datovym udajem zapisuje hodnoty primo do pracovni pameti. P s nebo bez udaju adres jde do interaktivniho zadava- ciho modu. P bez adresoveho udaje pokracuje v zadavani pri dalsi adrese. DATA: Akceptuji se tato zadavana data: Bytove vytisky Preda se vzdycky jeden Byte. Hodnota aritmetickeho vytisku se musi pohybo- vat mezi -256 a 255. Adresy Predsunutim znamenka '#' se aritmetic- ke vytisky interpretuji jako adresy a prebiraji jako dvojite Byty. ASCII strings Dvojite uvozovky zahrnuji znakove rete- zy, ktere se v ASCII formatu prebiraji bez paritniho bitu. Prevzeti do pameti se realizuje teprve po uspesne kontrole syntaxe. - 23 - RIDICI ZNAKY: V interakcnim modu v prvni kurzorove pozici a pri prazdnem bufferu se akceptuji tyto ridici znaky: Konec zadani Listing predchazejiciho bloku Listing dalsiho bloku Snizit adresu o 1 Zvysit adresu o 1 Vymaz modu BATCH Priklady: P 1000 23 -3 Zadani dvou Bytu od adresy 1000h P ,45 'A Pokracovani zadani se 45H a ASCII 'A' P Interakcni zadani P 1000 "ABC" 0D Zadani stringu 'ABC' a 0Dh od 1000h P , #1000 Zadani hodnoty 1000h jako adresy - 24 - ---------------------------------------------------------------------- A ASSEMBLE ---------------------------------------------------------------------- FORMAT: A [] [:][] FUNKCE: Zadavani programu do pracovni pameti. POZNAMKY: A s datovym udajem zapisuje povel primo do pracovni pameti. A s adresovym udajem nebo bez adresoveho udaje vychazi do interakcniho modulu. A bez adresoveho udaje pokracuje z zadani pri dalsi adrese. ZNACENI: Oznaceni se mohou skladat maximalne z 6, popripade 8 znaku, a musi koncit ':'. MNEMONIKA: Mnemonicke povelove instrukce se musi zadavat ve formatu Zilog. ARGUMENTY: Asembler akceptuje vsechny numericke argumenty. Hexa-konstanty musi zacinat ridici cislici. Promenna $ obsahuje hodnotu programoveho citace TRACE 80. Vsechny argumenty se museji zadavat kompaktne. - 25 - RIDICI ZNAKY: V interakcnim modu se v prvni pozici kurzor a pri prazdnem bufferu akceptuji tyto ridici znaky: Konec zadani Listing predchazejiciho bloku Listing pristiho bloku Adresa predchazejiciho prikazu Adresa dalsiho prikazu , Zvysit adresu o 1 Vymaz modu BATCH Priklady: A 1000 LD A,B Asemblovani od 1000h EE: OR 23 Zadani oznaceni EE a prikazu OR 23h CALL NZ,.EEE Zadani CALL NZ,EEE DEFB "ABC" Zadani ASCII 'ABC' ---------------------------------------------------------------------- FILL ---------------------------------------------------------------------- FORMAT: FILL [] FUNKCE: Natazeni konstanty do pameti POZNAMKY: FILL naplnuje pracovni pamet konstantou, popr. 0. Soucasne se provadi jednoduchy pametovy test. Priklady: FILL 1000 2000 23 Plneni od 1000h do 2000h obsahem 23h. FILL 1000 2000 Plneni od 1000h do 2000h obsahem 0h FILL 1000 2000 "ABC" Plneni od 1000h do 2000h s obsahem ASCII 'ABC' - 26 - ---------------------------------------------------------------------- MOVE ---------------------------------------------------------------------- FORMAT: MOVE FUNKCE: Kopirovani pametoveho rozsahu POZNAMKY: MOVE kopiruje obsah od startovaci adresy do koncove adresy na cilovou adresu. Rozsahy se mohou prekryvat. Soucasne se provadi jednoduchy pametovy test. Priklady: MOVE 1000 2000 3000 Kopirovani od 1000h do 2000h na 3000h MOVE 1000 2000 1000 Pametovy test od 1000h do 2000h ---------------------------------------------------------------------- FCB FILE CONTROL BLOCK ---------------------------------------------------------------------- FORMAT: FCB [] FUNKCE: Naplneni FCB POZNAMKY: Povel FCB zapisuje nazev datoveho souboru do bloku File-Control. Byty 12 az 15 se inicializuji 0. Jestlize neni udavana adresa, naplnuje se FCB pri 5Ch. Priklad: FCB xxx.REL 1000 FCB se naplnuje na adresu 1000h FCB *.* FCB se naplnuje na adresu 5Ch s obsahem 0,'????????' - 27 - ---------------------------------------------------------------------- BUF BUFFER ---------------------------------------------------------------------- FORMAT: BUF FUNKCE: Natazeni bufferu pri 80h a naplneni FCB pri 5Ch a 6Ch. POZNAMKY: Prikaz BUF naplnuje FCB a 'Buffer Default' stejnym zpusobem jako provozni system pri vyvolani programu. Priklady: BUF xxx yyy FCB 1 se naplnuje obsahem yyy, FCB 2 obsahem yyy. Bunka 80h obsahuje delku , text zacina 81h a konci 0h. ---------------------------------------------------------------------- I INPORT ---------------------------------------------------------------------- FORMAT: I [] FUNKCE: Cteni stavu I/O portu POZNAMKY: Povel I cte porty I/O podle udanych adres. Lze ukladat a{ 20 adres. Adresy se ukladaji do pameti. Priklady: I 10 11 Cteni portu 10h a 11h I Otevreni textoveho bufferu 10 11 12 Zadani adresy ----- Cteni portu - 28 - ---------------------------------------------------------------------- O OUTPORT ---------------------------------------------------------------------- FORMAT: O FUNKCE: Vystup bytu pres port I/O. POZNAMKY: musi byt aritmeticky vypis o hodnote mezi 0 - 255. Priklady: 0 10 'A' Vystup ASCII 'A' na portu 10h 0 10 24 OF Vystup 24h a OFh na portu 10h - 29 - ---------------------------------------------------------------------- R REGISTER ---------------------------------------------------------------------- FORMAT: R [] , ... FUNKCE: Nastavovani jednotlivych registru CPU. POZNAMKY: Pri startu TRACE80 ukazuje Stack-pointer na konec volne pameti. Registr Interrupt zustava na hodnote, kterou mel pri vyvolani ladiciho programu. Zbyle registry jsou prednastaveny 0. Jestlize chybi udaj hodnoty, prislusny registr se vymaze. Pri pouziti vice nazvu registru je nezbytne nutne pouzit carky. Platne nazvy registru viz priloha B. Priklady: R HL 1000,C 'A Registr HL je obsazen hodnotou 1000h, registr C hodnotou 'A'. R HL,C 'A Registr HL je obsazen hodnotou 0, registr C' hodnotou 0Ah. ZVLASTNOSTI: TRACE80 ma 2 pridavne registry, ktere nejsou zahrnuty v CPU. Registr SL (Subroutine Level) znazornuje okamzitou uroven poprogramu. Pri kazdem realizovanem povelu Return Z80 obsah zmensuje. Pri povelech CALL a RST zvysuje. Registr SB /Stack Basis/ ukazuje na zacatek stacku. Jeho obsah urcuje udaj hloubky zasobniku. Jestlize obsah Stackpointru je vetsi nez SB, objevi se hlaseni STACK UNDERFLOW. Oba registry mohou byt nastaveny jako normalni registry CPU, ctou se povelem H. - 30 - ---------------------------------------------------------------------- K KILL ---------------------------------------------------------------------- FORMAT: K FUNKCE: Vymaz veskerych registru POZNAMKY: Vymazavaji se vsechny registry krome programoveho citace a registru Interrupt. Inicializuje se Stackpointer. ---------------------------------------------------------------------- STO STORE ---------------------------------------------------------------------- FORMAT: STO FUNKCE: Uklada se do pameti okamzity stav registru. POZNAMKY: TRACE80 ma k dispozici dalsi sadu pseudoregistru. Sada se natahuje obsahem STO a lze ji znovu vyvolat pomoci REC. ---------------------------------------------------------------------- REC RECAL ---------------------------------------------------------------------- FORMAT: REC FUNKCE: Cteni druhe sady registru. - 31 - ---------------------------------------------------------------------- PC PROGRAM COUNTER ---------------------------------------------------------------------- FORMAT: PC [] FUNKCE: Nastaveni programoveho citace POZNAMKY: PC bez adresy nastavuje programovy citac na adresu pouzitou pri poslednim povelu PC. Priklady: PC 1000 Nastaveni programoveho citace na 1000h PC $+3 Zvyseni programoveho citace o 3 ---------------------------------------------------------------------- ; SKIP ---------------------------------------------------------------------- FORMAT: -- Primy povel -- FUNKCE: Prikaz preskakuje prikazy, aniz je provede. POZNAMKY: Uvadi se vzdycky dalsi prikaz. - 32 - ---------------------------------------------------------------------- H HEX HF HEX FUNCTION ---------------------------------------------------------------------- FORMAT: H HF [] FUNKCE: Vypocet aritmetickeho tisku POZNAMKY: HF s argumentem prebira aritmeticky tisk primo do vyrovnavaci pameti funkce. HF bez argumentu otevira vyrovnavaci pamet pro edici. Aktualni hodnota aritmetickeho tisku se muze pod funkcni promenou x pouzit v jinych tiscich. Promenna x se v prikazu HF nesmi pouzit (rekurzivni vyvolani). Prikaz H vypocitava hodnotu aritmetickeho tisku aniz by se tisk prevzal do vyrovnavaci pameti funkce. Priklady: H .STACK Hodnota symbolu STACK je uvedena. H @1000 Obsah radku 1000h a 1001h. HF x Neni dovoleno !. - 33 - ---------------------------------------------------------------------- B BOOLEAN BF BOOLEAN FUNCTION ---------------------------------------------------------------------- FORMAT: B BF [] FUNKCE: Vypocet Booleovskeho tisku POZNAMKY: BF s argumentem predava podminku primo do vyrovnavaci pameti funkce. BF bez argumentu otevira vyrovnavaci pamet primo pro edici. Hodnota funkce se da pod promennou Q pouzit v jinych Booleovskych tiscich. B vypocitava hodnotu podminky aniz by se podminka prevzala do vyrovnavaci pameti funkce. Promenna Q se nesmi v prikazu B pouzit. Priklady: B RHL>1000:Q:$>1000 Pravdive, kdyz HL je vetsi nez 1000h, nebo programovy citac je vetsi nez 1000h. BF Q neni dovoleno ! - 34 - ---------------------------------------------------------------------- CP COMPARE ---------------------------------------------------------------------- FORMAT: CP [ ] FUNKCE: Porovnani dvou pametovych prostoru a zobrazeni rozdilu. POZNAMKY: Jestlize je zjisten rozdil, objevi se jako pohotovostni znamenko spojovaci carka. V porovnavani se da pokra- covat stisknutim mezerniku. Promenna Z obsahuje adresu rozdilu, ktery byl naposled zjisten. Prikaz CP bez argumentu, pouziva parametru posledniho prikazu CP. Priklady: CP 1000 1100 2000 Porovnava obsah pameti od 1000h do 1100h s obsahem pameti od 2000h. - 35 - ---------------------------------------------------------------------- F FIND ---------------------------------------------------------------------- FORMAT: F [ ...] FUNKCE: Vyhledavani retezcu HEX a ASCII. POZNAMKY: Jestlize neexistuji hranice rozsahu, hleda se uvnitr naposled pouzitych hranic. Aktualizuje se promenna Z. Pomoci lze pokracovat v hledani. Data se musi objevit ve stejnem formatu jako v prikazu P. Delka retezce je omezena na 40 Byte. Priklady: F 1000 2000 "ABC" Hledani v rozsahu od 1000h do 2000h ASCII retezce "ABC" F ,"ERROR" 0D Hledani se starymi hranicemi noveho ASCII retezce "ERROR" a 0Dh. F 1000 3000 Hledani s novymi hranicemi posledne pouziteho retezce. F Hledani s posledne pouzitymi hranicemi posledne uziteho retezce. ---------------------------------------------------------------------- HELP ---------------------------------------------------------------------- FORMAT: HELP FUNKCE: Zobrazeni povelu TRACE80 - 36 - ---------------------------------------------------------------------- WAIT ---------------------------------------------------------------------- FORMAT: WAIT [Cekaci doba] FUNKCE: Nastavovani cekaci doby POZNAMKY: U povelu T, UT a PASS se da vytvorit dodatecna cekaci doba pred vymazem obrazovky. Parametr zavisi na typu pocitace a na rychlosti procesoru. V prizpusobovaci tabulce TRACE80 se da zaznamenat standardni hodnota. Bez udani parametru je cekaci doba nulova. Priklad: WAIT 1000 - 37 - ---------------------------------------------------------------------- SS SYMBOL SET ---------------------------------------------------------------------- FORMAT: SS , ... FUNKCE: Vytvareni symbolu a urcovani hodnoty. POZNAMKY: Nazvy symbolu se skladaji ze 6, maximalne 8 znaku a musi zacinat pismenem, nebo zvlast- nim znakem. Nove generovane symboly se vzdy nachazi na zacatku symboloveho bufferu, takze vybavova- ni techto nazvu probiha velmi rychle. Symbolovy buffer a zasobnik TRACE80 pouzivaji stejnou pamet. Je mozne, ze pri silnem rozpo- lickovani vyrazu se objevi hlaseni: 'ARGUMENT ERROR' i kdyz nejde o zadnou for- malni chybu. V tomto pripade se poruchova funkce da odstranit vymazanim nekolika vyrazu. Priklady: SS NAME 1000 Symbol 'NAME' se nasadi na adresu 1000h. - 38 - ---------------------------------------------------------------------- SC SYMBOL CLEAR ---------------------------------------------------------------------- FORMAT: SC [ []] FUNKCE: Vymaz vsech symbolu uvnitr urcite oblasti. POZNAMKY: SC bez udani adresove oblasti vymazava vsechny symboly. Povel LOAD vymazava rovnez vsechny symboly v rozsahu nabijeci adresove oblasti. Priklady: SC 1000 2000 Vymaz veskerych symbolu mezi 1000h az 2000h. SC 2000 Vymaz veskerych symbolu nad 2000h. ---------------------------------------------------------------------- SD SYMBOL DELETE ---------------------------------------------------------------------- FORMAT: SD ... SD / [ []] FUNKCE: Vymazavani jednotlivych symbolu nebo celych skupin symbolu. POZNAMKY: Maska je platny nazev symbolu, ktery muze take obsahovat znaky '*' a '?'. '?' zastupuje jaky- koliv znak, zatimco '*' nahrazuje libovolny retezec znaku. Priklady: SD xxx yyy Vymazavaji se symboly xxx a yyy. SD /*A* Vymaz vsech symolu, ktere obsahuji znak 'A'. - 39 - ---------------------------------------------------------------------- SL SYMBOL LIST ---------------------------------------------------------------------- FORMAT: SL [ []] SL / [ []] FUNKCE: Zobrazeni a serazeni vsech pouzitych symbolu v abecednim poradi. POZNAMKY: Pri udani hranic rozsahu se zobrazuji pouze symboly, ktere lezi pouze uvnitr techto hranic. Priklady: SL 1000 2000 Zobrazeni serazenych symbolu mezi 1000h az 2000h SL Zobrazeni vsech symbolu SL /*OUT Zobrazeni vsech symbolu koncicich 'OUT'. SL /OUT* Zobrazeni vsech symbolu zacinajicich 'OUT'. TESTOVANI PROGRAMU: -------------------- Casti programu, ktere se maji otestovat se mohou realizovat pomoci TRACE80 dvema zpusoby: EMULACI nebo v REALNEM CASE -------- ------------- Realny cas, kdyz se v nem testuje, dovoluje zasahy do prubehu pro gramu pouze na bodech zastaveni. Provadeni programu se deje maximalni rychlosti procesoru. Pri emulaci se interpretuje kazdy povel. Stav simulovaneho procesoru je vzdy znam. Program se po kazdem povelu da zastavit. Emulaci se rychlost zpomaluje o faktor 100 az 500. U povelu UT, nebo pri uziti povelu W se doba realizace dodatecne prodlouzi o cas potrebny k interpretaci podminky. Jestlize v uzivatel skem programu jsou casti narocne na cas, mely by se otestovat nejdrive a potom oznacit jako rozsah realneho casu. Vsechny emulacni prikazy testuji podminku preruseni teprve po prvnim emulacnim kroku. Emuluje se tedy nejmene jeden povel. - 40 - ---------------------------------------------------------------------- , SINGLE STEP . : ---------------------------------------------------------------------- FORMAT: -- Primy povel -- FUNKCE: Emulace jedne instrukce procesoru Z80 POZNAMKY: ',' emuluje jeden povel, '.' tiskne na tiskarne dodatecne kratky radek. Povel ':' emuluje jednu instrukci Z80 aniz by byl zobrazen stav registru. ---------------------------------------------------------------------- T TRACE ---------------------------------------------------------------------- FORMAT: T [pocet] FUNKCE: Emulovani nekolika instrukci se zobrazenim na obrazovce. POZNAMKY: T bez argumentu emuluje tolik instrukci, kolik jich bylo navoleno predeslym povelem T. Pocet je aritmetickym vyrazem. Priklady: T 10 Emuluje se 16 instrukci T %10 Emuluje se 10 instrukci - 41 - ---------------------------------------------------------------------- U UNTRACE ---------------------------------------------------------------------- FORMAT: U [] FUNKCE: Emulace nekolika instrukci, aniz by se na obrazovce, nebo tiskarne po kazde emulaci zobrazoval povelovy radek a stav registru. POZNAMKY: Pocet je aritmeticky vyraz. Jestlize se jeho hodnota rovna 0FFFFh (-1), emulace pokracuje az se provede preruseni pres klavesnici. Priklady: U 10 Emuluje se 16 povelu. U -1 Emuluje se bez preruseni ---------------------------------------------------------------------- UU UNTRACE UNTIL ---------------------------------------------------------------------- FORMAT: UU [] [] FUNKCE: Emulace pokracuje, az se dosahne udane adresy. POZNAMKY: Jestlize citac prubehu je vetsi nez 0, probehne se adresou casto. Priklady: UU 1000 Sledovani, az se progra- movy citac rovna 1000h. UU 1000, 10 Sledovani, az adresa 1000h probehne 16 x. - 42 - ---------------------------------------------------------------------- UR UNTRACE REGISTER ---------------------------------------------------------------------- FORMAT: UR [] FUNKCE: Povel ridi prubeh programu v zavislosti na obsahu registru CPU. POZNAMKY: Bez udani hodnoty dojde k preruseni pri obsahu registru 0. Povel se da aplikovat v ciselnych smyckach. Priklady: UR HL Sledovani az se rovna 0 UR CA 1 Sledovani az k nastaveni indikatoru prenosu CA. - 43 - ---------------------------------------------------------------------- UL UNTRACE LEVEL ---------------------------------------------------------------------- FORMAT: UL [] FUNKCE: Emulace az se dosahne urcite urovne podprogramu. POZNAMKY: Povel UL emuluje povely tak dlouho, az pocet vyvolanych podprogramu (CALL A RST) bez poctu skoku podprogramu (RET) rovna vyrazu . Argument tedy predstavuje relativni uroven podprogramu u ktere dojde k preruseni. Jestlize sledovani ma pokracovat az do skonceni podprogramu, musi se pracovat s negativnimi argumenty. Povel UL bez argumentu pusobi jako UL -1. Navrat z podprogramu. Provedeni podprogramu v realnem case (povely C a J) potom neni mozne, kdyz napr. predani parametru podprogramu nasle- duje po instrukci CALL. Zde se muze bezchybne emulovat povelem UL (UL = J, UL 0 = C). Priklady: UL 1 Sledovani az k podprogramu. UL Sledovani az k dosazeni programu, ktery je vyvolavan. UL 2 Sledovani az do urovne podprogra- mu o 2 mensi. - 44 - ---------------------------------------------------------------------- UB UNTRACE BRANCH ---------------------------------------------------------------------- FORMAT: UB FUNKCE: Prubeh programu pokracuje tak dlouho, az se program rozvetvi. POZNAMKY: Povel se da provest pouze tehdy, kdyz progra- movy citac je na podminenem skoku. (napr. JR NZ, RET C, JP (HL)) TRACE80 kontroluje smer rozvetveni a pokracu- je v emulaci tak dlouho, az se na stejnem miste programu rozvetvuje jinym smerem. Povel UB slouzi k ukonceni smycek. Pritom musi programovy citac pri provadeni programu ukazo- vat na instrukci skoku. Pozor u smycek s nekolika vystupy ! Priklady: Program LD B,10 LOOP: LD A,(DE) INC HL INC DE LP1: DJNZ LOOP LD A,C Program se muze az k LP1 emulovat s povely jednotlivych skoku. Potom se s UB probiha smyc- kou az k odskokum. - 45 - ---------------------------------------------------------------------- UT UNTRACE TRUE ---------------------------------------------------------------------- FORMAT: UT [ [] []] FUNKCE: Emulovani az je splnena podminka 1. POZNAMKY: Povel UT je nejpomalejsim a nejvsestranejsim emulacnim povelem. V protikladu ke vsem ostat- nim emulacnim povelum se hodnota argumentu po kazdem kroku znovu vypocitava. Jestlize je splnena podminka 1, srovnava se stav citace podminky s hodnotou a u stejneho stavu se emulace prerusi; jinak se citac podminky zvysuje o 1. Pri splneni podminky 2 se na termi- nalu zobrazuje stav registru CPU. Povel UT bez argumentu otevira buffer k editaci. Provadeni programu se da uspisit, kdyz se misto symbolickych adres pouzije adres HEX a pracuje se podle moznosti bez zavorek. Priklady: UT $=1000,3,T Adresa 1000h az do preru- seni probehne 3 x a po kaz- dem emulacnim kroku se zo- brazuje stav registru. UT N:T,,$=1000 Sledovani bez preruseni, udavani stavu registru pri adrese 1000h. UT [(RIX+2)=0 Sledovani az se obsah pame- tove bunky adresovane pomo- ci IX+2 rovna 0. UT S Sledovani az k symbolicke adrese. - 46 - ---------------------------------------------------------------------- HL HISTORY LIST HC HISTORY CLEAR ---------------------------------------------------------------------- FORMAT: HL [] HC FUNKCE: HL Zobrazuje probehle instrukce. HC Vymazava buffer probehlych instrukci. POZNAMKY: TRACE80 uklada do pameti adresy poslednich 255 probehlych instrukci, ktere byly emulovany. Tento buffer se da zobrazit na terminalu pomoci povelu HL. Priklady: HL %10 Zobrazeni poslednich 10 instrukci. HC Vymaz bufferu. - 47 - ---------------------------------------------------------------------- W WATCH ---------------------------------------------------------------------- FORMAT: [] FUNKCE: Stanoveni podminky preruseni. POZNAMKY: Pro vsechny emulacni povely se da stanovit podminka preruseni. Podminka se kontroluje po kazde provedene instrukci. Tim se vzdy provadi nejmene 1 povel. Jestlize se pouzije povelu W bez argumentu, lze editovat starou podminku. Kdyz je podminka splnena, objevi se pred vodicim znakem znamenko +, jinak -. Rychlost emulace se zpomali. Priklady: W $ 1000:O:$ 100 Omezeni pripustneho rozsahu pro progra- movy citac. W RSP] [bod zastaveni> ...] FUNKCE: Spusteni programu v realnem case. POZNAMKY: Povel G znamena pokracovani programu pri start. adrese v realnem case. Bez udani start. adresy pokracuje program pri poslednim stavu programo- veho citace. Dodatecne se pro trvani povelu da stanovit 10 bodu zastaveni. Pri vyuziti teto moznosti se pridavne body zastaveni serazuji. Pomoci lze program spustit. Priklady: G 1000 Provadeni v realnem case od adresy 1000h. G Provadeni v realnem case od okamzite hodnoty programoveho citace . G ,2000 Provadeni v realnem case od okamzite hodnoty s bodem zastaveni na 2000h. - 50 - ---------------------------------------------------------------------- GB GO BRANCH ---------------------------------------------------------------------- FORMAT: GB FUNKCE: Ukoncovani smycky v realnem case. POZNAMKY: Povel GB je povolen jen tehdy, kdyz programovy citac stoji na podminenem vetveni. TRACE80 nasazuje na tuto adresu bod zastaveni a realizuje pokracovani programu v realnem case. Bod zastaveni je ignorovan tak dlouho, dokud smer vetveni neodpovida smeru vetveni pri vyvo- lani povelu. Povel je ekvivalentem v realne case k povelu UB. Slouzi k rychlemu ukonceni smycek. Priklady: Program WAIT: LD B,3 WAIT1: PUSH BC LD BC,0 WAIT2: DEC BC LD A,B OR C JR NZ,WAIT2 POP BC WAIT3: DJNZ WAIT1 RET Kdyz programovy citac ukazuje na WAIT3 da se program ukoncit po- velem GB. - 51 - ---------------------------------------------------------------------- GN GO NO BREAKPOINTS ---------------------------------------------------------------------- FORMAT: GN [] [] FUNKCE: Startovani programu v realnem case POZNAMKY: Povel GN pusobi stejne jako povel G s tim roz- dilem, ze se body zastaveni nestanovi ihned, nybrz teprve kdyz se na terminalu zada urcity znak 'Ctrl \'. Uzivatelsky program tedy musi pouzit provozni systemove funkce CONSOLE INPUT. Tim je umozneno zacilene preruseni uzivatelske- ho programu. Priklady: GN ,1000, 1200 Start programu s body zastaveni na 1000h a na 1200h. - 52 - ---------------------------------------------------------------------- J JUMP ---------------------------------------------------------------------- FORMAT: J [] FUNKCE: Ukonceni podprogramu v realnem case. POZNAMKY: Povel nasazuje nerezistentni bod zastaveni na tu adresu, ktera je v zasobniku nejvyse. Podprogram se tedy da provest jenom s J v realnem case, pokud v zasobniku nebyly jeste zajisteny dalsi hodnoty. Povel je dovolen na vsech mistech skoku podprogramu. Priklady: Podprogram SUBR: LD A,C SUBR1: PUSH HL ... ... POP HL SUBR2: ... ... SUBR3: RET Povelu J se da pouzit jenom na mistech oznacenych znackami. - 53 - ---------------------------------------------------------------------- C CALL ---------------------------------------------------------------------- FORMAT: C FUNKCE: Provedeni podprogramu v realnem case. POZNAMKY: Jestlize programovy citac je na instrukci CALL, nebo RST, provede se podprogram v realnem case. K tomu se za povel CALL nebo RST zaznamena nerezistentni bod zastaveni. Klavesa '.' provede povel C v primem modu. Jestlize se na adrese nenajde zadne vyvolani podprogramu, provede se emulacni krok. ---------------------------------------------------------------------- E EXECUTE ---------------------------------------------------------------------- FORMAT: E [] FUNKCE: Provedeni podprogramu v realnem case POZNAMKY: Povel slouzi k testovani jednotlivych modulu. V protikladu k povelu J se ukazatel zasobniku neinkrementuje. Programovy citac ukazuje po provedeni podprogramu na zacatek podprogramu. Jestlize neni udana zadna startovaci adresa, predpoklada se, ze programovy citac uz ukazuje na podprogram. Priklady: E 1000 Provedeni podprogramu pri 1000h. - 54 - ---------------------------------------------------------------------- BS BREAK SET GS GO SET JS JUMP SET CS CALL SET ---------------------------------------------------------------------- FORMAT1: ?S ... FORMAT2: ?S /[[]] FUNKCE: Umisteni ridicich znacek prubehu. POZNAMKY: Pridrzne body se daji umistit prikazem BS. Prikazy GS, JS, CS oznacuji programova mista, na kterych se misto emulace provadi prislusny povel v realnem case. Pocet pridrznych bodu je omezen na 40. Pocet ridicich znacek prubehu pro J je omezen na 40, pro C a G vzdy na 20. Format 1 umoznuje umistovat jednotlive znacky udanim adresy. Format 2 generuje znacky z pouzitych symbolu v ramci uvedenych adresnich hranic. Ucelnym pojmenovanim znacek v puvodnim textu se ridici znacky prubehu daji definovat uz tam. je retezec s maximalne 8-mi znaky. '?' zastu- puje kterekoliv pismeno, '*' zastupuje kteroukoliv slabiku. Priklady: BS 1000 1200 Umisteni pridrznych bodu na adresu 1000h a 1200h. BS /L??????? Umisteni pridrznych bodu na vsechny adresy, jejichz symbol zacina s L. BS /*$ Umisteni pridrznych bodu vsech adres, jejichz symbol konci na *. - 55 - ---------------------------------------------------------------------- BC BREAK CLEAR GC GO CLEAR JC JUMP CLEAR CC CALL CLEAR MC MARK CLEAR ---------------------------------------------------------------------- FORMAT: ?C [ []] FUNKCE: Povely vymazavaji vsechny znacky jednoho typu. MC vymazava vsechny znacky. POZNAMKY: Jestlize se dodatecne uvede rozsah, vymazavaji se pouze znacky uvnitr hranic adres. Priklady: BC Vymazani vsech pridrznych bodu. CC 1000 2000 Vymazani vsech ridicich znacek pro C v rozsahu mezi 1000h a 2000h. - 56 - -------------------------------------------------------------------- BD BREAK DELETTE GD GO DELETTE JD JUMP DELETTE CD CALL DELETTE --------------------------------------------------------------------- FORMAT1: ?D ... FORMAT2: ?D / [start. adresa> []] FUNKCE: Vymazavani jednotlivych ridicich znacek prubehu. POZNAMKY: Povely BD, GD, JD a CD vymazavaji ridici znacky pru- behu, popripade pridrzne body na prislusnych adresach. Format 1 umoznuje vymazavat jednotlive znacky udanim adresy. Format 2 vymazava znacky pomoci masky v ramci adresnich hranic. je retezec s maximalne osmi znaky. '?' zastupuje kterekoliv pismeno. Priklady: BD 1000 1200 Vymaz pridrznych bodu na adrese 1000h a 1200h. BD /L??????? Vymaz vsech pridrznych bodu,jejichz symboly zacinaji L. - 57 - ---------------------------------------------------------------------- BL BREAK LIST GL GO LIST JL JUMP LIST CL CALL LIST ML MARK LIST ---------------------------------------------------------------------- FORMAT: ?L [ []] FUNKCE: Vypis ridicich znacek prubehu jednoho typu. ML vypisuje vsechny znacky. POZNAMKY: Udanim rozsahu se vypisuji jenom znacky, jejichz adresa je v ramci uvedenych rozsahu. Priklady: BL 1000 2000 Vypis vsech pridrznych bodu v rozsahu 1000h a 2000h. - 58 - ---------------------------------------------------------------------- PASS ---------------------------------------------------------------------- FORMAT: PASS [ [] []] FUNKCE: Zadani podminky pro pridrzny bod. POZNAMKY: PASS bez argumentu otevira zasobnikovou pamet pro editovani. PASS s argumenty, prebira tisk primo do zasobnikove pameti. Povel PASS umoznuje propojovat pridrzne body s podmin- kami. Jestlize plati podminka 1, pridrzny bod se igno- ruje a program pokracuje v realnem case. Prubeh programu lze prerusit na pridrznem bode mezernikem, popripade klavesou CR. Velicina citac udava, kolikrat je treba splnit podminku 1 na pridrznem bode, aby se uskutecnilo preruseni programu (Citac prubehu pro pridrzne body). Jestlize plati podminka 2 uvadi se stav registru na terminalu. Priklad 1: BC Vymaz veskerych pridrznych bodu BS 1000 Umisteni pridrzneho bodu na adresu 1000h. PASS T %1000 RC=0 Zadani podminky. G Startovani programu v realnem case. Pridrzny bod na 1000h probehne 1000x, nez dojde k pre- ruseni programu. Na terminalu se zobrazi stav registru, jestlize registr C ma hodnotu 0. Priklad 2: BC BS 1000 1200 PASS T G Program se provadi bez preruseni, lze jej vsak pre- rusit na mistech 1000h a 1200h. - 59 - ---------------------------------------------------------------------- NS NMI SET NC NMI CLEAR ---------------------------------------------------------------------- FORMAT: NS FORMAT: NC FUNKCE: Umisteni / vymaz volby NMI. POZNAMKY: Povel NON MASKABLE INTERRUPT (NMI) znamena nemasko- vatelne preruseni. U obvodu Z80-CPU lze pouzit k pre- ruseni programu. K tomu je treba na adresu 66H zavest skokovou instrukci. Na stejnych adresach je uz FCB z CP/M. Proto se skokova instrukce zavadi jen pri umiste- ne volbe a pri povelech v realnem case. Zachranuje stary stav pametovych bunek a po skonceni programove casti se ukladaji zpet do pameti. Ke spusteni NMI je nutny neodskakujici spinac, nebo logicke zapojeni. - 60 - ---------------------------------------------------------------------- SPL SPOOLER ---------------------------------------------------------------------- FORMAT: SPL FUNKCE: Vytisteni souboru dat na tiskarne. POZNAMKY: Pomoci SPL se soubor dat prenasi na tiskarnu. Pritom se prechodne blokuje pouziti jinymi programy. Protoze provozni system neni vicenasobne pristupny, suspenduje se funkce tak dlouho, dokud se programovy citac nachazi nad volnou pameti. Bez udani typu datoveho souboru se tiskne typ .PRN. Priklady: SPL xxx Vytisteni xxx.PRN SPL xxx. Vytisteni xxx SPL xxx.MAC Vytisteni xxx.MAC ---------------------------------------------------------------------- SPE SPOOLER END ---------------------------------------------------------------------- FORMAT: SPE FUNKCE: Preruseni prenosu na tiskarnu. POZNAMKY: SPE vytvari v kazdem pripade strankovy posuv. - 61 - ---------------------------------------------------------------------- LOAD ---------------------------------------------------------------------- FORMAT: LOAD [ [ []]] FUNKCE: Zavadeni souboru dat. POZNAMKY: LOAD prevadi soubor dat z diskety do pameti. Bez udani adresy se zavadi do pameti na adresu 100h. Offset se vztahuje na disketu, tj. hodnota offset znamena pocet Byte, ktere cte disketa nez zacne zavadeci proces u zavadeci adresy. Pri nazvech bez udani typu se zavadi typ .COM. Vsechny symboly v rozsahu zavadeci adresy se vymaza- vaji. Jestlize se na diskete nachazi soubor symbolu, zavadi se vsechny symboly. Priklady: LOAD xxx Zavadeni souboru xxx.COM a souboru dat xxx.SYM. LOAD xxx 100 200 Zavadeni souboru xxx.COM od adresy 100h az maximalne 200h, vcetne prislusnych symbolu. - 62 - ---------------------------------------------------------------------- SAVE ---------------------------------------------------------------------- FORMAT: SAVE FUNKCE: Prenos obsahu operacni pameti na disketu. POZNAMKY: SAVE kopiruje obsah pameti do datoveho souboru na disketu. Bez udani typu datoveho souboru se ulozi soubor .COM. Volne Byte posledniho sektoru se naplnuji nulou. Soucasne se generuje soubor symbolu, ktery obsahuje vsechny symboly v rozmezi adresy. Priklady: SAVE xxx 100 200 Ulozi obsah pameti od adresy 100h do 200h do datoveho souboru xxx.COM. ---------------------------------------------------------------------- RUN ---------------------------------------------------------------------- FORMAT: RUN [] FUNKCE: Zavadeni a startovani programu. POZNAMKY: RUN zavadi datovy soubor na 100h, obsazuje formatem text FCB pri 5Ch a 6Ch a zasobnikovou pamet od 80h a startuje program od adresy 100h. Navrat k TRACE 80 se realizuje bud pomoci RET a nebo pomoci WARMBOOT. Priklady: RUN M80 Spusteni programu M80.COM. - 63 - ---------------------------------------------------------------------- BOOT ---------------------------------------------------------------------- FORMAT: BOOT FUNKCE: Studeny start provozniho systemu POZNAMKY: V adaptacni tabulce TRACE 80 lze zanest skok do rutiny studeneho startu, popripade nekolik povelu, ktere vyvolavaji nastaveni pocatecniho stavu systemu. ---------------------------------------------------------------------- BYE ---------------------------------------------------------------------- FORMAT: BYE FUNKCE: Ukonceni prace TRACE80 a predani rizeni provoznimu systemu. POZNAMKY: BYE predava rizeni provoznimu systemu (CCP). Predtim se odstrani modifikace v ramci skoku BIOS. - 64 - ---------------------------------------------------------------------- BAT BATCH ---------------------------------------------------------------------- FORMAT: BAT [] FUNKCE: Vyvolani datoveho souboru BATCH POZNAMKY: Povely TRACE80 se daji ulozit do pameti v textovem souboru. Povelem BAT se tento soubor cte a povely se provadeji. Pro kazdy povel se musi pouzit novy radek. V jednom textovem souboru se da umistit nekolik povelovych skupin, ktere musi byt od sebe oddeleny pomoci . BAT bez udani poctu stranek se vzdycky zameruje na prvni stranku (stranka 0). Pred provedenim povelu BAT se prezkousi, zda na terminalu existuje znak. Je-li tomu tak, predava se kontrola az po na terminal. v prvni poloze kurzoru a pri prazdnem zadavacim bufferu vymazava povel BAT. Dokud je povel BAT nebo BAR aktivni, tiskne se pred prompt druha hvezdicka. Typ souboru pro soubor BATCH je .T80 nebo .T85. Priklady: BAT ZZZ 2 Stranka 2 souboru ZZZ.T80 se aktivuje jako soubor BATCH. BAT ZZZ.ZZZ Stranka 0 souboru ZZZ.ZZZ je aktivovana. - 65 - ---------------------------------------------------------------------- BAR BATCH REQUEST ---------------------------------------------------------------------- FORMAT: BAR [ [] FUNKCE: Vyvolani souboru BATCH POZNAMKY: Povely TRACE80 se daji ulozit v textovem souboru. Povelem BAR se tento soubor cte a povel se pro- vede. Pro kazdy povel se musi pouzit novy radek. V jednom textovem souboru se da umistit nekolik sku- pin povelu, ktere musi byt od sebe oddeleny pomoci . BAR bez udani poctu stranek smeruje vzdycky na 1. stranku (stranka 0). Povel BAR prevadi prikaz do poveloveho bufferu TRACE80 a predava kontrolu az po . v nejprednejsi poloze kursoru a pri prazdnem bufferu povel BAR vymazava. Dokud je povel BAT nebo BAR aktivni, pisi se jako prompt dve hvezdicky. Typ souboru pro soubor BATCH je 'T80' nebo 'T85'. Priklady: BAT ZZZ Stranka 2 souboru ZZZ.T80 se aktivuje jako povel BATCH. BAR ZZZ.ZZZ Je aktivovana stranka 0 souboru ZZZ.ZZZ . - 66 - * * * DODATEK A * * * Pripustne registry: -------------------- Jednoduche registry: A akumulator F flag-registr B registr B C registr C D registr D E registr E H registr H L registr L HX high-byte indexregistru IX LX low-byte indexregistru IX HY high-byte indexregistru IY HY low-byte indexregistru IY A' registr A' F' registr F' B' registr B' C' registr C' D' registr D' E' registr E' H' registr H' L' registr L' I interrupt-registr R refresh-registr Dvojite registry: AF registr AF BC registr BC DE registr DE HL registr HL AF' registr AF' BC' registr BC' DE' registr DE' HL' registr HL' IX indexregistr IX IY indexregistr IY SP ukazatel zasobniku PC programovy citac SL rovina podprogramu SB zacatek stacku CA carry N addition/substraction flag P paritni flag HC flag pro polovicni prenos Z zero-flag S znamenkovy flag CA',P' flagy pro zalozni registry N',HC' Z',S' IFF interrupt flip-flop INT interrupt flip-flop - 68 - SEZNAM POVELU: =============== , .................................................... 40 . .................................................... 40 : .................................................... 40 A .................................................... 24 B .................................................... 33 BAR .................................................... 65 BAT .................................................... 64 BC .................................................... 55 BD .................................................... 56 BF .................................................... 33 BL .................................................... 57 BOOT ................................................... 63 BS .................................................... 54 BUF .................................................... 27 BYE .................................................... 63 C .................................................... 53 CC .................................................... 55 CD .................................................... 56 CL .................................................... 57 CP .................................................... 34 CS .................................................... 54 D .................................................... 17 E .................................................... 53 F .................................................... 35 FCB .................................................... 26 FILL ................................................... 25 G .................................................... 49 GB .................................................... 50 GC .................................................... 55 GD .................................................... 56 GL .................................................... 57 GN .................................................... 51 GS .................................................... 54 H .................................................... 32 HC .................................................... 46 HELP ................................................... 35 HF .................................................... 32 HL .................................................... 46 I .................................................... 27 J .................................................... 52 JC .................................................... 55 JD .................................................... 56 JL .................................................... 57 JS .................................................... 54 K .................................................... 30 L .................................................... 18 LD .................................................... 19 - 69 - LOAD ................................................... 61 LP .................................................... 18 MC .................................................... 55 ML .................................................... 57 MOVE ................................................... 26 NC .................................................... 59 NS .................................................... 59 O .................................................... 28 P .................................................... 22 PASS ................................................... 58 PC .................................................... 31 R .................................................... 29 REC .................................................... 30 RUN .................................................... 62 SAVE ................................................... 62 SC .................................................... 38 SD .................................................... 38 SL .................................................... 39 SPE .................................................... 60 SPL .................................................... 60 SS .................................................... 37 STO .................................................... 30 T .................................................... 40 U .................................................... 41 UB .................................................... 44 UL .................................................... 43 UR .................................................... 42 UT .................................................... 45 UU .................................................... 41 V .................................................... 20 VP .................................................... 21 W .................................................... 47 - 70 - POMOCNE PROGRAMY: ---------------------------------------------------------------------- NXSUB NOT XSUB ---------------------------------------------------------------------- Pri vyvolani TRACE80 se ocekava, ze vektor na adrese 0 (skok na tep- ly start) ukazuje na skokovou tabulku CBIOS. To je nutne, protoze program TRACE80 provadi vstup a vystup primo pres CBIOS. Jestlize TRACE80 byl vyvolan sekvenci SUBMIT, pak je jeste predtim treba odstranit pripadne instalovany XSUB. Program NXSUB vyvolava systemovou funkci 0 a zpusobuje teply start. Priklad: SUBMIT file: XSUB L80 TEST1,TEST2,TEST/N/Y/E NXSUB T80 TEST ... ... XSUB ... ... ---------------------------------------------------------------------- GSYM GENERATE SYMBOLS ---------------------------------------------------------------------- GSYM je pomocny program pro uzivatele souboru ZASM. Linkovaci program nevytvari zadny soubor symbolu kompatibilni s TRACE80. Pomoci GSYM se ziskava soubor typu SYM ze souboru krizovych odkazu linkeru. Tento program je mozne spustit jedine na pocitacich se Z80-CPU. Priklad: GSYM TEST Soubor symbolu TEST.SYM se vytvari ze souboru TEST.CRS - 71 - ---------------------------------------------------------------------- SETG SET GLOBAL ---------------------------------------------------------------------- V testovaci fazi je zadouci, aby byl pristup ke vsem navestim pouzitym v puvodnim textu. K tomu je treba deklarovat vsechna navesti jako globalni. Aby se tento postup zjednodusil a soucasne usnadnilo odstra- neni pridavnych deklaraci GLOBAL, melo by se pouzit uvedeneho programu. Program splnuje tyto funkce: 1. Vsechny deklarace global, ktere zacinaji na 1.radku, jsou odstraneny az do objeveni prazdneho radku. 2. Pro vsechna navesti, ktera dosud nebyla deklarovana jako globalni prostrednictvim znaku '::', se na za- catku puvodniho textu vytvari deklarace global. 3. Pripadne existujici cisla radku s bit7=high se od- stranuji (MACRO-80 radkova cisla). Program se da libovolne casto aplikovat na zdrojovy soubor, protoze se vsechny stare globalni deklarace pokazde odstranuji. Puvodni text nesmi zacinat deklaracemi global. Po testovaci fazi se pridavne dohody s editorem daji snadno odstranit. Pro prizpusobeni k ruznym typum assembleru je nutna modifikace pro- gramu. Protoze nelze prevzit zaruku na presnou funkci programu, je bezpodminecne nutne pri prvnich pokusech zajistit puvodni text. Prubeh programu se da modifikovat stanovenim dvou variant: /R REQUEST pri kazdem zjistenem symbolu se vznasi dotaz, zda se ma vytvorit deklarace GLOBAL. /C CLEAR vsechny drive vytvorene globalni deklarace se vymazavaji. Nevytvari se zadne nove deklarace. /L LIST vsechny globalni deklarace se zobrazuji na terminalu. - 72 - SYNTAX: / , ... Priklad: SETG TEST Pro soubor TEST.MAC se vytvari pridavne globalni deklarace. SETG TEST1/C Globalni deklarace v souboru TEST1.MAC se vymazavaji. SETG TEST/R Program vytvari v dialogu v souboru TEST.MAC. - 73 - ---------------------------------------------------------------------- SETM SET MARKS ---------------------------------------------------------------------- BATCH - soubory pro program TRACE80 se daji stanovit jak s editorem, tak take jiz ve zdrojovem textu assemleru, kde se definuji. Odpovi- dajici povel TRACE80 se pritom zanasi do komentaroveho pole. Tim je zajisteno, ze beh assembleru neni ovlivnen. Pro oznaceni prikazu TRACE80 se musi primo za komentarovy strednik umistit znak '$'. Nasledujici text se pak interpretuje jako prikaz TRACE80. Priklad: IN:: IN A,(CONST) ;$ JS .IN BIT READY,A JR Z,IN RET Pomoci programu SETM se komentarove radky zacinajici znackou '$' z assembleroveho zdrojoveho textu ziskavaji, tridi a ukladaji v souboru typu T80. Uvedenim cisla primo za znackou '$' se da zvolit stranka 0 az 255, pod kterou se textovy retezec uklada do souboru. Soucasne se da nacist az 20 zdrojovych textu. SYNTAX: = , ... Priklady: A>SETM vyvolani programu *TEST=TEST1,TEST2 Ze souboru TEST1.MAC a TEST2.MAC se ziskava soubor TEST.T80 *=TEST.ASM Ze souboru TEST.ASM se ziska DEF.T80 *CON:=TEST Vsechny zaznamy do souboru TEST.MAC se zobrazuji na terminalu. *LST:=/TEST Tiskne se obsah BATCH-souboru TEST.T80. *TEST=TEST1.T80,TEST2.T80 Oba BATCH-soubory se sdruzuji. EMULACE -------- HL [] Vypis poslednich povelu HC Vymaz vyrovnavaci pameti W [] Stanoveni podminky preruseni PROVADENI V REALNEM CASE ------------------------- G [] [ ... ] Start programu v realnem case GN [] [ ... ] Start programu v realnem case GB Provadeni programu v realnem case az do rozboceni programu J [] Zakonceni podprogramu C / Podprogram v realnem case E [] Provadeni podprogramu NASTAVENI, VYMAZ A INDIKACE RIDICICH ZNACEK PRUBEHU A BODU ZASTAVENI --------------------------------------------------------------------- ?S ... Nastaveni jedne znacky ?C [ []] Vymaz vsech znacek ?D Vymaz jedne znacky ?L [ []] Listing znacek BODY ZASTAVENI --------------- PASS [ [] []] Stanoveno podminek pro body zastaveni NS Stanoveni varianty NMI NC Vymaz varianty NMI SPOOLER -------- SPE Vytisteni datoveho souboru SPL Zakonceni vyrazu ZAVADENI DATOVYCH SOUBORU A JEJICH UKLADANI DO PAMETI ------------------------------------------------------ LOAD [] [ [ []]] Zavedeni datoveho souboru z disku SAVE [] Ulozeni datoveho souboru na disk RUN Zavedeni programu a jeho provadeni NAVRAT ZPET DO PROVOZNIHO SYSTEMU ---------------------------------- BYE Teply start (WARMBOOT) BOOT Studeny start ZPRACOVANI DAVEK ----------------- BAT [] Vyvolani davkoveho datoveho souboru BAR [] Interakcni odpracovani davk. dat. souboru TISKARNA --------- Strucne vytisky Plne vytisteni ARITMETICKE A BOOLEOVSKE VYRAZY -------------------------------- % Dekadicka cisla ^ Druha mocnina ! Binarni cisla * Nasobeni . Symboly / Celociselne deleni ' ASCII znaky \ Modulo " ASCII retezce + Soucet # Adresy - Rozdil $ Programovy citac N# Vyznam bitu (NOT) X Hodnota HF #A# Vyznam bitu (AND) Y Hodnota 1. vyrazu #O# Vyznam bitu (OR) Z Adresovy ukazatel pro F, CP #X# Vyznam bitu (XOR) M Adresovy ukazatel pro D, LD, L T True (pravdive) R Registr Q Hodnota BF _ Dvojkovy komplement S Symbol U Jednotkovy komplement =,>,< Porovnani @ Adresa pameti >=,<= [ Pametovy byte <>,>< H High byte N: NOT L Low byte :A: AND I Funkce IF :O: OR P Porty :X: XOR VYPISY ------- D [ []] Vypis pameti v hex a ASCII L [ []] Vypis programu LP Vypis programu od $ LD [ []] Vypis dat MASKA OBRAZOVKY ---------------- V [ ... ] Zadani datovych rozsahu VP [] Maska programu MODIFIKACE PAMETI ------------------ P []a[] Zadavani dat A [[] [:] ] Zadavani programu FILL [] Plneni pameti konst. MOVE Kopirovani FCB [] Zavadeni FCB BUF Zavadeni CP/M bufferu ZADAVANI PORTU --------------- I [ ... ] Cteni portu O Vystup dat na port INDIKACE A ZMENY REGISTRU -------------------------- Zobrazeni CPU registru R [hodnota], ... Zadani hodnoty do registru K Vymaz vsech registru STO Ulozeni stavu registru REC Vyvolani ulozeneho stavu registru ZMENY PROGRAMOVEHO CITACE -------------------------- PC [] Nastaveni programoveho citace ; Preskakovani povelu VYPOCTY -------- H Vypocet jednoho aritmetickeho vyrazu HF [ Vypocet Booleovskeho vyrazu BF [] Vypocet Booleovskeho vyrazu a ulozeni do pameti POROVNAVANI ------------ CP [ ] Porovnavani dvou pametovych rozsahu VYHLEDAVANI ZNAKOVYCH RETEZCU ------------------------------ F [ ] [] Hledani hex, nebo ASCII retezcu PRACE SE SYMBOLY ----------------- SS , ... Vytvoreni symbolu SC [ []] Vymazavani symbolu SD ... Vymaz jednoho symbolu SL [ []] Abecedni vypis symbolu EMULACE -------- , Jednotlivy krok . Jednotlivy krok s protokolem : Jednotlivy krok se strucnou indikaci T [] Emulace se zobrazenim U [] Emulace bez zobrazeni UU [] [citac prubehu>] Sledovani az k udane adrese UR [] Sledovani az ke stavu registru UL [] Sledovani az k podprogramu UB Sledovani az k rozboceni UT [ [] [podminka>] Sledovani az k podmince