Untitled
Transkript
Untitled
7 Z 2 —1— PROLIETHEUŠ systém Ladicí Trocha sebechvály aneb odkud to pFiFlo brzy človik na Spectru Při psaní programů v assembleru musí se vejít do pamiti narazí na problém velikosti památi možno niiak pokud a assembler, zdrojov text, pFeložen‘ kód kouoit eeni. si bud prostredek pro ladáni‘. Nabízejí se dvá toto řeseni má mal4 zádrhel, chce neco vjtsiho než je Spectrum maljm množstvím která tím s nebo získat programy, to peníze jako Jápady úsporná zacházejí pameti, která jek dispozici, a lid pro silná kostrbatá jsou kompilace přímo z pásku jsou prakticky microdrive ani jednotku nevlastníci ani disketovou nepouži telná. - - — a Rozhlédne—li se uživatel kolem sebe na nabídku ladících prostředků zjisti následující fakta: EENS - assemblerů neistarii a neirozEíFenájčí assembler, zdroiovťj pomár mezi text je uložen jako textovy soubor, 9:1, dálkou zdrojového textu a překladu je asi vymyslet, kter lze si snad nejhoréi editor, pTekládá assembler je dlouh‘j eFibližná 9,5 kĎ, neustálá je obtežujjcí pomárni rychle, silná hodnota implicitní kde Table size:, otázka space‘ table ‘No hláéeni obvykle nestačí a po vetéi tabulkou, je nutno kompilaci opakovat s práci při každá kompilaci také dotaz ‘Option: zbytacne neurychluje, prograrm je relokovateln‘,, programu k zvyéuje, velmi hodnotu což jeho s ním práce bohužel MbNS existuje monitor hesa není pohodlná oro uživatele nepoužívající poskytuje monitor soustavu, ani služby, které dlouh‘ je monitor doby, už nejsou na úrovni S <Ď a je relokovatelny - RoziíFená verze CENSu vylepsaná verze programu GENE, EENSJE (Lamač) automatickou Editor 5 Screen Full obsahuje program je 12 <Ď tabelací a 42 znaky na řádek, dlouh) a zachoval si relokovatelnost - - — bCP — má GENS3E jako podobná fldámkovo roziičeni na rull Screen Editor s automatickou tabelaci, rádku je 64 znaků thorií čitelnost), program už není relokovateln - u tohoto programu f‘ibSM (llbCPQS, PSSEMĎLER 99) estli je nebo neni od by se dalo polemizovat, velká má viak ním s programu GENE odvozen, (bohužel i patn‘ich), prvků množství shodn‘ich q, kS, relokovateln‘ 11 není je dálka programu tabelací, má rull Screen Editor s automatickou má křížová reference, neznámá instrukce, zná žádná revoluce, není celková lze Fíci, že to zdrojové text je uložen steini neefektivná jako u programu GENE — zdrojov‘ nereiokovateln.i. Program ie assembler programu u stejni text zabírá více místa nez zadávat delií nutno je GENE, pčed kompilací Ecreen Editor, posloupnost parametrů, má rull Ci modifikaci) chyby na rozdíl od programu GENE nevypisuje čísly (tzn mít po ruce tabulku) ale přímo slovy (práce je pohodlnéjsí) Laser — má program ie relokovateln‘. Cenius Pssembler pro (s lopatou na komára), 29 kS dálku kolem disketová bez použi teln svou dálku je téčko jednotky nebo microdrivů, existuje k námu La;er pameti Cenius Monitor, oba programy se vsak do — -2— tárn najednou nevejdou se kterj první assembler, tlemory Resident Syptem je snaží uložit eíektjvne zdroiov‘i teet. pomer 61 (tedy při stejná dálce pojme dvakrát oko]o je dlouh‘ program tak dlouhů zdrojovi test). (existuji 3 verze), 11 K a není relokovatelná už instrukce a kontroluje má rull Screen Editor při vkládání (odstraní se mnoho chyb). ve snaze ne nekterž zkrátit rdrojovú text byla pouzitz sayimalne 255 návesti, prilis sl.astná omezení dva operandy maximálnů ve vrazu se smí použít zápis binární pouzit a jeden operátor, nelze zabiji doslova omezení první ucel (zvláátá dokáze dobr4 nápad), rozpornú je taká monitor, text pi trasováni hlídat assembler a zdrojovj před náhodnúm přepsáním, bohuzel vsechny vjpisy jsou v sestnáctková soustave, v monitoru se lze tabulce návástí ‚v existující na odkazovat na symbolů, při psaní MRS byl zrejmá pozadavek krátkost přecenán (program jedloutig 1? k6) ale na úkor komfortu obsluhy i mozností - — PI1<OSM 11 1<6 není dlouhú. je R.C. od proqram zdrojová relokovatelni‘ má rull Screen Editor, text ukládá v komprimovaná formá (pomerb-6-1), pri‘jemnou má na rozdíl od předchozích editorů tom po kompilaci zůstává kurzor na vlastnost vstupu do (pri mistá, kde byl před kompilací na zacátek). editoru nemkáce ani na konec ani kazdou pred kompilaci assembler taká umí při (call, jp, ret) programu instrukci řidici bůh užiterná SREO)< vložit volání tastu klávesy (lze zastavit prooram, při ladůni bez monitoru kousnul) která se zacyklil (tzv - - — MON, jsou 2 1<8, oba a 7,5 monitory, dlouhá MON? ruáná i relokovatelná, umí krokovat instrukce automaticky (5 vypisováním o každá instrukci i velmi rychlá), vypisovat pamd, menit bez náj obsah pamůti, plnit a presouvat bloky, lze taká budou míru nadefinovat oblast obrazovky, kam vyrisy (souvislá úsek řádků na obrazovce) - - - VQSt monitor dlouhá L. 6 (FIkOMON, MILIMON, MIKROMON) původni byl KD, umístinú v obrazovková pamůti ho lze zivotii, uržen ro hledání nekonežnách v závereěná fázi použít i při ladení programů verze nová Existuje v mista pamiti málo kdy je nazvaná OEVPSt. vylepšená o dalái sluzby, tento na nemá program vůak na rozdíl od předchozích existuje i svčpdomí tP.? nábrž moje maliřkost, v pamůti Pro mistů zvolenám na verze Pracující zajímavost: program OEVOSJ je dlouhá asi L. 6 1<5 a jeho zdrojov text v assembleru PROME1HEUS má dálku kolem 16 1<5 - — názory Uvedená přehled ukazuje autorovi známá stav a jeho použivaná na dostupná programy. Z uvedenách programů jsou Easto komb i nace: MONS CENS CENS MON (MON?) 026 MONS Memory Resident System Laser Cenius - vyrobit Při posouzení dostupnách programů vzniká myřlenka a programů program, která by spojoval váhody vsech predchozích nevhody. neobsahoval jejich Nejdůležitůjři jsou dvá assembleru co a vlastnosti, nejefektivnáj monitoru do která uloženi jednoho by taková program mát zdrojováhc cetku, tak. textu a mohl abu mít spojoní monitcr —3— existující používat nQktero podproqramu z assembleru a používat tabulku sumbolii pri virisech. Froto vznikl tento proeram. za vznikal flssembler a monitor, ladící system PRDPIE1HCUS Program CCN pomoci proqramů C[N3r, CCNS 3 1, tiby, MQli2 a Vfl) první odlad,t podařilo než se doby, té do použjván byl vyleesováni daléí provozuschopnou verzi assembleru FRQME1WEUS. sám byl pFekládán assembler verzi na stari vždy se provádélo sebou. monitor vznikl úplné od začátku na assembleru PROME)HEUtH a KD 6D kolem zdrojovi text v CENS byl dlouhi rro srovnání sekund, 4D byl tedy nutne rozdélen na dva, preklúdal se celkem text zdrojovi se FROMETHEP Po pretazeni zdrojového textu do na tabulku místa zkrátil na polovinu (2D KD), odpadla pol5eba pamiti do veéel cqmboů u obou cástí asi po 3 KD, text se tedy a pracovní tabulky jsou assembleru kódu najednou (asi S KD byl místa, které nebyla ve zdrojovém textu). Celú zdrojovi text nyní pFeložen za 3 sekundy (tedy 2 KD!s), - -— - Nejdůležitéjži ladicího vlastnosti systému PRDMEiI-IEUS S KD monitor assembler, délka: Ii KD (celkem lb KD. monitor lze odpojit a neužívat) - a celĽi proeram je relokovateln.. na systému Spectra - - a textem pomér mezi zdrojovim je 3—1,:) (CENS Dl) - závislti není p?eloženm kódem tabulka symbolů je orsanickou částí zdrojovóho vzdy teytu, testu, vytvári se hned p‘ri psaní už že pro kompilaci tzn je ihned pFistupná není treba ani byte navíc - - — rychlost kompilace nez G[NS je 2-3 asi KD/s IPx - víc editor je Fádkové orientovanú, má automatickou velmi je skrolováni a stránkování tabelaci bloků, a kopírováni rychlé, umožnuje mazání vyhledávání a nahrazováni řetézců. každý řádek je pri odeslání syntakticky kontrolován - - - - — - - - obvyklé kazetové operace možnost vyhrát i prihrát kus zdrojového textu — Qvr, vcRlry, Lobu, (na libovolné místo) CEN umožéuje nahrát zdrojov péíkaz ve formátu assembleru CENS (tlPSli) zdrojová monitor chránící nikolik trasovacích definovat možnost Etení nebo behu text a ladící teet ve systém režimů se okna možnost zcela ovlivnit celního panelu, počet položek zákazom složení, a způsob zápisu, tvar a polohu véech vpisu Easovou zjistit monitor umí krokováni pH cykly počítá nárocnost krokovaného proqramu técka) procesoru (tzv - vlastnosti jsou Detailnč popsány v dalsim textu. a možnosti tohoto proeramu —4-ladícího Instalace II. systámu Na kazeti je program uložen asi jako CODE blok dlouhú 12522 bytů obsahuje 5022 bytů monitoru. 11202 bytů assembleru. a bytů instalačního programu a 2500 tabulky relokacních adres. - 26222 v Program lze nahrát na libovolnou adresu ar 47222 a od táto adresy spustit CLCPR adr-1 L000 Po spučtini se následující informace ‘CaDE objeví adr rozmezí RrINDDMJZE instalační (JSR obrazovka adres adr obsahující kde yyyy je adresa kam byl lnstalation address:yysx,c program nahrán tuto adresu je morno prepsat pomocí kláves R ar (COPS a ODLETE rozsahu adres na libovolnou adresu v St-1lrT2) 9 Na tuto adresu monitoru). 23296 až 49520 (23296 až 34520 bez kdykoliv bude PRDMC1HCUS umístin a od ní ho bude možno z 2flSlCu opit spustit. Umístíte—li programod !dresY 23296. nelze se jiz program systámová promenná vrátit do 8OSlCu prepíse RI3MTOP, adresu nastaven Ďudete—li používat instalaci na pod do DOSlCu bezpečne. nelze se již vrátit ladicí Umístíte—li systim tak, že pFepíše systámová prominná (tzn. na adresu nizsi ner 23753 ), nesmí Vaáe programy pourivat sluzby 6PSlCu (t,sk 1. v je znakú atd ) a povolovat módu Obvykle pI‘eruseni IN nejlípe použít pro instalaci adresu 25226. - - tlonitor‘res instalovat je možno buč celů systám ladicí klávesy nebo jen assembler, zminu volby docílíte stisknutím M Instalovat jen samotn. monitor není mozná protore používá mnoho podprogramů assembleru. — Dále lze nastavit barvy, která bude assembler používat. Je klávesa a jas klávesa P, barva inkoustu to barvy papíru I rádek jeden klávesa tichto dvou barev je D. Při editaci vyznačen jinou barvou nastavení je obdobná, je nutná stisknout soucasne navíc COPS Sl-tlEL — - — — FRDMC1I-1EUS dvima psát umí dvojnásobne tlustým (může bit lápe obima typy písma klávesou O. druhy a obvyklém písma pčepináni čitelná) mezi - — FF1 editaci vyeisuje assembler Ci disassembler) instrukce návč‘átj velkúmi nikdo malůmi písmeny a váak písmeny, je—Ii zvkl‘ pouzívat jen velká (jako DUND) nebo malá (MRS), písmena můre toto nastaveni zmini t klávesou C vs ledek je hned videt na instalacní obrazovce. — Poslední je vlastnost možno systámu. kterou ladícího ovlivnit mn instalaci je klávesnicová echo mini ge klávesou X COPS jedním smerem a klávesami 5l-1IET druhim smerem X současná nastaveni je slyčet pri stisku libovolná klávesy — - Po nastavení požadovangch parametrů klávesu stisknžte program UNIER, zvolenou se na adresu, přesune pčepiái se absolutni adresy (relokace) a program se spustí. Tuto instalaci můžete erovádit při každim použití ladicího systímu (obvykle stačí jen stisknout UNTER) nebo si pozadovanou konfiguraci vyhrát na pracovní kazetu nejlápe následovná — Připiáte krátk Program v basicu: I RQNDDMIZE USR adr:STDP 9999 CLIl-IR adr—1L000 ‘‘CDDE:RUN kam místo ‘adra ‘adr-1‘ dosadíte program) a na kazetu uložíte pomocí: SOVU Sl-IVE ‘PROMETHEUS‘ ‘Prometheus‘ LINE EDDU 9999: adr,lb(Il32 čísla (11626 (adresa bez kde monitoru) je -5konfiguraci Tuto adresa. bude kde ‘adr‘ opit místo budete spoustet a z basicu nahrajete pomoci obyčejnáho LO9D dobrá je jednoduše prikazem RUN. První rádek z tohoto programu PROrIETHEUS se bude spouštit příkazem RUN a nehrozí vložit vždy adr USR ‘RPNDOMIZE chyba, která by mohla vzniknout při psaní znacne můze o tom, ze funkce USR pouzitá se spatnúm argumentem nijak nutno uživatele není snad duševní pohodu narušit zdůrazř,ovat. -. - III. ‘ assembler PROrIETI4EUS 1. editor Qssembler obsahuje poflodln řádkový editor, kterú se hodni všechny taká V zadávají editoru SOSICu. se podobá editoru odpadá tedy nutnost neustáláho přecházení z editoru do příkazy je v jako editoru systámu a naopak spojená se ztrátou pozice umozřiuje bloková tomu u MRSu a rozšířenjch verzí QENSu. Editor a nahrazováni a vyhledávání mazání a přesouváni operace řetizce v textu. — — — Oznaiení přistupov (přístupni) rádek ve v.pisu editainí jádek kurzor - úplná řádek spodní — barevná odlišenů řádek, je na nim stavov řádek obsahuje toto (zleva doprava): sdeleni nebo chybová hlášení informaci o nastavenám režimu (INSERT/OVERVRITE) adresu posledního bytu zdrojováho textu adresu posledního bytu oblasti ro zdrojovC, text, jakási obdoba RPMTOP v DPSICu - — — - SYTISOL klávesy provádí stisknutím Vkládání příkazů se rádku, prázdnám sditacním mn a odpovídajícího písmene znak (ani a za vlevo není zádnú ním tedy kurzor je úplná mezera). Nejsou-li tyto podmínky splniny, napíse se znak na daná se vypíše cebg gHlrTem, jsou-li splniny. klávese se SVMSOL provede se (nikterá ihned nebo slovo) příkaz (jako klířová skok na konec zdrojováho textu atd.). příkazy SHIFT - znaků, na řádek lze zapsat maximálni 31 Zápis instrukce znaková), prvních S pozic je vyhrazeno pro návištj (maximálne S místa zbqvající a mnemoniku dalších S pozic je vyhrazeno pro na pouze psát mozno jsou vyhrazena Pro operandy. Poznámky je psát nelze stredník zvlástní rádek a to hned od zacátku za se Pokud nevešly). stejná se tam za by (ony komentáře instrukce nebo zvyknout bud nekomu zdá 31 znaků málo, nezbjvá mu nez si používat jinú assembler, I< tomuto omezení jsem dospil na základá nepíse znám zkusenosti svůch i svch přátel, támiř nikdo, koho (maximálne na papír s programem), komentáre do zdrojováho textu a prodlužuje neúmirni je to práce navíc a zdrojový text to má taká zpomaluje to preklad i nahrávání (to zv)ášti). Omezení svá svetlá stránky. zdrojov text je dobre citelnú a prehledn. — — — je psát možno instrukce Mezerník automaticky tabeluje, návestí libovolne. malmi nebo velkůmi písmeny, program rozlisí rádek a zkontroluje vkládané řádek, najde—li chybu, ohlásí ji a nezaradi do veisu. Edi tažní klávesy: —c — rnrS SI-lIFT - I (EDIT) přenese do edita2njho řidku CPFS SHIFT - 2 (CDFS LDCI() zapini / vypjnú CPPS LDEk. ten pracuje trochu jinak nes obvykle, původni píše Spectrum při zapriutóm CPP LOCKu pouze velkž písmena, nyní funguje spise jako jakgsi invertor CCFS SHIrTu. kdyz je zapnut FOrS LOCK a není stisknut CPFS SHIFT pise Sc‘ectrum vejká Písmena, a je—li stisknut CE1FS SHIFT. píle Spectrum malá písmena - SHIFT 4 3 (TRUE VIDEO) na následující stránku FOrS Si-uri 4 L, (INV VIDEO) — na predcházející stránku FORS FORS SHIFT 4 5 doleva o jeden SI-lIFT v znak SHIFT vpravo (lipka (lipka jeden P o vipisu — ve posun rádku kurzoru posun přistupniho v4pisu - posun přistupnóho ve vipisu doprava) znak v posun kurzoru editacnim řádku následující -4 — editačním nahorú) ve přechod ve vpisu doleva) (lipka 7 4 na přechod — SI-IIrT 6 (lipka dolu) Fádku na předchozí rádek řádku FORS řkdek — CPPS FORS přistupov rádek COPS SHIFT 4 poRuč e P (FRRH) na předchozí FORS SHIFT kurzorem 13 (DFLCTE) a posun kurzor — vymaž přistupov řádek vymaž znak doleva řádek vlevo před SYM8DL SHIFT -‚ V př-epínmní režimů INSERT a DVERVRITE (písmeno nebo D ve stavovóm I rádku), stisku ři EDIT přepne se režim DVERVRITE a odeslání po vrátí se zpit rezim INSER1 chcete—li zkopjrovat jeden řádek, vyeditujte ho, přepnite na INSERT a vložte na pozadovaní místo, chcete—Ii úplni přepsat rádek, napiste teXt, prepnete na DVERVRITE a odellete - ‚ SYII6DL SHIFT 3 12 pri prázdnám FORS vymazání rádku editačního řádku, ne SHIFT 4 SYMPDL SHIFT (EXTEND MDDE) nastaví okraj bloku přislusnost řádku k bloku je signalizována cernm ctvercem na deváté pozici, mezi návestím a instrukci oznacení je videt pouze ve vpisu, nikoliv pri hledáni nebo tisku, není rozlisen zacátek a konec. promram si pamatuje vždy dva okraje a při zadáni nového odstraní ten, co zadán byl drive a pridá novú okraj. chcete—ii nastavit DIok. nastavtQ jeden okraj do pristupového rádku, stisknete FORS SHIFT - S‘YMDL SHIFT nastavte druhé okraj bloku do pristupového rádku a stisknete FORS SHIFT 4 SYMDDL SHIFT — ‚ ENTER odeslání instrukce nebo příkazu. odesláni instrukce má za následek její syntaktickou kontrolu a zarazeni do vpi5u — podle rezimu (1/0) se bud zaradi za instrukci v pristupnóm řádku nebo ji přepíle - SY7IĎDL SHIFT 4 E jdi na konec zdrojového te.tu. jde o příkaz, kter-j se ihned provede, je ho tedy nutno zadat pri prázdném editacním řádku — SYMDL SHIFT - K — jdi na začátek zdrojového provode, jde o pFíkaz, který se ihned tedy nutno zadat ři prázdnám editacnim textu je ho rádku SYMĎDL SHIFT H prepínání vjpjsu čísel mezi desítkovou a sestnáctkovou soustavou, ovlivní vpisy ve stavováni ridku a v tabulce symbolů -— F-íkazy pro bloková operace: CDPY (SYt1DL SHlrl 4 C) pFed p?ístupov řádek do sebe DELETC (SYMDL SHIFT zdrojovóho textu 4 — 0) — — p?enese nastaveni blok nelze kopírovat blok vymaže nastavenů blok Příkazy Pro vyhledáváni a nahrazování FIND Fetizců: vyhledávání (viz dále), (SYrIDDL SHIFT 4 fl nerozlisují se malá a velká písmena, není—li retezec nalezen, zůstane vpi5 na místi — REFLPCE (S‘VMDDL Vyhledávání SHIFT Z) — zamiřiování Fetizců Fetázců: FIND sxXxxX vyhledání řetizce zacátku zdrojováho textu xxxxx‘ FIND řetizce od - vyhledání naposledy zadanáho ni zacátku zdrojoviho textu - FIND bxxxxx bloku od vyhledání Fetzce jeho od začátku bloku - ‘xxxxx vyhledání naposledy zadaniho FIND b v bloku od zacátku bloku v ?etzce - FIND od :xxxxx vyhledání Fetizce ‘xxxxx‘ od rádku, kterq je právi pFístupn buč do konce zdrojováhó textu nebo do konce bloku toto v prípade. ze posledne byl prohledáván blok — — FIND,— vyhledáni naposledy zadanáho Fetizce od rádku, kter je prává př-istupn bu do konce zdrojováho textu nebo do konce bloku, opit to závisí na posledním způsobu prohledávání FIND b: tímto příkazem se lze dostat okamiti (za dvojtečku nutno zapsat na zacátek bloku jednu mdzeru!) Příklady - - chci vyhledat všechny výskyty návůití ‘kPREL‘. zadám ‘FIND s:karel (nerozliiují se malá a velká), po nalezeni prvního vjskytu zadám pokadá jen ‘FIND pro nalezeni dalsího. jakmile se po zadání FIND‘ jen obnoví na jedná vúpis steinům miste, se o poslední vgskyt retizce kPRUL‘ chci se oniit dostat na první vskyt ‘retizce kQRFL‘, -8zadám - Jen vskyt v poli pouze KPREL chci vyhledat výskyt náváští jak se způsob je nejrychlejsj (toto návi;tj zadám místo), pozadovaná na ve v‘pisu dostat mezeru! za návištj vložím TINO s:KOREL - - a dostanu se na první TINO s - od začátku ld a.(hl) chci vyhledat první instrukci a,(hl), mezi zdrojováho teytu, zadám TINO sId mezer, tolik vložit mu;ím mnemoniku a operandy dal mnemoniky aby jejich počet plus pocet písmen soucet S Nahrazováni řetizců: :xyxxy nahradí vsechny vskyty Fetizce rlNb :yyyy vyhledanáho prikazem yyyy vyhledá a xnx ‘rQtezcem v danám rádku yyyy další výskyt retezce - RCFLOCU byl byl — nahradí všechny v,skyt řetázce, retizcem, zadán příkazem rlrqlj, zadán prjkazem REF‘LflCC kterú kterj Příklad: - kCREL chci najít a vyminit nikterá v,skyty řetázce po jgcr, zadám příkaz TINO s:karel řetázcem udelám: XflREL nalezeni výskytu řetezce dále už a (podruhá RIPLOC[ :J0SCF bud zadám jen TCPLOCC) když budu chtít vskyt nahradit rlNly když budu chtít tento vskyt nebo zadám ponechat beze zmeny všechny neprojdu dokud tak dlouho což opakuji kQRCL‘ výskyty retezce ‚ - Mazání zdrojováho textu nastavení a prostoru pro náj: text příkaz vymaže zdrojov‘ Y) CLCQR (SYMSOL I-4lFT a vycisti tabulku symbolů (ponechá v ní jen uzamčená erotože L. symbolů), Tabulka kapitolu viz symboly jehož chybná použiti můze značná se jedná o príkaz, zvýšit hladinu adrenalinu v krvi uživatele, je nutno CLEOR W jej zadávat ve tvaru - - uživatelská zarážka, toto je U—TOP (SYMSOL I-4IrT 4 W a poslední adresa, kam smí bt uložen zdrojové text kam smí bt provedena kompilace (kap. 3 Překlad). Za nebo matematickú uvúst číslo musíte U-TOF príkazem vqraz (bude vyhodnocen zleva doprava, může obsahovat čísla i existující definovaná náviští (jinak chyba), vsledek tento příkaz lze použit í jako kalkulačku, nastavení zarážky k je trvale videt vpravo nahore, U-TOP -1., pomocí na adresu 65535 používejte příkaz uzivatQ)ská zarázky získáte chránenou oblast pamiti, podproram a jiná, kam můzete uložit třeba tisková monitor je oblast od zarázky az do i pro assembler konce pameti neprístupná — Chyby při editováni: Sad mnemonic v chyba náuesti v mnemoniky, zápisu poli mnemoniky nebo -9Sad v operand chybne operand použit instrukci je vitší 65525 ner Sig number použitá Syntax horror položka yntaktickS chyba, nikterů dve operace je delší než může bút. ve vqrazu vedle sebe, Sad string špatná zapsaně ret.zec, úvozovka se retezec dvojiti, řetizce pise do nesni bqt prúzdn Sad instruction instrukce zapsůna formúInisprvni. pouzitú instrukce vsak nona moznost pracovat s touto kombinaci operandij tlemory říslo zdrojově text marnil přidilenú pro vyřerpkna, můžete se pokusit je zkrátit zdrojovg text (viz kapitolu 6, rormt zdrojováho textu) fuj] v chyba při použiti núvišti, která tam je, tabulce symbolů není nebo tato ale nenů definovanou hodnotu chyba je hlúšena u príkazu UTOP XXXX unknown - 2. magnetofonová operace (kdyby ne, bylo Pssembler PROMETHEUS umožňuje by povúzenou) uklúdat, kontrolovat a Eíst zdrojová texty Ci z cústi) magnetofonu (SYMSOL SOVE Příkaz sHlrl 4 na to jejich 5) urěenů pro uložení zdrojováho textu na kazetu. SPVE :karel uloží ce]íj zdrojově text (zdrojově text a jako bude ulozen tabulku symbolů) na kazetu, blok DhSlEovská EODE pod jmónem karel — jako kazetu, SPVE uloží celt zdrojov text na bude vzato naposledy použitá jmáno toto se a je jestlize při verifikaci doslo k chybo opakovat opit. uklúdúní — - jmóno hodí nutno zdrojováho textu SOVU bkarel Eůst uloží na kazetu (nastaven blok) a celou tabulku symbolů —vybíraní bloku pouzita, nůvestí, kterů jsou ve zvolenám by na proto chcete-li bylo casovi a pamitovi nůrořná textu, jen zdrojováho kazetu uložit opravdu cůst vycistit vymazat všechno ostatní a musíte potom 6 tabulka symbolů) tabulku symbolů (viz kapitola — — SOVU b uloží zvolenou čůst zdrojováho textu se naposledy použitům v příkazu SOVU nebo L000 — L000 (SYM6OL SNIn 4 jmánem L) Příkaz sloužící k přihrúní zdrojováhe textu z kazety. ten musíte Ehcete—li novů zdrojov tQxt pouze nahrút. SS 4 X ). (príkazern ELEPR y starů nejprve vymazat — L000 do - nahraje počitae L000 karel — první nahraje nalezenj zdrojově do požítaže text z zdrojovq kazety text se 40 — jmánem - karel zdrojově LOtID text nahraje do poritace která bylo naposledy použito v příkazech — jmán.m, se LDPD nebo qvr Foužj jí-li se místo jmána samá mezery, bude to bráno se první jako kdyby nebylo zadáno žádná jmáno a nacte nalezen blok CODF. Nahrávání probíhá následovná 1. prohledává se kazeta správném jmánem dokud se nenajde blok CODE 2. po nalezeni takováho bloku se zjisti, vejde do volná pameti, je pokud ne, řlemory full 3. zdrojově blok se nahraje na konec památi určená pro ve napsána vpravo text (adresa posledního bytu je stavováni rádku) 4. zjistí-li se, že se nejedná o assembleru, príkaz je prerusen 5. zdrojováho začne se vkládání nahranáho textu do zdrojováho textu, při kterú je v pamiti od minula, textov táto operaci se každ nová řádek prevede na tvar avlozi do původního textu vkládá se stejne za pristupn rádek. jako pri vkládáni z klávesnice vkládání nalezena chyba, objeví bude-li pri se chybová hlášení a je možno chybu opravit, mo opravá program pokračuje ve vkládání, pri přihrání bloku se dvi do památi musí vejít současná tabulky symbolů, a nová, ze stará (ta se zvátáuje o nová návestí) která se berou náváčti př-i převodu řádků na textovi Vás tvar podrobnosti nemusí zajímat, pokud tyto (nejcastejsi situace). se prekládá za zdrojov‘ text tak problámy 5 místem nastanou jen tižko zda se hlásena zdrojově text se blok chyba tohoto — — - 6. stav vkládání 7. stiskne-li se ukoncí instrukce 8. pokud dojde při vkládání k chybi a v editačním řádku je chybná instrukce, lze vkládání ukončit vložením nijakáho příkazu nebo povelu (třeba přepnutím mezi desítkovou a žestnáctkovou soustavou) 9. vkládání bude chvíli trvat po dobu obrazovce nápis ‘Vait please‘ me a lze zobrazit stiskem libovolná klávesy gFPCC. vkládáni při vkládání klávesa v editacním rádku bude práve vkládaná vkládání — VElUY (S‘YMDQL SI-IlrT 3 je na V) Příkaz sloužící ke kontrole na pásce uloženáho textu. je ho nutná provást ihned po příkazu PVE, nepotřebuje zádná parametry, použije jmáno z příkazu SPVE a testuje blok pouze s tímto jmánem CEN (SYMbOL S,-llr7 4 C) Příkaz slouží k přihrání zdrojováho textu ve formátu assembleru CENS (MOEROS), syntaxe je úplná stejná jako u prikazu LObU, zdrojovi text nahraje a vkládá stejná jako u prikazu LUPO, před vkládáním zdrojováho textu z tENSu je vhodná text nejprve upravit zkrátit řádky — —11 — přemístit lfloZni tak. aby odpovídaly formítu PROtItTHtP, je s tim móne prkce komenl.íre na zvlístni r.idky atd, než opravovat řidky až řl vkl$dínj — nastaven na text Je—li konec prostoru pro zdrojov a nebudu rozeznin konec souboru adresu 65535 (*rrrr), dojde k pokusu vzít jako vklídíní se zastaví na chybe z ROjI. byt6 prvních nikollk řádek zdrojováho textu vit bod 8. preruste vklídmní vložením nijakáho povelu pameti nastavte konec pro Chcete—li se tornu vyhnout, zdrojové text treba na adresu 65580 (príkaz U—TOP). — - ke stisku kl$vesy operacích Pokud dojde při kazetových ĎREOK (FflCC), v editačním řídku zůstane naposledy tedan povel. se Pokud dojde v prikazu LOPD, CCN nebo VCRIY k chybe, vypís. rídku v a je editacníp ‘Iape error‘ opit chybová hliiení posledni zadaná příkaz. z zdrojov text Pokud budete chtít do assembleru vložit CLNS, jjnóho assembleru. musíte ho převést na formt assembleru každý růdek začíní dvema byty číslo rídku (pro FROMCTHCLIS neni mezera vždy jedna místo (stačí podstatná), potom text ‘rídku a na konci řídku je kód 13, takto upraveni zdrojové nikolika) CCNS prikazem a múzete ho CODE text vyhrajte z pamiti jako (možni jednodusí) rafli použitelnú způsob dostat do PRDMCTI4EP je popsín v kapitole 5. Ostatní (viz CLNSDR). — 3. překlad provede kompilaci cisrrrny (Yr1SOL S,4lT “ fl) příkaz uvést parametr zdrojového textu. Za příkazem PSEMDLY je možno v tomto případi bude kompilovín pouze nastaveni (nebo ‘Ď) b blok zdrojového textu. — - možnost tato Při kompilaci neexistuje kompilační vqpis uprímne rychlosti odstranena, byla pro jednoduchost a zvkeni Pokud se jemu) zdila zbyteční. se řečeno autorovi (a nejen byla je (to která instrukce chcete dozvidit. na jaká adrese výpisu). napiste kompilačnlho jediná ňámitka proti odstranní kompilace skoncení tam nejaká nkvesti (pokud uz tam není) a po (viz kapitola hodnotu se podívejte do tabulky symbolů na jeho 1, disassembler samozřejmi použít také tabulka symbolů), lze (7) Fotrebujete—li nejakch o Protokol z důvod6 monitoru. assembleru jiného prekladu. preneste zdrojově text do nejakúho CCf%1SOR) viz kapitolu S. ostatní (CINS pomocí programu CCNDR a 5 jeho pomoci ho získáte. — — — Kompilace je provádna rychlostí přibližné 2 KD strojového není prekládin tedy ani dlouhů zdrojov, text kódu za sekundu je kompilace dále než 3-k sekundy, u krítk!ch zdrojových textů takřka okamžitá. — ‚ pouze Kompilace je dvouprúchodová, při prvním průchodu se zjijtuji hodnoty návižtí v poli návéití (nikoliv u příkazu COli). bjt pri druhém prúchodu se jiz generuje strojově kód, nyní musí pamitl je do známa vžechna náveští. Ukládáni strojového kódu kontrolováno tak, aby nebyl mrepsán ladicí systém, zdrojov text a oblast pameti nad uzivatelskou zarázkou. Možná chybová hlášení: Sad P117 (DRC) XXXX unknown — — při druhém průchodu kompilace došlo k pokusu o prepsání ladícího systému, nad nebo oblasti zdrojového textu uzivatelskou zarázkou strojovým kódem XXXXX použitá náviiti přiřazenu žádnou hodno1u nemá dosud 12 - fllready defjned - pokus - druhů o hodnoty definování návestí Sig number — čísla do velkáho pokus o zapsání příkazů relativních skokó u P bitů, je prílis to znamená. ze vzdálenost (jxd) smí typu velků. u instrukci príkazy bt d v rozsahu —129 az 127, rozsahu Id a,N smí bút N v typu -235 až 253 (podrobnijj dále) a se zastaví přcklad kompilaci. při Dojde—Ii k chybč nyní je obnoví se vipis tak. ze rádek. ria kterám doslo k chybo ono podruhů tak přístupný (jedná-li se o chybu Qlready defiriod poli definovaná náviřtí je samozřejmbv poli nkvestí, nikoliv v hlásenj se vypise úspesne. operandö). Fokud kompilace skonej bssembly complete. 4 slouží příkaz R) Hlrr RUN (fl‘MDDL CEntry ENI příkazem programu od místa zadanáho provede vždy s programu dále), před spu;taním příkaz zanirnuje příkaz PESEMDLV (proklad je rychl‘ právo nalezen zadávat dva příkazy), pokud nebude ‘raků tento 1N7. vypise se chybová hláieni Etfl7‘ pred spustenim se prolczí obsahovat parametr ‘b‘ spusten bude blok zdrojováho textu. Vá program přeružením a proto jej musíte případná povolit! — . — sputiní ke viz point kompilac! treba a není jeden příkaz múze príkaz pouze zvolenj zakázaným se — — lns trukce a (známá) FRDMETI‘iCUE překládá vjechny základní instrukce ‘neznámá‘ jediná instrukcí neznámúch‘ tzv. taká vátiinu na adrese instrukce, která assombler nezná jsou všechny rotace budete (ixd) s následr‘1im prenosem do zvolenáho registru, pokud pomocí zapsat můsíte je pouzít, instrukce tyto chtít v se (instrukce nebyly zarazeny protoze D[5 pseudoinstrukce Následuje assembleru). dálku by praxi nepoužívají a zv6tily používá assembler která seznam tách ‘nezniámch‘ instrukcí, — ‚ »,IV Instrukce, která používají poloviny indexregistrů horní polovina Dolní polovina registru !X je znacena LX. a LV HV. je bude označena FIX, obdobne pro registr IV — inc inc hx inc Ix inc hy inc ly ly dec doc lix doc Ix dec hy dec Id Id Id Id Id Id Id Id Id hx,N b,hx c,hx d,hy e,hx hx.hx l,‘.hx a.hx 3d Id Id Id Id Id Id Id Ix,N b.Ix c,lx d,lx e,ly hx,lx lx,lx a.bi Id Id 3d Id Id Id 3d Id hy,N b,hy c,hy d,hy e,hy hy,hy ly,hy z,niy Id Id Id Id Id Id Id Id ly.N b.ly c,ly d,ly e,ly hy.Iy ly,Iy a,Iy add add a,flx add a,Ix add a.hy odd a,ly a,hy adc a,ly tly suD ly adc adc a,hx adc a,lx adc suD suD hx sub Ix sub sbc sbc a,hx sbc al, sbc a,hy sbc a,ly and and hx and Ix and tly and Iy xor xor hx xor Ix xor hy xor ly or or hx or Ix or hy Or Iy co cp hx cp Ix cp tly cp Iy is — Rotace SLIP (shift invertovanú iriverted arithpetlc registr. posune doleva zvoleni leH — arjtmetjck posun doleva) vystupující bit je uloien jedni cka. sliz sila D sliz ti — — do vstupující CPRRY, bit sliz c sliz d sliz e sliz I sIla (hl) sliz z je U instrukcí relativních skoků a instrukce D.JN2 se u jako ostatních assemblerů píse absolutní koepilaci adresa. Rn se vypočte relativní adresa a uloží se. Pokud je relativní adresa mimo rozsah —128 až 127, ohlásí se chyba flig number. Dssembler používá nikterá pseudoinstrukce slouží Dua k zápisu čísel a te,ctú do pamiti nebo k ovládání ukazatele kompilace. umístiní stro.iováho kódu z k nastavování startu pro prikaz RUN a hodnot návistí následuje seznam — — DRC vraz — nastaví čítač adres z ukazatel uloženi do pameti na hodnotu vi.razu. Ukazatel uložení do pamiti urcuje, kam se bude ukládat strojov kód, určuje kde bude čítač adres přelozen program pracovat— hodnota tohoto čítače se používá dosazování návestí hodnot pri I cítač instrukcí práv6 přeložená instrukce. pri ulozeni do pameti průchodu. prvním vždy zvitsuji se RUl vůraz nastaví ukazatel uložení výrazu. Tento příkaz se používá v přípzdi, — strojovg kód jinam nez bude spouitan. Ukazatel O dálku do pzmátl na hodnotu že je potřeba uložit Chcete trebz preložit program tak, aby pracoval v obrazovková pamiti tedy, od adresy 16391,, protoze překládat prímo do obrazovky není možná, vložte za príkaz DRC 16391. je5te príkaz PUl 68888 program bude se prekládat tak, aby pracoval od adresy 16381. ale ukládat se bude od adresy 68080. Nelze přehodit ve kterám pořadí, jsou Obá pseudoinstrukce uvedeny, nastavuje protože DRC taká příkaz ukazatel ulození do pameti! PUl zaveden Příkaz jako byl alternativa k možnosti za ukládat přeložen program tabulku - — pseudoinstrukci symbolů bez ohledu na poskytuje DRC, kterou assembler CCN (MPSfl), je vjak toto resení podstztni prizpósobivejjí, programátor kde tabulka se nemusí starat, symbolů končí a může se sám nastavit. tram si ukládat. Chcete-li vyrobit program. kter se o rozmístí po pameti, múzete to vyrobjt třeba takto bude překlad spužtinj sám org 68808 flPR1 Id Id Id ldir Id Id ldir jp hl,flPRTI de,38080 bc.DLDKILCN de,35888 bc,8LDK2LCN 30800 ‚adresa, kde je 1. blok uložen ‚adresa, kde má 1. blok pracovat ‚dálka 1. bloku ‚přesuň 1. blok ‚adresa, kde má 2. blok pracovat ‚dálka 2. bloku ‚presuň 2. bloku ‚skok na začátek 1. bloku CND I org put 7?? 7?? DLDkILCN emu CND2 or9 put flORT2 ??? 7?? ĎLDR2LCN equ 388fl CNDI ‚první blok bude na adrese 38802 ‚jeho kód se ukládá stále dále ‚zde je teyt prvního bloku STCR1I S-SIQRTI ‚6LDKILEN bude 35222 END2 ‚druhj blok bude na adrese 35220 ‚kód se ukládá stále dále ‚zde je teXt druháho bloku s-SIPRI ‚6LDK2LCN bude návžtí EDU výraz vyrazu. V okamziku, kdy zpracování táto instrukce ‚ — přiřadí dochází uz musí obsahovat obsahovat dálku dálku náviití použitámu hodnotu druhám průchodu ke pri známá včech b.t hodnoty — návižti. která jsou použita ‘l‘i — ve vůrazu, jinak dojde k chybá, LPhELI LQDEL2 equ L26EL241 :takhle to bude fungovat, protože ;návájtí LPOEL2 bylo definováno ;LJZ prj prvním průchodu prokladu LPOCLI LPrL2 equ LPDEL21 32222 takhle to bohužel fungovat nebude ;protože náviti LPĎEL2 ježti nemá ;definovanou hodnotu QqLJ nastavení adresy, od Ehl výraz tento pFikaz slouží k bude spuátán strojovi kód v prjpade, ze bude pouzit príkaz - která RUN. na ent STPR‘I ;prosram bude spužtán od místa, ;námz se nachází návestí ‘lPR‘T ;v poli náviti ent S ;promram bude spután od místa, na ;kterám se vyskytuje tento príkaz kterou adresy, na orrs vúraz,vraz, ‚viraz uloží od vqsledkq vrazů jako uložení do pameti. ukazuje ukazatel je v -56 az 255, jinak. musí lezet rozmezí osmibitová hodnoty zvseny citace Foton, jsou hodnoty hlážena chyba ‘Sis nurnber‘ ktere byly bytů, o pocet adres a ukazatele ujození do pameti pocet vúrazů, pFjkazem DEF‘D naplneny . — — . — burs, podobná jako pčíkaz orru vraz,v4raz, ‚vraz a potom ukládají se žestnáctibitová hodnoty (napred nizsí byte zvetsi vyžží byte). Ukazatel ujozenj do pametj a citac adres se dva. vjrazů krát naplneny pocet o počet bytů, která byly . — . — orrp retizoc uložení u assembleru rozsíren Fetázce - do památi. tento p?íkaz byl det,,, ‘karel‘ ‚uloží do památi postupná OSElI ‚kódy jodnotlivch Písmen defm ‘karel‘ ‚provede támiř‘ totáž. poslední ‚znak bude mít OStII hodnotu vetsí invertovanú znak, pokud ‚o 122 ‚netušíte. k čemu je to dobrá. ‚podívejte sena priklady programů - - orrs výraz vyhodnotí se vjraz a o jeho hodnotu se zvátií pseudoinstrukce ‘lato ukazatel uložení do památi a citac adres. se používá k vynechání místa o pozadovaná dálce. - surrr ĎUER2 defs defs 100 1000 ‚vynechání ‚vynechání 100 bytů 1000 bytů v je instrukci fissembler umožřiuje vložit na místo. ‘kde skládá číselná hodnota. matematickíi viraz, f1atematickvraz se od jednoho nebo nákolika návážtí či konstant oddelench sebe prevedena 2-65535 Všechna císla na rozsah operátory. jsou prevedena (záporná čísla jsou přičtena k číslu 65536 a tím jsou a jsou provedeny operace na rozsah 0—65535). v tomto, tvaru je prováden vúsledek je pouzit podle potreb instrukce. t/pocet Fokud není zleva doprava, není zachovávána priorita operátorů. zleva možno vraz tak, aby mozno provádet zapsat ho bylo doprava, musíte ho rozepsat na dva řádky a mezivisledek priradit njetámU niviití ? to použít ne dalším řádku, autor se touto s nejcactájjí vrazy pouzívají pouze eventualitou ježte nesetkal jeden operátor. — — — kor-is tzn ty Jsou povoleny tyto kor,stzrity deítkovó 1231. 1.7 —32 estrictkovó NPC —#3 a3 dvojkov :iiii ii1 —111 znzkov úvozovk se musí v]ozit dvojjte Je rnozr,o5t odkzt Se r-rz zktujrrí hodnotu ítEe S rrz — JRT toto rnjslc‘ bude doszžer-rz hodi-.otz ítzo zdros ‚zde je ct t.,rtu, jej ‚důlku potrebujerne zjistit ‚z vjozit do núvistí LENTIl ‚toto je ns konci orlů csti 7777 7777 7777 eu S—1PRT LENi!-1 zdre Nvití kter. je F‘osjoupnost Eísol. písmen z zrrzku z pr-o jder,tifjkscj lze pouzít ms,iimlne dMeitó viechr‘y. Nvijtí zzír, písmenem. jsou Zrrzkr Ope rtory‘ 4 sč:i:trií odcítní — S nrobar,i delení zbytek po dolení / 7 - horní Chcete—li získst dojní byte nSVQStÍ tpĎ/25B. získte pomocí tP vlozte TP725. byte při Or‘,le.itó upozornnj v9slDdQk je 5535. 1.. dlenj Tzbujks sysmbojj která poskytuje ze znskr!‘ která ho tzbulkou symboJC s od ostztních odljjujj FROMET-I(U f1onoti. jsou jedním sssambl eni. nulou není fljjenre thybz z rzznr s vidy 7sbulks symbolů q,ristuje r.eustjo rnonú j hodnot, prohjádniout si sbecedna sQszenmi vypiš rmvátí S jejich r,jzkó primzzer-ry. Neustj existence tzbu)ky pokud jirn byly rrsk je vjzstnt. která mbcmjů se múze zdát nevmrhodrm to a tzkú zrychlení umorruje vmr-zzná zkrácer,í zdrojováflo textu kompi )Sce. — Fíksry pro práci TPLL s (‘ťMOL I-llFI tztlulkou ‘ 7) — tento ‚nFfkzz vypíše tzbujku (1.2 z návatí) srmnbo)ó rrs otrzzovku, zobrzzí e jednmz strárrk klávesa PflCC, ocekává se stisk nejzká klávesy, pokud to bude kjávesz nebude. SFPCC vypisování tzbulky se skončí, pokud to se dzli strúnkz. 1ává1i jsou vypsáns v dvou Joupcich, (její vznsm‘r pí-od r,ávetjm je vypsáns bud mezer-z nebo flvezdjcks je vyn‘sánz hodnotz, která byls je popsán dále), zz návitjm VyPi;Q —16 - nvijtí přiřazena ři posledním překladu, pokud mu žádná hodnota je pr)razena nebyla, je vypsáno pet tecek, Hodnota návestí vypsána v nastavená číselná soustave (desítková ci sestnáctková viz kapitolu I Editor). Možnost precíst si tabulku symbolů lze pouzi‘t, zajímají-li Vás adresy cástí prosramu nebo nekterúch když si nejste jistí tu dlouhich textů se to občas stane), která návestí jste už pouzili a která ne. IPĎLE p proádí vqpis tabulky symbolů na obrazovku a taká na tiskárnu, pro podrobnosti se podívejte na příkaz FRIML na každg řádek se vytiskne jedno návestí a jeho hodnota, jedna stránka obrazovky se tedy vypÍse na L, řádků papíru. — TOCLE c vyčitání tabulky symbolů, z tabulky symbolů se odstraní ta náviřtí, která se nevyskytuji ve zdrojovám a textu uzamcena. nejsou Při vymazání rádku nebo b]oku zdrojováho textu se z tabulky symbolů neodstraní ta návesti. která se vyskytovala pouze ve vymazaná části zdrojováho textu akce můze tato bút časová náročnijH a nevyplatí se ji provádit neustále protoze by mohla zdržovat, bytů za taká nikolik nestojí. Zbytečná to provedení vypísete nivestí jsou videt když si po kompilace tabulku symbolů defíncvanou nemají hodnotu jejich pokud pocet vzroste, tak použijte vyčistení prikaz pro tabulky symbolů. Pokud nemáte problámy s volnou pametí (pak je kazdj na můžete tento byte dobré) príkaz zapomenout, při kazdóm přečtení zdrojováho textu z kazety (tuto akci je nutno provádet obvykle nekolikrát za den proramú ve pri ladeni strojovám kódu není nouze o stavy, kdy se zkousen program odmítá vrátit vymaže) ve zpit, případná se rovnou po spustiní zdrojovám se textu zachovají jen použitá návestí. — — —- - — Oddálená kompilace - kompilace Po částech TPLE I uzamkne všechna náviští v tabulce symbolů. tato návestí se chovají při kompilaci tak, jako byla stále by definována, príkaz TPDLE c tato návásti neodstraní. Popsání smyslu tohoto příkazu následuje. -- — TPĎLE u odemkne všechna symbolů, opak příkazu TQDLE I - zamčená náváští v tabulce Dva předchozí příkazy jsou určeny pro umožnáni oddáleni kompilace důvodem může velké b,it rozsah zdrojováho textu. Zdrojovg text je nutno na rozdelit jakési základ (pomocná podprogramy tisková rutiny, práce s obrazovkou, data,. ) a na hlavní část (toto může rozdálení nákolikavrstevná), i bút aby dúlez,tá je, se základ úroveň) neodkazovala (nižší na návestí v hlavní cásti (vyšsí úroveň). Nyní se odladí základ. zamkne tabulka symbolů a vymne zdrojov vymazáni text. Po zdrojováho v textu zůstanou pamiti všechna náváští. která obsahoval a je možno se na v ne odvolávat dalším zdrojovám textu. Tuto moznost Vám snad lúpe osvetlí následující priklad: - — V příkladu je promram rozdi)en v na vrstvy, tři první vrstve jsou ulozeny texty, druhá cást obsahuje prosram. kterq vytiskne text, jehož adresa mu bude zadána a poslední (nejvyšší) vrstva bude volat tisk textu TEXT1 TEXT2 org 65Dfl defm ‘Zkusebni defm ‘text cl defm ‘Pokusny defm ‘text c.2 ‘ toto je první část promramu, ;není v ní zádni odkaz na ;návešti ve vyí vrstvi Tuto část proqramu (OSEMĎLY), zkompilujte zamknáte tabulku symbolú (lOLE 1) a vymazte zdrojové text (CLEPR y). PRINT orp Id and 6.ODP a,(hl) 127 toto je druhá část proqramu. ;odkaz na nizší úroveň v ní - 16 a,(hl) hl 129 z,PRINT rst Id inc and jr rot ;sice není, mohl by vjak bůt, :odkaz do vysí úrovne se ;zde vyskytovat nesmí Nyní opit zkompilujte zdrojovú text (PLMDLY). opit tabulku symbolů (TnDLE 1), nyní jsou v ní Jiz tri a opit vymažte zdrojovĽ. text (CLEOR y) MPIN org 53909 Id a,2 call 51591 Id hl,TEXT1 call FRINT rot - uzamknite ná“esti, - ;poslednj a nojvysí ůroven ;programu,můze se odkazovat ;i na návistí definovaná v ;obou nižiích ůrovních Fo vložení poslední části zdrojováho textu jsouv symbolů niviití TEXT 1, TEXT2, PRINT a rIfllN. První tri jsou uzamcena. tabulce návistí Je zřejmá, že v uvedenám př-jkladi nemá rozdoloní tohoto krátkiho zdrojováho textu na kusy smysl, ilustruje vsak způsob, jakům lze zpracovávat i dlouhá zdrojová texty. Tento způsob práce byl použit při ladinj monitoru, z kompilace zdrojováho textu byla zachována tabulka symbolů a přeložená kód, do pameti byl vkládán zdrojovů text monitoru a laden tímto způsobem bylo možno odladit rozumnúm způsobem program dlouhú 11 KS, odpovídající zdrojově text by byl dlouhú celkem asi 49 KS anevesel by se za zádnůch okolnosti spolu s assemblerem do pameti, o potřebi místa přeložen pro kód ani nemluve. — Při kompilaci jednotlivůch vrstev je vhodná nižží vrstvy chránit tím, že se uzivat*lská zarazka nastav í pod ne nehrozí nebezpečí, že již hotová cástj budou prepsá zdrojovm ny textem nebo generovanúm strojovúm kódem. — Při každám zahájeni práce je nutno opit zkompilovat všechny vrstvy, aby se do tabulky symbolů dostala potrebná návižti, a vyplatí se tedy spíže vyhrát na kazetu celou pamiL tedy ladící systám i se zdrojovým textem a prolozenmi již vrstvami programu. Může se to zdát, že se nahrává zbytecni velků rozsah pamiti. ale z časovůch důvodů je to lepží, než při zapnutí pocítače provádit nikterá akce vzdy znovu, navíc tento postup umozč,uje mít v pamiti i dalsí programy a data a nemuset je pokazdá nahrávat z deseti rúznůch kazet po dlouhám hledáni a převíjení kazet z jednoho konce na druhů, takto popsanú způsob jsem i nevycucal z palce ale sám jsem ho pouzíval pri práci na monitoru k tomuto ladícímu systámu assembler uz byl plni funkcni v táto dobe. Můžete pouzít násled ující modifikaci tohoto způsobu - 1. odladíte 2. pro ladiní dalží vrstvy si vyrobíte jakousi instalaci, ta bude obsahovat krátků zavidecí SflSIC program a dva bloky EQUE první bude tvorit ladící systám spolu s tabulkou symbol6 vzniklou odladením základní vrstvy, druhů pak přelozenů kód a připadni nijaká data nebo cokoliv jináho rozdilenj je proto, že mezi ladicím systámem a prolozenům kódem je obvykle velká mezera a nemá smysl nahrávat nikolik KS nul, to ovžem neplatí když překládáte před ladící systám a ne za nij si základní vrstvu - Zavádicí SPSIE může vypadat třeba takto: I RUNDQMIZE UP 24e3:STQP 9999 CLEPR 23999:LQI3Q COQE:LQflD Odpovídající bloky dostanete na - C09E:RUN kazetu pomoci příkazů: - - SPVE PVE DVE LINE 9999‘ ‘Instalace ‘Cade 1‘ CODE 2L.e3,‘,conec—23999: ‘Cade 2‘ COOE zacátek,dálka ve číslo (první textu zdroiováho ‘konec‘ je konec jsou cida urcujjcí a dálka začátek stavová řádce, dat, vrstvy a prjpadne polohu a rozsah pť‘elozenu nizsi v tomto příkladu je assembler umisten na adresa 24PW 3 podle monitor nastavit taká múzete v instalaci si nastavovat svgch požadavků a nemusíte jej pak pokazdá znovu L. po odladinj instalaci cel‘ hotov — dalšj další vrstvy si vyrobíte opit novou program dokud není a takto porád dokola a z přeložit vrstvu základní taká samozřejmá Můžete nejmáne má to dalších vrstev se odkazovat uz prímo na adresy, odkazovat moci nebudete se při pouzívání moni toru dvi nevhody prjpade, na náviští v již hotová vrstvi (nebudou v tabulce) a v budete ro zmenu nekterá cásti v nizsí vrstve, rozhodnete se že protože vy5j vrstvi ve adresy muset přepsat každ odkaz na stací postup, popsan se tyto adresy posunou. pouzí jete—li v.jše symbolů vyrobit si novou instalaci s novými hodnotami vtabulce více a vušší vrstvu nemusíte menit (pokud ovsem nezmeníte nejak jiná návestí, jin smysl). základní vrstvu — - značnámu díky Nutnost použiti oddilení kompilace se však odsouvá az (proti CENS je polovicní) zkráceni zdrojováho textu kódu, kratší strojováho menerovanáho na hranici kolem 5-7 KS není snad vghody jaká to má strojov kód lze ladit najednou potřeba moc zdůraznovat, — 5, Ostatní příkazy a možnosti: příkazy, nikterí uvedeny nebyly Doposud assembleru pouzívat. zde je jejich prehled. která lze v tento příkaz slouží k vytiš tání PRINT (SYMSOL SHlr‘t ‚ P) bere Froqram plotter. nebo tiskárnu na textu zdrojováho systámu kanálu do za znakem znak je jednotlivá rádky a posílá kódem kanál pro tiskárnu, každá rádek je ukončen pectra 53 mezery jsou 13 (EN‘TER) a nejsouv nim použity žádná tabelátory pouzijete prikazu v tomto Pokud vsechny. opravdu tisteny si Chcete—li parametr ‘b‘, bude vytisten pouze nastaven blok. p‘, Provádiní příkaz “TRDLE použijte symbolů, tabulku vytisknout připojíte lze zastavit stiskem klávesy SFPCE. Jakům zPůsobem si aby k vec stací. byl vase je svou tiskárnu na kanál 53 LFRINT. djpozici pro9ram. kter‘umj‘ — — — — do přechodu příkaz slouží K MONITOR (SYMDOL S4!rT 4 M) před Pouzijete—li parametr ‘a‘, provede se monitoru (viz dále) je to vhodnijši spuštinim monitoru kompilace zdrojováho textu jste si nez zadávat prikazy PSSEMDLY a MONI‘TOR postupná. Pokud při instalaci monitor odpojili. spuštání se neprovede. — — • systámu do řízeni 5) vrátí sHlr‘T DOSIC (SYMDOL prepsat nákterá pectra, do DPSlCu. Pokud se Vám však podarilo Vám s obrazovkou systámová prománná Spectra (prosram pracující utekl‘ a prosel pres tuto oblast), použijte ro návrat do DO2IC adresu, radeji příkaz NEW. Pro nová spuštini PROMETHEO pouzijte ve stejnám assembler je pri návratu na která je instalován stavu v nemz jste ho opustili (pokud jste ho ovsem z DQSIC nijak do hodnoty nastaví potřebná se návratu nevylepšili‘). Při zapne prerušení v módu IM I a provede se skok reqistrů IV a P, do hlavni provádácí smyčky (bude se interpretovat další příkaz), při tomto návratu není potreba nastavovat resistr HL‘‘ — ‘ — — ‘19 — NEW (SYMDOL SI-lIFT N) příkaz provede stejnou akci jako v OS1E příkaz NEW vymaze colou parnu až po nastaveni RPMTOP. Do assembleru byl zařazen proton ři trasovaní nebo ni behu se můze podařit přepsat systómová a prornenná ze hrozí, se Pri nóvratu pomocí příkazu DPSIC systám zhroutí. Pokud nevíte, zda nepřepsala se taki systómovů promenn RPMTOP, podívejte na se její hodnotu (je to hodnota ria adresúch 23730 a 23731) a připadni ji opravte předtím, nez použi joto příkaz NEW (toto lze provást bud v monitoru nebo tak, ze vyrobíte krtk program, kterú to provede a ten spustíte príkazem RUN: — - orm ort Id Id ret 23296 S hl.23999 (23730),hl Program přeložíte a spustíte příkazem ‘RUN b‘ -předtím ho nastavíte jako blok potom múzete bez obav províst príkaz NEW. Fokud pouzivůte rutiny z ROM Spectra, která prepisují systómová prominnó, je nikdy lepží používat pro nůvrat do systámu vzdy příkaz NEW o skončení Važeho programu totiž nemusí bit v tom stavu, v jakóm by bút mily. — - DUU (SVMOOL SHIFT 4 0) pokud bude tento příkaz použit tak zaručeni jako poslední. k pouzití jinch už nebudete mít moznost provdi RESET (RQNDOMIZE USR 0) Tímto přjkazem moure elegantni ukončíte prúci a zcela vyčistíte počítac. Protoze tento příkaz je mimořdni nebezpečný a jeho nechtiná mouziti by mohlo vyvolat u uživatele silnou depresi (uz se stalo), je nutno za nej pridat parametr ‘y‘, pouze takto se provede. — — CENSOR: Zpúsob, jak dostat zdrojově text z programu CENS do tohoto assembleru byl již zminin, múze nastat taká opačni potreba, k tomuto účelu byl vyroben krtk program CENSOR. Program CENSOR se skld z krůtká v č$sti a DPSICu približni z 200 Dytů strojováho kódu, ke svá činnosti potřebuje, aby byla oblast pamiti od adresy 55000 až ke konci pržzdn sem Sc uk)ůdž zdrojový ve text formžtu assembleru CENS (MOttl). Nahrajte do pamiti PROMETHEUS (můžete odpojit monitor aby bulo více místa) a instalujte ho třeba na adresu 25200. Nahrajte do assembleru zdrojové text pokud přesahoval by adresu 5500$, budete ho muset rozdilit. Jestliže je adresa konce zdrojováho textu mensí nez 55220 můžete nahrát program CENSOR príkazem L000 CENSOR Po nahrání přepíete v příkazu RONOOMIZE USR adr, promennou adr‘ skutečnúm startem assembleru (nyní 25e3). Nyní můzete zadat příkaz CO TO O (ne RUN!), provede se inicializace a pro9ram CENSOR se prlpoji na tiskov,ikanil 53, potom se provede spustení assembleru. Nastavte zacútek bloku zacůtek na zdrojovóho textu a konec dejte o maximSlne 32 stránek dal, nyní zadejte príkaz ‘PRIN‘T b‘ zadani blok půjde místo na tiskžrnu do programu CENSOR, kteri ho ukldú za sebe omezení 32 na stránek je dáno velikostí pamiti, do která se může zdrojov‘ text ukLádat (kdyby byly jednotlivá rúdky zdrojováho textu deLáí riez je obvyklá data nebo texty vyplňující celý řádek v!ozte radejj konec bloku dríve nez po 32 stránkách), Zadejte príkaz 6051C a nahrajte průve vytvorenou část zdrojováho na textu kazetu, po návratu do assembleru nastavte dalži část zdrojováho textu a opakujte dokud ceh, zdrojová text není nahrán na kazete. — — . — — — — Tento způsob přenesení zdrojováho textu do programu CENS můzete pouzi‘t i u jinch assemblerů, máte—li zdrojová ve text formátu pro CENS, můžete ho snadno přenest do PROMETNEO. ‘ - 6. textu zdrojováho fonnit a 20 - o podrobnosti další assembleru dozvidáli rdj tato kapitola je určena všem, kteří by se ‚etá ho morno je způsobem jaktm jak vypadá zdrojový text, dosahuje vlastne zkrátit Cv mezích možností samozřejme) Z proc dálka a (rychlost assembler v nákterich ohJedech taková vkony j)nsm proti textu) zdrojováho uložení úspornost spíše cj assemblerúm, Na počátku byly — tyto myšlenky aby se dala instrukce zcela jednoznačná k tomu. o informace kód, rozlišit stačí její operacni prefixech a tvaru připadnáho číselnáno operandu, bytů, dvou do tedy informace, která lze zapsat stačit toto rešeni vrazná urychli překlad, bude nebo prdívat prefixy, jen brit operacní kódy, dosazovat jejich hodnoty a vyhodnocovat vrazy potreba nebude do místa pro číselná operandy zjiflovat operační kódy zhlídat syntaxi příkazů uz při provídejí se akce tyto pri kompilaci a editování Cv táto dobá čeká počítač na člováka vedlejším provedl) mí dost casu aby tyto akce textu zdrojováho efektem pak je, ze uz pri psaní dojde k vychytíní spousty chyb a překlepů - - — - uložena mohou bút textu nivášti ve zdrojovám tyto odkazy jen jako odkazy do tabulky symbolů, alespoó dlouhch nívišti zaberou jen dva byty. u se symbolů tabulka tri znaky vzniká úspora textu, zdrojováho psaní bude vytváret jiz při prekladu, nebude tedy potřeba vytviret ji až při při taká kazdů odkaz na nívášti bude nasmerovín tabulku prekladu při editaci a nebude potřeba prohl ediva — nírokem možnim Nyní šlo o to, jak to provást s nejmenším jakási znamení vlastne vúpisu strínka jedna treba na cas to se jakou s rychlosti, o disassemblování 22 instrukci kazdám odeslání provádí se můzete přesvádčit sami (provádí se o ms trukce) — — každi řádek zdrojováho textu mi tvar první byte je operační kód instrukce, jsou zde ale jako je neinstrukce taká pseudoinstrukce a dalsí mají taká přirazeny ty prízdn rádek a komentár, svá kódy. aby se odlišily od obyčejnqch instrukcí, mají v druhám bytu řídku (informační byte) takovou je kombinaci prefixů, kterou nemá zádní instrukce, třech kombinace prefixů SDO a pro, Z v posledních bitech jeulozeno číslo 7 (mimo prizdn řídek, ten tu mi ulozenu 2). hodnota informacního bytu závisí taká na tom, jestli je nebo není před instrukcí či pro sisnalizaci táto neinstrukcí nivestí nebo ne když skutecnosti je určen 3 bit informačního bytu, je návestí použito, je zde zapsána 1, odpovídající přehled následuje v závorce, hodnota je zapsána neinstrukcí kódú — neínstrukce orízdn řádek komentář ent esu or put defb defm operační 2 I 2 3 1, S 6 7 kód informační LB 55 55 55 55 55 55 (56) (63) (63) (63) (63) (63) (63) byte - 21 — defs doře - je druh, byte 7 bit 6 bit 5 bit L. bit 3 bit 2-6 bit jnformaónj byte, obsahuje (63) (63) tyto údaje: PED prefix PED prefix POD prefix (203). 6 ne. I ano (237) (221) sro profjt (253) v poli operandů je návižtj typ cjselnáho vi.razu podle tohoto se dosazuje vůsledek vrazu, vznam hodnoty je následující: - — — — - - - 0 - — 2 3 L. S 6 7 uvedená - 55 55 8 9 — — — — - — instrukce nemá ěíselnú operand jeden byte, rozsah -256 až 255 dva byty, mezi -65536 ar 65535 jeden byte, rozsah —120 ar 128 jeden byte, typu (is4d) typ (iyd).n rst p (P se vloží do op. kódu) neinstrukce rozsahy je možno používat v textu další byty jsou použity jen v případi, že je 3 bit informaóního bytu nastaven na I nebo kdyz poslední tři bity informaóního bytu neobsahují nuly, tvar je následující: 1. bit 3 je 1, bity O až 2‘ jsou vjechny O potom v daljích dvou bytech je zapsáno pořadí danáho náviiti v tabulce a na konci je číslo 192*2 (dálka) 2. bit 3 je 8, bity O až 2 nejsou jenom O v dalžjch bytech je zapsán cel, vraz návestí jsou nahrazena svjm poradím v tabulce symbolú. ostatní znaky jsou zapsany obvyk1‘m způsobem, na konci je císlo 192-‘dálka vgrazu například viraz je zapsán 2, ‘. 2tLřIDEL4P23 takto: ‘r, 128H,L. 3, 19248 kde a H L jsou horní a dolní byte poradí návejtí LPDEL v tabulce symbolů vraz (2‘LODELP23) bude uložen taká takto, jestli se jedná nebo nejedná o adresu se zjisti z operacního kódu 3. bit 3 je 1, bity O až 2 nejsou jenom O uložení bude stejná jako v předchozím prípade. pred vůrazem budou dva byty obsahovat pořadí návářtí a dálka bude o dva byty vitsí Možnosti zkrácení zdrojováho textu: Dostane—lise prosramátor do situace, že potřebuje nikolik desítek bytů pameti a tyto nejsou k dispozici, pokusí 5e zkrátit rdrojov‘ text tak. aby byl při stejnúm kratií obsahu Nikol ik zpúsobú, která vedou k vsledku; . - 1. příkazem 2 VyEjstáte TPĎLE c tabulku 2.2 - symbolů a prázdná Odstraóte komentáře zbyteórijch od návišti řádky 3 Pokud se ve zdrojovám teytu vyskytují příkazy nrrs nebo vrazú za sebou, snažte se dostat co nejvíce do jednoho příkazu (bude mine operaónjch kódů a informačních bytů) — prepisem defb 255 defb @ defb 32 L. Zvyknáte invertovanúm znakem defm defb zapsat lze přehlednejsi na .defb 255,0,32 ušetříte 5 pokud pc‘uzíváte teyty si pouzívat rozsirení príkazu lJr71 9nvertovant t-‘128 te,w — L. byty posledním sekvenci v CENu to jinak ;nelze událat taká takto defm ‘lnvertovany teyt‘, a kratsí (zvyk bvá zelezná košile). je to 5. U konstant použijte desítkovou soustavu, stejná čísle lze zapsat nejkratsim způsoben, je to sice máne prehledná, zle di se s takto usetrit mnoho hlavns u binárního zápisu. pocet znaků potrebnú na zápis stejnáho císla je různ, treba kód mezery je mozno zapsat - 32‘ • - v desítková soustavi v šestnáctková soustavá jako znak ve dvojková soustavá zápis v desítková soustavi je viditelná ze všech nejkratší, Taká je vhodná místo 2-‘3 5. Nekdy je vhodná psát čísla Psát rovnou v zápornám tvaru, třeba Eíslo 55535 lze zapsat jako —1, totáž v platí pro číslo 255. pouze však je-li použito instrukci s osmibitovou konstantou. znaků náviští. 6-. Zkra‘tte náváští, o kolik zkrátíte o zdrojov cel‘ tolik se zkrátí tabulka symbolů z tedy i teyt, vyplatí se ovsom zkracovat vetsí mnozs tví návestí najednou. používato—li treba náváští LUOF s číslem, pak je vhodná nahradit stejnou cást kratsí sekvencí třeba LP zde však dejte si pozor abyste nezpůsobili, že dobrú prohozením dříve rúzná návesti budou nyní stejná, po prohození náveští samozřejmá musíte vycistit tabulku symbolů. - — te,‘tu nikterá konstanta Z Vyskytuje-li se ve zdrojovám velmi castoa je—li dlouhá 3 znaky, je vflodná alespoč. její hodnotu priradit nekterámu náveští a nahradit vsude tímto ji tento postup není dobrú jen ro zkráceni návestím ale i pro zpřehledneni abudete—lj chtít konstantu zmánit, stačí jizmánit vsude! na jednom miste a ne v Je—li tato konstanta pouzita prikazu l3[b (DErV) a pouzijete-li jednopísmenná návášti. může se Vám vejít na jeden rádek vícekrát nez původní konstanta. Uvedená způsoby nejsou doporučením jak psát zdrojová te,.ty, vedou totiž až na malá výjimky k přehlednosti. Je horši to zpúsob, jak se vyhnout nutnosti použít oddálenou kompilaci. Pokud se Vám podari zjistit, ze zdrojov nevejde se teXt do v parneti uz polovine Vám prací, nezbyde než ho rozdilit, zacnou—li problámy s památí až na konci, stojí za pokus zkrátit obvykle se to podari zdrojovj !emt stále je to lepší než se zabúvat delením zdrojováho teytu a používat oddálenou kompilaci. — — Tabulka symbolů Tabulka tvar. je uložena za zdrojovm te,ctem a má následující - EjtaE dva byty motet dva byty - nůvišti v tabulce odkazy do vlastní taOulky. pocet je roven poctu nůvestí, v horním bytu odkazu je v bitech 5 a E 7 ulozena informace o nebo uzamEení danáho nívestí tabulka vektorů dva byty dva byty. jmáno dva byty. jmmno vlastni tabulka rodrobnosti 23 dva byty obsahují hodnotu danáho nivestí, poslední znak jmána je invertován, jdentifiktory jsou serazeny, jejich pošet je roven poElu nvišti editoru: Na tomto misti dozvíte se způsobu. o kterm probihů prevdeni radku z te,ctováho tvaru do tvaru, ve kterám je uložen. Nejdiive se oddálí n.žvišti v poli núvišti (pokud tam nijaká je), potom se rozdelí instrukce na mnemoniku a dva operandy (operand múze bt i przdn), zjistí se o jaké typ mnemoniky a operandů se jednž a prohledž se tabulka, taková jestli instrukce eyistuje. Fn prohledávjní operandů se nejprve hledají remistry a kdyz se nenajdou. snazj se assembler vyhodnotit operand jako vraz, tento způsob umožňuje, že je možno jako použit návišti zcela libovolnou kombinaci znaků, nejsou zde žádná rezervovaná slova pouze u nekter4ch slov je nutno pouzit takovg zápis, aby byl vyhodnocen jako vraz: - napF chcete použít jako návijtj Fetizec F tento rotezec by se vyhodnotil jako remistr SF, napísete—li gp3 vsak • bude vše v porádku - Id hl.sm ;takto zadan4 řádek bude ;vyhodnocen jako chyba Id hl,sp® ;pFi tomto zadáni už bude ;pni jat a slovo sp bude ;vyhodnoceno jako návesti Id hl,sp ;pokud to zadáte takhle, dojde ;taká k přijetí, zmizí však ;znamónko a mři vyeditováni ;a zpetním vlození bude opet ;hlášena chyba (totiž mři LOPD) Fosledni poznámka se týká používáni závorek Pro oznažení adresy pokud je v závorce Eiselná hodnota (vgraz), staEí zadat jen tu levou, Pravá závorka bude doplnina však Fokud totiž udelúte a v závorce jsi bjjt resistr (např. (hl)), bude slovo h1 vyhodnoceno jako návosti. nikoliv jako resistr zde je nutno závorku uzavrit. Fouziti závorek mři uzávorkování vjrazu není povoleno‘ - - - Id a,(hI) ;toto se ld a,(hl ;toto bude vyhodnoceno jako a,(l-1L), tedy HL je návestí! ;Id Id a,(label ;toto staEí k ;bráno jako vezme jako Id a,(hl) -- tomu aby to bylo Id a,(LQĎCL) - 2.l.t - Monitor PROMUIHEUS IV. doplnil vhodni aby Picni tor PROMET4CLIS byl vytvoFen tak, Poskytuje mnoho možnosti. která poskytuje assembler PROMrII-IEtJS. ovládání návrhu Př-l prosramů. funkcí. která usnadčiuji ladiní ve prakticky VO1 od LR.C byla zachována shoda m programem rádi jisto programu uzivatelá tohoto vjoch shodnúch funkcích tuto skutečnost ocení - panel, Po vstuou do monitoru se pokud nebyl celní panel di sor 0C vpis dvou řádků kódu od aktuální a RSRDQQRR Ď:175 \ C:255 P a vypíče čelní vymaže obrazovka pčedefinován, bude vypadat takto Dl tp)L.5L.3 55?97 DC:4S55 SpRRQQ 5R175 DE:@0257 lX:RQeO 2‘.SSS HLSR@Q If 2361R 239SQ RRQ NZ NC PO P 1HRRReR LR@ Dali NON UNIV(RSUM Control ON . stroiováho adresy registrů D,D,C,D,E,H.L DC.Dľ,HL.IX, ‚a dvojregistrů lV,SP a vpis stavu p‘reruení adres). (S zásobníku ;vris jsou ;vpis registrů R a F ‚vyp5any platná podmínky, dále :vúr‘is pocitadla1—cykli ;stavov a editacni‘ rádek ;vpi5y - Po vypsání čelního panelu je očekáván stisk nijaká klávesy zjisti, se klávesy stisknuti kláves, po více případná přejde pokud ano, odpovídá-li stisknutá klávesa nijaká funkci, klávesy. na ceká stisk opet se řízení do táto funkce, pokud ne, Příslue k pamiti Návrat (aktuální funkce a pomocná adresa) do systámu assembleru klávesa - O po assembleru. do Po stisku klávesy Q se provede návrat opušten, jakám byl návratu bude assembler ve steinám stavu, v kompilace zpitná provádána že v byla příeade, toto neplatí Nastavení aktuální adresy - klávesa M otázka objeví Po stisknutí klávesy M se ve spodním řádku viraz vložit matematickú je možno kurzor, nyní a hemory vyhodnocen bude ten assembler), (pravidla jsou stejná jzkov k vyhodnocováni vúrazu zleva doprava, v pripade, ze dojde pri nákolik chybi, zazní zvukovg signál a do editačního rádku se na objeví editační se opit sekund vypíie chybová Máčení, potom a umožnina je odeslání pri řádek s testem. kterú v nem ‚byl stisknáte klávesu oprava chyby. Pokud chcete preruiit vkládání, EDIT (CIZFS sHIrl 4 1), řízení se vrátí do hlavní smyčky. Hodnota vrazu bude priřazena aktuální adrese. Posun na daljí instrukci — klávesy se zjistí táto volby Při použití aktuální adrese a aktuální adresa se zvetgi panelu. v,pjs čelniho se obnoví proveden COPS gHlrT 4 s instrukce dálka dálku tuto o na Po -ZE Fosun obnoví o jeden byte zpit aktuální Odečtení jedničky od vpjs celního panelu. VnoFenj o jednu úroveri Slllr1 klávesy CORS — — SI-lIFT kl.avesy tORS 7 provedeni po adresy, 4 se B 4 FF1 prohlížení programu ve strojovám kódu se často objeví přitom a neztratit nul.r-.ost podívat se do nijakóho podprogramu stejná v prohhízenám podprogramu může dojit ke soucasná místo zvolení táto po vnorováflí funkce potčebe. Froto existuje aktuální hodnota soucasná tlemory, objeví dotaz funkce se a adres) IB (kapacita zásobník zvláčtni adresy se ulozí na aktuální adresa je nastavena vloženou hodnotu. Fokud je zásobník panelu. čelního se vúpis p1n‘ příkaz se neprovede. Obnoví — Vynočení o jednu úroveř, — klávesy tORS Sl-lIFT S 4 ze runkce odebere vnořeni. funkce Vynoření opak je na pokud aktuální adresu, ni zásobníku hodnotu a nastaví na vgp5 se neprovede. Obnoví se adresa, nic zásobníku není žádná celního panelu. Smazání obrazovky - klávesy tORS Sl-liFT 3 používá Tato funkce snaže obrazovku, nastaví barvy, která assembler ti monitor) a obnoví se vpg čelního panelu. Smazání vCqpisováho oRria — 2 klávesy tORS SI-lIFT tato Smazání části obrazovky, která je určena pro vpjsy viz Editor vúpisů. obrazovky je vol.itelnú počet řádků - ‚ cást - Volání Voláni podprogramů podprogramu - použití a k]ávesy DREOKFOIr‘JTu: SHIFT SYMBOL H níž na adresu, o ta11 Fo stisku klávesy se objeví dotaz velni (zadávejte adresy vložení Fo má bt volán podprogram. následky) ná neodstranitel pozorne. pokud se zmjlíte. může to mít panelu, se nastaví vsechny registry na hodnoty uvedeni v čelním buó 5 podprogramu zavolání podle stavu indikátoru se provede takovú, povo)enn nebo zakázann preruienim. Mód pFeružení bude pod pracuje ladící naposledy systán nastaven jak byl návratu při zakázanúm přeruením a neginj nastavený mód, pouze NtW) Fo (příkazy nOSIt, I do systámu ĎPSIC je nastaveno IM se zjisti regjstr‘ vsechny uloží se návratu z podprogramu a obnoví jestli prí návratu bylo nebo nebylo povoleno prerusení taká ukládá správne se voláni Fn se vúpis celního panelu. pouzití tohoto príkazu si oviFte. zda je hodnota registru R. Fn samozřejne nesní bit místo registr SR nastaven na správná takto se na zásobníku nastaven do oblasti pamiti ROM (I—163B5). se a program přepsat) nelze (ROM adresa neulozí návratová nevrátí na sPrávná místo! - — — -26Nastaveni startu pro použití DREDKPOINTu klávesa ti Tato funkce vezme hodnotu aktuální adresy a uschová viz následující funkce. eotFebu bihu s RREPRPDINTem ji pro - s pomocí RREDKPOINT — klávesy SYMROL swIrT U 4 a runkce vyzvedne třI byty na aktuální adrese, uschová je na jejich místo vlozí skok do monitoru. Potom se nastaví vsechny zakáze registry na hodnoty uvedená v celním panelu, povolí nebo se přeruFenj a provede skok na adresu zadanou stiskem klavesy W. do zpet se Pokud program probehne místem s ĎREPKPOINTem, vrátí monitoru, budou uloženy všQchny registry, zjlátin stav prerusení uvedenáho je Z a na svá místo se opát ulozi odebraná tri byty je Dpe pameti ROM. zřejmá, ze tato funkce není použitelná v potrebná není instrukce táto U zprávni zpracován registr R. procesor pri aby to, pouze je SP, důlezitá hlídat hodnotu provádbní programu na REPKPOINT narazil. F í klad: 9999 5D 5®e3 LOOP 5ee5 SR$ S7 5@O8 5@O Id Id Id cpI Id inc dec Id or jr call SR@ii 5O1J Seelb ;na tomto místi ;poEet průchodů hl,STORT bc,3@OR a,(hl) (hl),a hl bc a,b c nz.LDOP SUDRDUT stisknite W - - ;na tomto míste stisknete ;SYMROL Sf-llrT ‚ U klávesy znamená, že v okamžiku stisknutí na tomto míst Oznařeni stisku okamžiku a v klávesy W bude aktuální adresa rovna U bude aktuální adresa rovna 50S13. kláves SYMDOL Si-1lrr Varovn příklad: kontrolujte DREOKpOINTU vloženi pro FF1 vybírání místa důsledne, aby RREOKPOINT (3 byty) nepřepsal jinou cást programu, kterou bude bih požadovat: 500R0 5ZO3 sess Id caIl ret PROCEDUR 5@O8 SR009 Id inc ret hl,tJ2lR PROCEDUR Uloženi bloky, Postup táto instrukci stisknite ;na táto instrukci má na magnetofon stisknte L000 - bloku na kazetu na Pssembler umožFuje ukládát tak bloky CODE (se standartní je následujicj‘: - bůt W konec ;kdyby byl použit DREPKPOINT ;na adrese 5RR6, přepířI se ;taká adresy 5@7 a S@$R což ;nelze potřebovat a je tedy ;nutnc zvolit jiná způsob ;projdení táto cásti programu ajhl) hl Přístup ;na klávesu S — a SOVU: klávesa S jak bezhlaviEková kazetu v DPSICu). hlavickou jako rirsr vložte adresu prvního bytu bloku. na dotaz kter ritů bt nahrán na kazetu — na - — na dotaz LasU dotaz Leader vložte poslední adresu zvolenáho bloku dváma způsoby můžete odpovádit 1. v tomto připadá Oude na vložením čísla jako blok, kazetu uložen bezhlavickov leader (značkovú byte) bude pouzito toto nahr-ávání se provádí hned zadaná číslo, další stisk na nečeká se po odeslání. kJ ávesy 2. (pouiije se vložením dvojtečky a jmůna prvních 12 znaků, ostatní budou oddáleny prípade v tomto stejno jako v 2fllCu) bude ve která bude vytvořena hlavička, uložen začátek bloku (First), jeno dálka (Last—rirst4l) a zadaná jmáno, po stisku ne jaká stisk klávesy CNTCR se počká na klávesy a pak se začne ukládáni bloku na (mamnetofon musíte spustit sani) kazetu — — Uloženi bloku na kazetu - klávesy Y?1DOL Sl-llPT 4 S předcházející příkaz. jako stejná Tento příkaz pracuje dálku tedy na LonmtW. ptá LasU se pouze místo dotazu na stejná zadáni parametrů bloku je takto úplná ukládanáho bloku na promram jako v PSlCu. Chcete-li například uložit pFeložen, kazetu, provedete to nejlápe takto: - — písmeno na začátek promramu vložte náváští 00STORT aby při vjpisu tabulky fl a číslo 2 jsou tam proto. bude hned symbolů nebylo treba toto návástí hledat na začátku - — - za konec zdrojováho - - a číslo P2STPRT vložte promramu sekvenci S—PflSIQRT P2LENCTH eu písmeno P u návestí textu 2 jsou tu ze stejných důvodů jako a v monitoru MONITOR a proveate kompilaci pHkazem rirst dotaz na zvolte nyní popisovanou funkci, Q2LENCTI4 Lenmth vložíte P2STPRT a na dotaz Vám může poskytovat informaci jak P2LENCTI-4 náviští dlouhá je vyrobeni strojov kód, která není nikdy na skodu Nahrání bloku z kazety do počítače - klávesa .J dotaz Punkce se zeptá na adresu. kam se má blok nahrávat a dotaz LasU. na poslední adresu nahrávanáho bloku se Potom Leader dotaz na znackovú byte nahrávanáho bloku nebude připadá, že v nahraje první blok. kter. bude nalezen, chyba splňovat parametry, která byly zadány, nebo bude zjištána lato RCQD/URITI Crror, v pante bude ohlášeno chybová hlášení chyba bude hlásena taká v případe, že blok bude zasahovat ladící ješte preruší se provádáni další systám nebo zdrojovú text pred zadáním znackováho bytu. — irst, — - - -za Nahráni se bloku z kazety do počítače — klávesy SYMĎOL runkce pracuje jako funkce pčedečlá. uH místo dotazu ‘LasU používá dotaz ‘Lenth. Př‘ečtení hlavičky nebo značkováno bytu se ggjrr jen že tím, klávesa Y - Provádí se čtení hlavičky z kazety vyr‘iSe se bloku typ ( je ĎPslC. I je číselná pole, 2 je znaková Pole a 3 je 1001), potom jmóno bloku, jeho pocáteční adresu, jeho a dálku dalsí informaci, jejíž závisí vúznam na typu bloku. vypsáni Fo informací se očekává stisk klávesy pokud se jedni o klávesu J, bude nahrán blok podle údajů zjistenich z hlavicky. Jinak se vrací rízeni do hlavní smyčky. — Památová Vpjs disassembleru — vpisy 14-lIn klávesy SYMDDL 4 1. Po klávesy stisku se vpisováho do okna vypisuji disassemblovaná instrukce. Vpis lze pFerusjt stiskem klávesy ‚ (CPS 1011 S4lrT 1). Počáteční vipisu adresa je práve nastavená aktuální adresa. Vpis disassembleru od zadaná ?Fíkaz se dotáže na adresu, od provádeno, otázkou ‘Fjrst. Dalsí v pFedchozím pčikazu. Způsob vúpisu adres - adresy — klávesa V niž má bit disassemblování akce jsou stejná jako klávesy SYMbOL SHln‘f C PH vypisováni hodnot dvojbytovch čjselnch operandů může disassembler pracovat ve tčech režimech, prepínání táchto režimů je cyklická? 1. vypje 2. pokud se hodnota, která má bt vypsána, rovná hodnoti riekteráho návestí v tabulce symbolů, vypíSe se místo císla toto návesti, stejne tak se návestí vypisuje místo adresy pred instrukci 3. vypisuje náváti stejni jako v režimu č. 2. navíc pokud se hodnota zmensena jednu rovná o hodnotá nekteráho návesti, bude vypsáno? návestí4l se bážnm způsobem číselná hodnota ‚ po instalaci ladícího Povolení systámu / zákaz je nastaven vypisovací vipisu adres — klávesa režim č. 3 C Monitor umožčiuje zakázat vpis adres pied instrukcemi, tento zákaz se netúká návestí, která mohou bit vypisována p‘red instrukcemi pri zvolení rezimů 2 a 3. - 2mina císelná soustavy 29— klávesy YI1DDL Sl-llfl . 3 Zmina císelná soustavy se tí,ká vsech čísel vypisovanch ve všech typech pamelovúch vpjsů, netúká se Ovsefn v1pj5u registrů v celním panelu toto lze ovlivnit v editoru celního panelu. — Vpis disassembleru na tiskárnu — klávesa D disassembleru na Program umožňuje posílat vi,pis v assembleru pres tiskárnu, komunikace se provádí steine jako táto funkce kanál E. 3 operačního systámu Spectra. Při zvolení a na adresu First poslední Last se program zeptá na první instrukce začína.iíci na úseku. kter, má bit vypsán na tiskárnu vypsána už Vypisování lze poslední Last adrese nebude. CDP Sf-iJrI + ENIER přerušit stiskem kláves po každá instrukci, každ, řádek je pro kontrolu taká vypisován do v,pisováho okna. - Zpitn překlad do zdrojováho textu — klávesy S‘YMDL SRIFT D smiřuje runkce sp podobá předchozí, v,pis strojováho kódu vkládání se místo na tiskárnu do zdrojováho textu v assembleru provádí za přístupov řádek (zcela jako při napr. prikazu LObD). na adrese Last, instrukce počínající Opit dotaz na •FirsC a dojde textu nedostane. Pokud k Lasli se taká do zdro.iováho je dána chybi, moznost ohlásí se chybová hlášeni a uživateli chyba flemory (u1l, nalezenou chybu opravit, bude—li hlásena nezbyde ner stiskem EDIT (CPPS SHlrT 4 1) celou akci prerusit. kLávesy Chcete—li převod předčasná ukončit, stisknite současně rádek se kazdig CQP l-llrT 4 ENTCP. Při zpitnám překladu opet vypisuje do Vám príklad viz okna. Více poví vúpisováho prí lohy. — Znakoví vpis pamiti — klávesa D vždy pamitj Protože při prohlížení obsahu nepotřebujeme v vid,t ien stroiovú kód. vypisování císel umornuje monitor pameti iako znakú. kazd rádek vjpj5u obsahuje adresu ! dvacet v ar 127 rozsahu 32 se pet znaků od táto adresy. Znaky s kódy vypisuji obvyklm způsobem, v ar 31 jsou kódy 0 ro!sahu 127, odecte nahrazeny teckou. Pokud je kód znaku vetsí ner se vypíše stejná jako pouze bude číslo 129 a znak se předtím, vqpis. Jako prohozena barva papíru a barva inkoustu inverzní Vjpjs provádí tak první adresa se vezme aktuální adresa. se a dlouho, dokud je stisknuta libovolná adresa. Preruiení vqpisu návrat do hlavní smycky zajistí stisk klávesy EDIT. - — Znakový vqpis od od zadaná adresy — klávesy SYIIODL Naprosto totáž jako v předchozím připadá, rirst. adresy zadaná na dotaz Vpis čísel — klávesa HlT vpis se D provádí L od číseln Poslední vúpis umožnin monitorem je vúpis aktuální zdresy. Na řádku bude vypsána adresa. pot jednoDytovch Všechno ostatní čísel a set znaků odpovidajícíh támto číslům. je shodná jako u znakováho vjpisu -30- Vúpis Eísel od zadaná adresy — kLávesy gyrlDoL SI-IIF‘t Vúpis se bude provúdit od dresy zadaná na Jinak se tato funkce neupí od predchozi. Vyhledávání Zadání posloupnosti byte‘ v posloupností a vyhledáni dotaz L ‘rirst‘ ‚ ‚ pamiti vskytu pnního 4 — klávesa C dlouhou posloupnost, 5 bytů Příkaz umoiřiuje vyhledávat nikterí byty mohou bt pro porovnávání nevznarnná. Po zvolení sQ bud vlozit můzete ‘5, ‘I. ar byte‘ bwte‘. objeví dotaz takto se oznacuj) dvojtecku požadovaná císlo (vraz) nebo nevznamná byty v hledaní posloupnosti. Fo odeslaní pateho cisla se provede hledání, pokud bude posloupnost nalezena, nastav), se vypis na adresu jejího vskytu aktuální adresa, potom se obnoví Eelniho panelu. l-fledání se provádí od adresy. která je vets) O I ne aktuální adresa a do konce pane ti — řiklady: hledíte vskyt posloupnosti 1, 2. 3, L. 5, hledáte instrukci 1. 2. 3. L.. 5, byte byte byte byte byte znaků flScd, zadejte: P 5 ‘c‘ ‘d‘ ldhl,33333 ‚zadejte: byte P21 byte 33333?256 byte 33333/256 byte byte kód instrukce Id hl,N bua zníte. ‘najdete ho v tabulce nebo editace do prázdniho místa v pamiti tuto instrukci vlošíte (viz pameti) a podíváte se na její operacní kód. VNhledání dalšího vjskytu zadaní posloupnosti — klávesa N adresy se Pktuální adresa se zvitší o jednióku aod táto prikazem, zadaní predchozim vskyt posloupnosti hledí dalsí nastaví na pokud bude posloupnost nalezena, aktuální adresa se její zacátek. Přenosy a plniní Přenos bloku - bloků klávesa I se na na první ‘rirst‘ adresu bloku, Fromram zeptá a na kam má bt blok bloku poslední ‘Last‘ adresu místo, prenesen •‘To‘. Fo zadáni se provede kontrola jestli se místo kam nebo nepřekrvá má ladícím systimem prenesen bt blok s testu ke Dojde—li zdrojovům te‘tem. a provede se přesun, při -‘31zjjštinj kolize tichto dvou částí pamiti, provádiní se přeruí C a odkud Místa Error‘ ‘RCOD/WRI‘tE VyPÍQ 50 chybová hlásení vzdy bude blok místa kam se budo přenášet se mohou překrývat, přesunut dobře. Fřenos bloku — klávesy SYMBOL předchozího liší od se Fř‘íkaz parametrů bloku, místo otázky ‘Last‘ je dálku prenásenáho bloku. bloku Flniní Swlrl zadání zptisobem pouze na nynl otazka ‘Lenmth‘ klávesa F - na ‘Last‘ konec a ‘rirst‘ Fromram se zeptá na začátek pameti do nezasahuje zda blok se kontrola, bloku. provede pokud ano, ohlásí obsazená ladícím systámem a zdroiovúm textem se chyba ‘REDD/WRITE Error‘, pokud ne, zeptá se program Joste na se blok vyplní. zvolenq potom blok, chcete ‘Uith‘ plnit to, čím — Flnní bloku — klávesy funkce předchozí Obdoba parametry začátek ‘rirst‘ a dálka Edi tace - S‘rf‘IDQL SHIF“T ‘ F tentokrát se blok ‘Length‘. zadává památi je umojř,uje je. FRDMC‘fl-IEIJS V‘raznou vlastností monitoru nutno zapisovat v monitoru do památi přímo instrukce, není tedy vyuzivá funkce lato kódů, operačních pouzívat tabulky podprogramy pro kompilaci z assembleru. Jednorázová editace pambti — klávesa EFPCC Fo stisku klávesy SFDC( se objeví v editačním řádku kurzor nyní je možno zzdat instrukci stroiováho kódu a to ůplne vlevo, tedy zcela stejnm způsobem jako pri vkládání zdrojováho textu, Príkazu u tohoto instrukce začíná od desátáho znaku na rádce jednou jeste stisknout stačí tabelace, funquje automatická průchody oba provedou se vloženi instrukce mezerník. Fo adresu. Fn aktuální na uložena bude kompilace a instrukce u)ozena nebyla ukládání instrukce se kontroluje, aby instrukce za ani textem zdrojovům se systámu ladícího oblasti do uzivatelskou za instrukci chcete uživatelskou zarážku. Fokud assembleru, do vrátit musíte se jen vlzit, zarázku prece instrukci. přepsat její hodnotu, vrátit se do monitoru a vlozit pouzijte teyt, Chcete—li do pameti prece jen zapsat cjslo nebo pseudoinstrukce textu odpovídající způsob jako ve zdrojovám slouzi sice príkaz účinkam. ocru, Tento ocrri se stejnm DErD, hodnoty keditováni památi, můžete ho pouzit i pro nadefinování použijte pseudoinstrukci CDU, více nejakáho ti nováho) návišti nalezena instrukci se dozvíte v příloze. Fokud buda ve vložená chybová sekund chyba, ohlásí se do editačního rádku na nekolik hláseni, bude-li to pokus o zápis do zakázaná oblasti, vypíse se do instrukce chybová hlášeni ‘Dad FIJT (DRC)‘, Ve fázi vkládáni editačního řádku lze funkce přeruit stiskem Coll. - - - -- — - 32- Opakovaná editace pamitj klávesa E — do pamiti vložit více instrukcí, Chcete—li není jednorázová pohodlná je nutno neustále editace pFílij pFeskakovat za právi vloženou instrukci proto pouzljte tento objeví príkaz. Fo zvolení táto funkce se v editacním rádku takó kurzor. steini se funkce chovů j dáJe, po zapsání do instrukce za vlozenou instrukci, obnoví pameti, se ukazatelposune se vpi5 óelního panelu (důležitá jsou dva disassemblovaná řádky) a 9 možno vložit daljí instrukci. FF1 j můžete vkládání používat — — pred instrukci taká návestí, bude mu prirazena hodnota ukazatele odvolávat na vžechna pro ukládáni instrukce. FF1 psaní se lze tedy napred návistí použít v již existující definovaná návetí jinak poli návestí a pak se na nej lze odvol.at v poli operandů, bude hláiena chyba, odvolávat se samozřejmá lze na návití i definovaná definovaná v průbihu poslední kompilace nebo dříve viz príloha. pomocí jednorázová editace pseudoinstrukcí EWU — — a krokování trasování promramů nejdůležitájií krokování a trasováni jsou funkce, která poskytuje. trasování a krokování se monitor Fn instrukcí provádí kontroly jestli instrukce nepouzívá zakázaná oblasti pro záPis. ctení a beh takovch je oblasti morno kazdou pro cinnost definovat az 5, navíc oblast v nachází njz se ladicí systám a zdrojově text se kontroluje na vsechny Vále cinnosti. I-4OLT instrukce zakázanám se kontroluje, aby se nepouzila pri -— prerusení. Frovádiní je kontrol možno vypnout a rychlost trasování se priblizne zdvojnásobi kontrola na instrukci HOLI vypínají se vypnout nedá, na zakázaná se oblasti kontroly — pamiti a zdrojovim ladicím systámom textem. obvyklou simulaci. lze volit tri rezimy uvybranch adres (morno az 1 adres) se tyto instrukce provedou (nebude se simulovat voláni prímo podpromramu ale cel‘g podpromram se zavolá najednou) anebo se budou všechny instrukce COLL a dva Rfl provádát najednou. zvyjují Foslední režimy U včetnj instrukci rychlost oblasti s COLL a Rfl - je trasování, tu vsak riziko ztráty kontroly nad vybranch prosrarnes —rezim rychláho voláni podpromramů lze vhodne pouzít na dokonale odladinch podprogramech pro zvůení rychlosti trasováni. Vcástech promramu, která jsou přímo volány samozrejme neexistuji zádná kontroly. V řádku editačním jsou vypsány indikace stavu (Control ON/OFF) a způsobu, kontroly jakým se budou provádet instrukce COLL a RS! (Cafl NON/OEF/PLL) (zádná/difinovaná/vjechny instrukce se budou přímo volat). Nevypnete—li kontrolua budete—li krokovat či trasovat 5 vá promramyse zakázaným prerusením, nemůze se stát, ze by monitor ztratil rizení prosramu. hudete—Ji pouzívat povolená prerugení v modu IR I nesmíte menit (je hodnotu resistru IV pouzíván systámem jako ukazatel do systámovch prominnch), dávejte si taká pozor, aby se reeistr SF (ukazatel na zásobník) nenastavil do oblasti pameti ROM. v pFeruieni módu Ďud?te_li ‚povolovat IN 2, musí nastaveno správne preruieni není trasováno ani nijak kontrolováno! . — trasováni počítá FF1 krokování a taká monitor časovou párocnostprosramu pocítadlo T-cyklú (IW2eO). Fočitání cyklů se hodí pri práci s na promramech, která musí trvat přesná zadanou dobu promramy LVOV a SOVE, hudební rutiny, barevná efekty na obrazovce a v borderu. Na začátku nastavte počitadlo na nulu a protrasujte tu část, jejiž časovou dálku chcete zjistit. Fn trasování se nesmí zádná instrukce RST COLL nebo provádet Primo. - — — krokování Fo stisknuti — kláves klávesy SVMSOL se provede SHIFT simulace — Z jedná instrukce na —33vsech hodnoty obnoví se provedením pied adrese. aktuální registrů (včetne R) aprípadni se povolí proruseni. po provedení stav se simulace se hodnoty vsech registrů omet ulozi. zaznasiena je povolepa Pokud preruseni a obnoví se vqpj5 Eelního panelu. kontrola, provedou se potrebná testy pred vlastní simulaci, kdyz Eeká se a je zjižtána nijaká kolize. vypje se chybová hiásení na stisk klávesy. Simulace instrukcí CPLL a R57 se provádí podle jak toho. podle nastaví zvolenáho režimu. Pktuálnj adresa se simulovaná instrukce smání obsah citace instrukcí. Pomalá trasování — klávesa T adrese, aktuální na instrukce simulaci runkce provede provede adresu, aktuální zmení panelu. obnoví vůpis Eelnjho R(QX klávesa stisknuta není pokud test stisknutá klávesy a znovu. stále — cyklus celú opakuje SPQC() SHIrT ((nPS 3 (NT(R. Sl.IlrT CDPS klávesy Stisknete—li při trasováni souEasne obnovováni stisknuty, klávosy kdy budou vynechá se po dobu, celního panelu. tato nosnost je uzitecná pro zrychleni trasování Simulace cyklu. tFeba pro urychleni nikteráho na kratží dobu probjhá stejne jako pri krokování. - Rychlá trasováni — klávesy SYMDDL SHIFT - T adresu na zeptá program se možnosti PH zvoleni táto LasU. a provádí cyklicky instrukce na niz by se mel zastavit aktuální znání adrese, aktuální na tyto akce simuluje instrukci obnoví (nPS SHIFT -4 (NTFR adresu, pokud jsou stisknuty klávesy -4 a SpPc() celní panel, testuje stisk klávesy ĎR(QK ((PPS SHIFT poslední zadaná nerovná adresa aktuální se testuje, jestli na opet R(PR, skoci stisknut adrese, pokud tomu tak není a není panelu zacátek cyklu. V opaónám připadá se obnoví výpis čelního by a rychlá trasování se zastaví. Pokud nevíte, na která adrese RCflkem) zastavíte ho se sel program zastavit (nezáleží na tom vložte třeba R. — - Práce Zmina stavu s registry indikátoru přeružení SYtIDOL — SHIFT -‚ ti na (I Dl Přerušeníz stavu Přehodí hodnotu indikátoru bude se preruseni nebo naopak. Indikátor urcuje v jakám stavu bih provádit 5 nebo podprogram volat simulovat každá instrukce, se indikátor skoncení každá taková akce pomocí DR(PXPDINTu. nastaví podle skutecnosti po provedeni instrukce. Přehození obsahů základních klávesy SYMDL a alternativních SHIFT 4 registrů fl ve registrů, Provede vminu základní a alternativní sady a (X PF,OF (XX strojovás kódu je to ekvivalentní instrukcím registry, vždy ty základní Pri trasování nebo krokování jsou tedy mři se Chcete—li která jsou viditelná na celním panelu. musíte registrů, alternativních hodnoty krokování podívat na pred dalžim krokováním registry vrátit. —34Nastaveni obsahu Fo zvolení registrů N ?ádku objeví se v edjtacním táto možnosti S4l3 klávesy SYľ1OL — nápis vložte mino registru, jehoz hodnotu chcete zmenU, carku nebo mezeru a napiste Eís]o do Cvqr-az), chcete tohoto která registru zapsat,registry jsou tyto: registry: Jednobytová Dvoubytoví P,D,C,O,E,I-LL,I-I,LX,I-JY,LY. l,R PF,OC,DCj-IL,lX,lY.SF : registry Foitadlo T—cyklů Famitová Stavově T ukazatele registr ti stavováho registru F následujícím zpbsobem: Id f,c Id f,s Id f,z Id f,p — — — — : )(,Y : F registr) (viz editor je možno zmini hodnotu CPRRY zmíní hodnotu SItN zmíní hodnotu ZERRO zmíní hodnotu FPRITY Nastavení bErĎ Nt na C flagu z F oblastí na M flagu z NZ flagu z a — jednotlivá bity minit flagu z zakázaniich oblasti Nastavení ěelniho panelu) na a naopak a naopak Z a naopak FO na PC a zpit jinqch parametrů klávesa I dovoluje Monitor nastavovat oblasti, která budou p?i vpisu disassemblerem vypsány jako data, jednobytová takovch oblastí si můžete nadefinovat celkem S. Každá oblast je zadána prvním a posledním bytem (vEctru). Fo stisku I klávesy se do vqpisováho okna vypíší souEasne nastavená oblasti. kazdi rádek zacínú cislem oblasti (0 až L.), za ním je vypsána adresa prvního bytu oblasti a pokud je stejná jako hodnota nejakáho návesti, je vypsáno taká toto ruávejtj, nakonec je vypsána adresa posledního bytu oblasti a pripadni návestí. Nyní můžete stisknou bud klávesu s cislem nekterá oblasti tato oblast se vymaže a znovu vypjse se seznam nastavenich oblastí twindows—okna), nebo klávesu I. v tomto pFípadi se program zeptá na první a FirsC na poslední Last adresu oblasti, proverí, platí, ze jestli ‘FirsUc—tast. a přidá novou oblast za již definovaná oblasti. pokud je jiz vsech pet oblastí definováno, klávesa nebude I reagovat. Stisknete—li jinou klávesu nez 2,1,2,3,4,1, program se vrátí do hlavni smycky. Za oblast s jednobytovmi je hodnotami povazován taká prostor pameti a obsazeni ladícím syslámem zdrojovm te,tem. - Nastaveni DCFW oblasti — klávesa 2 balu která lze typ oblasti, používat jsou oblasti dvoubytovmj hodnotami (tabulky adres), jejich nastaveni úplní stejná jako u oblasti DCFD. Nastavení FF1 Iadini oblastí, programu z nichž je se nesmí vhodná mít Eíst — klávesa jistotu, že s je 3 program -35proto urEena, nejsou reřte data z míst v pamiti. která k tomu zakazat. instrukcím místa tato byla do programu dána moznost každá instrukce. která nijakiqm zpZ.sobem cte data z pameti. napr. nebo indexregistrů přímo z adresy, z adresy ‘ registru, pomoci bude nejprve P registr (tedy i REl. FDP a CX (SFLHL), pres pokud kde to má zakázáno, provcrena. zda tak necjní z oblasti, ano, její simulace se neprovede a bude ohláseno chybove hlasem. prostor pame1ovj Za oblast se zákazem Et.ní je navíc povazován definice Vlastní obsazenu ladícím systámem a zdrojovjm textem. No read‘ oblastí je stejní jako u DCPD oblasti. táchto Nastavení oblastí, do nichž zapisovat se nesmí klávesa Z, — zda program nečte data z míst Důlezitojgí, nez zjišovat, aby •z nichž by nemal, je mít moznost hlídat program, pamiti, U kazdá nametL úseků povojench nes nezapisoval do jinuch COLL instrukcí (včetne instrukce. která provádí zápis do pameti neprepísí se PSi, FUSl1, CX (SF),NL) se provede kontrola jestli bude a neprovede se ano, simulace pokud zakázaná oblasti, Li jako obdobná hlášena chyba ‘REOD,‘WRITE Error‘. Nastaveni je je textem zdrojovým DEPfl oblastí. Oblast s ladícím systám.m a No write. taká považována za oblast se zákazem zápisu V — Nastavení se oblasti zákazem bihu — klávesa S Fosledním typem oblastí, kde je možnost nico zakázat, jsou nejaká provedeni po se by Jakmile oblasti se zákazem tibu. instrukce instrukce ocitl program v oblasti se zakázanům behem. stcjná je Zadáváni se nevykoná a ohlásí se chyba ‘RUN Error‘. nejak potreba není jako u všech předchozích. Použiti snad ani mel, kam by například když se program nevrací tam. vysvitlovat se jakmile programem, s oblasti vlastní zakažte vše, krotni povolenou mimo pokusí o skok nijaká instrukce při trasování nejcasteji vyvolává tyto problápy oblast, bude hlášena chyba instrukci pomoci adres chybná práce se zásobníkem návratovuch obvykle neco chybí nebo prebúvá. FUSH a POP — — - Definování adres pro přímá voláni - klávesa 6 je programů, trasování jak urychlit způsob. Vúhodnú kazdou (nesimulovat přímo provádit vybraná příkazy COLL a PSI podprogram celu ch volat podprograme instrukci ve volaných adres. deset najednou), K tomuto účelu si můzete zvolit celkem DEP) Pokud nastavíte rozim voláni defjnovan,chpodprogramú (Cafl jehoz adresní cást Je rovna bude se každiq příkaz COLL nebo PSI, príkazam. tímto definovanóho ze seznamu adrese nikterá ladeni Fn adrese. na táto nahrazovat zavoláním podprogramu pouzívá na jiz odladená a dobre vuhodni moznomt e tato programu fungující podprogramy (nehrozí tu již nebezpečí ztráty kontroly. znaku. tisk podprogram se vrací zpit tam, odkud byl zavolán) na a taká přerušeni používáno test klávesnice pokud není a nahráváni zpoma!it podprogramy, jejichž práci není mono je Editace v príloze. pouzití Ukázky podprogramy. zvuková navíc mozno je vymazávání podobná jako u definovúni oblasti, az 9. provádit klávesami —. — — — Zmina režimu provádin instrukci COLL a PSI - klávesa X PSI a instrukce ‚COLL me Jak bylo dříve uvedeno, mohou a provádit třemi různumi způsoby, která 5e Iiii hlavns rwchlosti jsou rezimy ůmirne. iyto neprímo bohužel bezpečnosti a jejich vuznam uz (NDN/DEF.‘OLL) indikovány v editacnip řádku — -36byl popsn dříve. Zapnutí / vypnutí instrukcí kontroly — SYPIDOL si-uri 4 X provdiní vjQch vypnout Tímto příkazem lze najednou provdení zvgsi rychlost dvojnisobni nejmáne to kontrol, Tuto možnost pouzíveite uvzene. trasovni Eelního Editor FFechod do editoru Eelního panelu panelu — klívesy SYMDDL SHIFT -‚ ti Fo pFepnuti do editoru Eelniho panelu se vymaže obrazovka. v jedna z položek se obnoví vpis Eelního panelu a rozsvítí definovat její celním panelu. Nyní je možno pro každou položku viz dile. umistini. způsob vpisu a další možnosti — bvldní CDFS SI-IlrT -# 1 EDIT editoru Eelního panelu — opuštini editoru delního panelu položku v seznamu — p?echod na nůsledující J - pFechod na 5 - posun položky o jednu pozici 6 - posun položky o jednu pozici dolů 7 - posun položky o jednu pozici nahoru S — posun položky o jednu pozici doprava D až Z — p?edchozj položku v dile) seznamu doleva nastavení velikosti položky (5 až 25), pro budou nebo registry znamená, jestli se nebudou vypisovat, ro pameová vpisy se která se vypisují takto mení pocet adres, vpisu taká H — zapnutí nebo vypnutí šestnSctková soustavi vjpisu laků vypnutí vlpisu taká nebo vypnutí vúpisu laků SYMbOL SI-ll! O zapnuti nebo vypnutí v desítková soustavá - - SYMbOL si-uri SYMbOL SHIFT 4 fl zapnutí nebo ve dvojková soustavi SYMbOL SHIrT - C — zapnutí ve znaková formi SYMbOL SHIFT 4 T — zmina typu vúpisu v4psů vypisuji bud se dvouby ty — — SYMbOL (viz u pami1ovch jednobyty nebo vqpi5u u pami1ovch SHIFT 4 S zmina smiru výpisů - obsahy adres jsou jednotlivtch vypisovóny bud vedle sebe nebo pod sebe — která lze poujvt er‘m položek, Editační -dek — kter‘ dek Dudo lze ovlivnit pouze. tyto úcejy pOuZjvn pro Vp‘jsc,vó lze ovljvr,jt počet idk6, která Dudou okrc pouzjty, lze toká zmir‘it polohu okno Ypjsc,vá Eulnho mři obnovovaní okno disossombleru vypisuje rrekolik rdkr instrukci se por-relu pocet odresy. oktulr.i od strojovóho kódu o polohu okno lze r,ostvit gtO, — — ení pQrL - Ul v‘is nebo Dl C.D.LH,L. l.R.l-1X,LX,I-1.LY remisl.ry ve kterch Dudou lze volit soustovy, r-eistry mohou dr-roty vypisoviny jejich bqt vypisovány vQ rrecfl pojednou, u reitru mezi (YI1flOL StIIF1 4 ) volit mezno F je splnerrrth O “4Pl5O vpisem binárním podm ir-rek Jednobytová P — F - — Dvojbytová se Vpis resistry — hrc E,t-lL,‘lX,7V nztovit lze počítzdjo T—cyklit, ctvojbytov registr Pdresovó - podobá reqistrC,m jednobytovm — tojr-r joko vpisy od zodná odr-esy Cukozotelo )C.Y) která u techto v4pisú lze volit počet byt‘ kterim e Dudou vypjsová,-ry, lze minit smer, tol‘ró már-rit lze vypisují, hodnoty jednotlivá Dudou vypi5ovot jednobytová nebo se jestli dvoubytová hodnoty dvojremjstru stejná nostovit lze joko u pedcházejícj položky Pdreovó vpjsy od odr-esy - — vjostnostj editoru Nejjistáj zpisoD, jok si osvojit zprsob poujtj nemjete nic zkozit. celního popelu, je ho zkusit pouzjt — —SR— V. Příklady práce s 1• Fříklad - ladícím systómem zpitnů preklad jak Tento příklad Vám pomůže vyzkoušet a pochopit způsob presni lze převóst trojovg kód do zdrojovóho textu. Provádeite vqsledky. a popsaná úkony sledujte Nahrajte PROMrTF4EUS na adresu 26000 a instalujte ho vóetni objeví vPis se monitoru, V assembleru vložte prikaz MONITOR. óelního panelu, nyní stisknete klávesu SPOrE, dojní rádek panelu a objeví se kurzor, napiste Hdbytes emu $555 a stisknete zmin vložte text INTER. Nyní stisknete klávesu M a na dotaz tiemory dbytes uvidíte Po odeslání se obnoví vúpis celního panelu a 1366 vsak vfpi5 obsahu pameti ROM od adresy 1356, místo císla bude vypsáno návižtí LOSYTIS. objeví (dále SS) a 6, Nyní stisknbte klávesy SYMDOL SNIn ve objeví e nikolik řádků vqpisu disassembleru, až se vúpisu EDIT. Stisknete instrukce call 151V, preruste vpis klávesou opit klávesu SF521 a vložte ‘ldedqei cpu 151V. adresu Opakujete-li znovu disassemblování naleznete dali ldbreak emu 1387 a vylistujte instrukci jr nc.138?. Vložte objevilo návestí LOSREQK se na si nikolik instrukci (SS4), podobne tak návestí vsech místech, kde bylo dríve cislo 1387, aby návesti LDDREP)< LOEDCEI. Vypjte instrukce tak. na si zaóátku řádku bylo v horní cásti vúpisu. v Oalí adresa Obnovte vqpi5. je číslo 1!96, vložte ldwait emu 1396. Ve výpisu můžete vidit instrukci toto jr nc.LO5REPk1, je skok na druhou instrukci od adresy LODREPK. pokud by se mezi vložila dalí tyto dvi instrukce pozdiji už ve zdrojovóm textu radiji instrukce, nepracoval by prosram správná. Vložte tedy ldstart emu ldbreakV, uvidomte si. ze můžete používat již pravdipodobnost deľjnovená náviití místo adres, snižíte si tak vkládáni. omylu Fn Pbychom se nezdržovali ldedme2 ldleader ldsync ldmarker ldflas ldverify ldnext lddec ld8bits ldloop vložte emu emu emu emu emu emu emu emu emu emu postupná tato návití 1557 1608 1623 1690 1659 1659 1676 1676 1692 1669 Prohlúdnite disassemblerem ramiI.. v hlavni si části programu je každá adresa nahrazena návestím. Nyní se podíváme na LOUDIlI a oba podpromramy LOUDIL? nejprve L010212, nastavte aktuúlní adresu na LOUDIL? (klávesa ti) a disassemblování při naleznete adresy isis ; 1517, vložte náviiti LOOILPY a LOSPMFLE, pokud dctre je LOEOIEI jste všimli, návičtí na si třetí za návestim LOUDIl? a tedy instrukci spolecná cást jiz neobsahuje adresy, která by nebyly nahrazeny návičtími. Nyní provedeme zpitnt překlad Stisknite SS a O, na dotaz nirst: ldbytes a na dotaz vložte LasU vložte 15604V Po odeslání uvidíte vgpis disassemblovzná cásti pameti ez nyní adres pred instrukcemi, pouze s návestímj Po skoncení stisknete klávesu I opet se zapne vipis adres pred instrukcemi. ‘ . — - Vralte se do assembleru stiskem kLávesy O. Pokud jste vžechno provedli přesni podle pokynů, mil by zdrojové text konřit na adrese 605R7. Stisknite 55—k a dostanete se na začátek zdroiováho textu. Najdete instrukci ‘Id hl,133‘, je to sedmi instrukce Od začátku, nastavte do přjstupovóho řádku následujicj instrukci ‘pustl hl a stisknite dvakrát CQPS SJllrT49 a vymazete tyto dva rádky. ‘ Začátek programu bude po provedení LODV‘TES Zdrojov zmin následující d af,af‘ d inc ey dec di Id out in »,15 (251fl,,a .) 1 a,(25 text bude končit na adrese L.RS9S. V tomto okamžiku je nejvyjj čas pro uložení zdrojováho textu na kazetu. Stisknite SS‘S a vložte loader‘. spusIte volnou kazetu a nijakou stisknite klávesu, o provedení 55V stisknite (VLRIY) a odeslání po vralte kazetu z zkontrolujte nahrávku, pokud bude chybná, opakujte VLRlr‘t a kdyz bude neúsmiinú. opakujte SDVL, nyní už můžete odeslat jen SOVE bez ničeho a jako jmáno se vezme posledne zadaná jmáno. Nyní připište před program org ent Id Id Id scf cafl ret STPRT instrukce RRRPR S 38 ix,1 6 de,5912 a,255 LDDYTES Vezmite kazetu s libovolnou obrazovkou a nastavte ji před (55.*) blok dat (za hlavičku) a zadejte prikaz RUN a spusl.te magnetofon, po skoncení nahráváni bude program čekat na stisk libovolná klávesy, aby se mohl vrátit do editoru. Vložte ‘rigo s:or z rozsahu R. .7. zmení dvojice se 2‘, zminí te—li číslo 2 na nijaká číslo barva pruhů zachovány zůstanou — - cerná bílí modrá žluti červená svetle modrá fialoví zelení — — - — Další instrukce. která mini barvy pruhů je jnstrukco CPL, zamiř‘te ji za instrukci xor 11111111, zminite—li jednicky na posledních třech místech za nuly (ne všechny, různi zkousejte), můžete získat další kombinace barev. Poslední instrukce menicí barvy je instrukce za návistim LDSYNC. která mení xor 3 barvy zavádicích pruhů na barvy při nahráváni, Vložte příkaz ‘MONITOR a‘ (SS‘t1). provede překlad a se skok do monitoru. Nastavte aktuální adresu na LOEOr1, stisknste SS—N a zadejte ‘t,R‘ vynuluje se počítadlo ‘T cyklú, Stisknete 55T a vložte ‘ldsample—l‘ trasování do adresy LOSPMPLE—1. Po skončení ukazuje počítadlo T cyklů hodnotu 351., Toto je počet cyklů procesoru potrebnj na provedeni tohoto programu: — — LOCOCLI LODELPY bitu — Id dec jr a,22 a nz,LOOELOY Tato část programu se provede dvakrát mři nahrání každóho tedy celkem IR krát mři nahráni I bytu. Stisknete a Q se vralte do assembleru. tři Nahračlte uvedená řádky takto‘ a,7 a 2,a (254),a 3.a nz,LDDELQV Id dec set out res LDEDCCI LDDELPY jr MONITDR a, nastavte aktuální adresu na HdedgeV. Vložte adresy nastavte poáítadlo T cyklů na R a trasujte program az do tedy o 8 ldsarnple-1‘. Fožítadlo T cyklů ukazuje hodnotu 31.6, cyklů máná. nez by málo, pridejte dve instrukce NOF za instrukci 351, jr nz,LDDELPY, zopakujte vpoEet T cyklů, nyní jQ hodnota a tedy stejná jako dříve a loader bude pracovat opet bez chyb. Spusfle program vsledek uvidíte sami. RUN příkazem a nahrávání. vyzkouřejte Vátšina loaderů reaguje na stisk PRCE, pokud budete chtít za návestim •ret nc tuto možnost vylouEit, nahraate instrukci LDSPMFLE instrukcí nop. balří 2. Vložte už možnosti musíte vymyslet Příklad EL.EPR příkaz y, lLL rlLL2 Frove2te RUN je to jiná, taká ne tak máte smůlu). — možnosti — napiřte a vyzkouiet sami. trasování tento ent S xor out Id 3d Id Id inc dec Id or jr ret a .).a 1 (25 hl,16381. bc,5912 a,r (hl),a hl bc a,b c nz,rlLL2 krátké program znovu, to televizi, v4sledek nevypadá žpatná, zkuste barevnou ořklivá (pokud nemáte vypadá obrázek jinak, má na Jo, že po každám sputání a instrukci svádomí registr R. Vložte tedy za instrukci xor Id r,a. tentokrát bude vgsledek vždy stejn, registr R má vždy při spuŠtiní hodnotu nastavenu na nulu. ‘ přejdete nastavte Vložte tlONlTORa a do monitoru. je adrese aktuální adresu na návqstí STPR1, zjistete. na která rychlá obrazovku a ret, vymazte (CS48) spusfle instrukce (SS4T), trasováni na dotaz dejte adresu instrukce ret. Last‘ Fo odeslání uvidíte znažná zpomalená vjechny akce, která program provádí nyní můžete: — a) nedálat nic b) stisknout CRF 5 jednotlivmi znařne zpomal í c) stisknout CPPS SNlT a FRCE a trasováni zastavit, prípadne opet spustit nebo krokovat jednotlivá instrukce — požkat až to samo skonEí SJ-IlrT a CNTER a sledovat co se dáje registry, rychlost trasování se Chcete—ji PotJzijte pomalá jednot)ivá trasoviní sledovat při traso‘ěini fl, znovu můzete registry. a) opet nede lat nic tentokrít program pobezi tak dlouho, dokud nenarazí na instrukci, která by provúdila nebezpecnou akci b) stisknout CQPS SI4lr‘l a CNTCR. teči e program naopak zrychlí, přestanou e vycisoval, hodnoty registrů c) stisknout — CflrS SHlrr a SRbCI a zastavit trasování 51QRT, vymažte náviití Nastavte opit aktuální adresu na Vyzkousojte ocet obrazovku (SS8) a vypnáte provádení kontrol. rychlá i pomalá trasování u rychláho melo patrná by byt zvení rychlosti — př-esvidEite Qž se do sytosti kontrolu opit zapnite CSSX). o v rozdílu Zrychlení trasování vypínáním kontrol radiu a pokud ano, tak si dobre rozmyslete zda program nijaká nepFistojnosti —pri prvním spustení vzdy mčjzo Vis stát Nekolik sekund takto usetrenúch ztracenáho nahráváním programu znovu do pocítace. vložte Vralte se do tyto Fádky: assembleru LOOF a takto upravenú program a pFed instrukci rychlostech, nepoužívejte, nebude páchat kontrolami. s spoustu casu id hl.1638L af ILL ať a 128 c,LCCF push cafl Poe inc cp jr ret příkazem RUN. spuslte (55411) a pFepnite do monitoru Fo skor,Eeni se pepnite PLL CX). na rezim rezim provádenj instrukcí cafl‘ a rst‘ ctenim na Stisknite klávesu 3 a nastavte okno se zakázanům a zadejte rozsah 8-1 (po vqpisu prázdnáho seznamu stisknete I SR na Pktuálni adresu obi Eísla), potom nastavte registr S. nastavte na 51PR1 a nyní krokujte (55.L7) pomalu (T) nebo rychle vzdy na SR na 8). (SST) trasujte dan4 program (pozor provede cel‘m call rILL najednou Instrukce se i s podprogramem. - — 3. FFlkIad — trasování pejdite FRDMCfl4CUS na adresu 25088, do Instalujte $12a2, registry IV na monitoru, nastavte aktuální adresu na (SS-Hl) a povolte spusije hodnotu 23618 a SR na 0, přerujení rychlá trasování, jako poslední adresu uvedte 0. - - — vymaže se obrazovka (uvidíte zpomalená CLS) provede se automatick listing (pokud je co vypsat) objeví se kurzor v editacni sine Q 5e RLW1, vypíse příkaz Stisknte klát‘esu ‚pomalu INTER. chvíli objeví pFipite jeřti astisknete Fo se 0,8 255,175, tecka, stejne vlozte príkaz ‘DRbl‘ pri psaní Tusíte 55 radeji po klávesu držet ponikud dále než obvykle, při psaní a napsání první Eisljce klávesu na chvíli custte potom oP?t se z pocítace stisknete. klávesu můžete pustit v okamziku kdy ozve cvakání zpomalená klávesová echo. — Nastavte režim orr a (X) hodnoty fl2C, 16 a 5556 (klávesa 6 a vložte I — jako podobni Call jako * adresy okna). - Nactavte rejstry, aktu]nj adresu zkoušejte vlojt tyto pkazy a preruseni jako predesle a OPPy 255175 FLOT OP trplivost, chvíli sočkejte CIRCLL 127,$7,P7 proqram se zastaví na instrukci ROKL 25S22.P která realizuje pFikaz ROKL Hd (bcLa, L I1 LCRLLN a amozFejrn taká pu5te kazetu L000 rop i—2252S TO 2J295:FOKL iFLLK 23672:NLXT i CLL — - - SLEP — 55L.3 rroram se RONOOMI2L USR 250@ 25552 a bude chtít t-asovat - Y Příklad — zdrojové zastaví na assembler teyt adrese na ukúzku rutina ze Na kazeta je takó hudební vymažte zdrojov text (LLEOP y) a nahrajte ho mez jej a Ae 3 spus příkazem pockejte, se uloží SKOTL hry do pamiti. RUN. CRPZY. chvíli — 43 — OBSkH Trochu sebechvály sneb odkud to přiělo I. Instalaceladícíhosystému II. III.Ansemb1erPRQMETREUS editor magnetofonová operace ........ 4 .5 . 5 9 překlad ‘mbcl,l tabulka ostatní příkazy a moriopti formát zdroj ováho textu a dalěí podrobnosti 11 15 o assembleru 20 18 24 IV. Monitor PRoMETH:Js přístup k psměti (aktuální adxesa) a pcwnocná fuzi)cce 24 volání poóprogremů a pouáití BREAMPOINTU přÍstup na magnetofon — LOAD a SkVE 25 26 28 paměová V. 1 výpisy vyhledání posloupnosti by-ta v paměti 30 přenos a plnění bloki editace peměti krokování e trasování progrem práce e registry 30 31 nastavení zakázaných oblastí a jiných parametrd 34 editorěelníhcpanelu 36 Příklady práce s ladícím systámem 1.příklad — zpětný překlad 2.příklad—monostitrasování 3.příklad—traaování 4. příklad — zdroj ový text na uká.zku 32 3.3 . 38 38 41 42