MON je program pro ladění a vypisování programu ve strojovém kódu. V paměti je umístěn od adresy 0B000H do 0CB00H. Nahrává se povelem L z monitoru nebo povelem C v IPL. Lze jej také nahrát pomocí příkazu LOAD v MZ-800 BASICu (Je ovšem nutné mít nastaven limit $AFFF nebo nižší). Startuje se automaticky nebo pomocí GB000 či USR($B000). MON pracuje v módu MZ-800. Využívá zobrazení 25 řádků po 40 znacích. Je nazávislý na ROM. Může tedy pracovat i po odpojení ROM pamětí. Vkládání čísel -------------- Po nahrání MON pracuje v šestnáctkové soustavě. Čísla v ní zadáváme přímo (např. AF3B), desítková čísla uvozujeme znakem # (např. #10000). Pokud pomocí přepínače Z změníme nastavení číselné soustavy na desítkovou, tak čísla šestnáctková musíme vkládat pomocí znaku #. Při vstupu dat má tedy znak # funkci přepínače mezi vybranou a zbývající číselnou soustavou. Při výstupu na obrazovku, ale bez ohledu na nastavení aktuální soustavy jsou desítková čísla vypisována přímo a šestnáctková uvozena znakem #. Příkazy ------- Příkazy se vkládají stiskem jedné klávesy a zadáním až tří číselných parametrů, které budeme dále označovat x, y a z. Pokud nebyl zadán parametr funkce monitoru, která jej očeká- vá je místo něj dosazena nula. Parametry se navzájem oddělují čárkou nebo mezerou. Příkaz lze kdykoliv ukončit klávesou TAB nebo CTRL & C. (Příklady: A10,10 parametry 10H, 10H, 0 A10 100 parametry 10H, 100H, A,100 #45 parametry 0, 100H, 45 A parametry 0, 0, 0 ) PŘÍKAZ VÝZNAM POPIS Ax,y ASCII Vypisuje adresu, obsah paměti číselně a ASCII ekvivalenty. V závislosti na aktuální číselné soustavě je na řádku 8 nebo 5 hodnot. B BOOT Skok do IPL. Dx,y DISAS Provádí zpětný překlad strojového kódu v paměti od x do y. Lze zadávat oblasti DEFB, DEFW a DEFM. Odpověď Y na dotaz CLEAR? zruší staré definice těchto oblastí. Pak se po nápovědě DEF dopíše B, W nebo M a adresy začátku a konce oblasti (např. DEFB 100,200). Kromě standartních funkčních kláves, které lze použít ve většině příkazů jsou zde navíc připojeny tyto funkce: I zapne nebo vypne výpis kódů instrukcí J vytiskne jeden řádek podtržení T zadání a výpis textu B, W, M provede DEFB, DEFW nebo DEFM Ex EDIT Editace obsahu paměti od adresy x. Vypíše adresu, obsah paměti číselně a čeká na zadání nové hodnoty. Lze zadat buď číslo (1 nebo 2 byty) nebo text ve formě "text. Fx,y,z FILL Zaplní oblast paměti od x do y konstantou z. Gx GOSUB Zavolá podprogram na adrese x. Ix IN Přečte a zobrazí hodnotu z portu x. Kx FIND Hledá zadaný obsah paměti od adresy x. Každý byte hledané posloupnosti se zadává hodnotou (číslo nebo znak " a nějaký znak) a maskou. Pro ty bity, které mají v masce hodnotu 1 není porovnání prováděno. Zadávání se ukončuje zadáním CR místo hodnoty bytu. Lze zadat maximálně 9 bytů. Mx,y,z MOVE Přesun bloku paměti od x do y na adresu z. Ox,y OUT Na port x vyšle hodnotu y. (Adresování portů je šestnáctibitové přes BC registr !) Px,y SHIFT Zadání posunu v adresách pro příkazy A, D, E, K, Q, U a V. x je fyzická adresa (tedy kde program je) y je logická adresa (tedy kde by měl být) Rx,y,z RELOC Přesune oblast paměti x-y na adresu z. Provede přeadresování skoků a ostatních odkazů z oblasti od x do y do oblasti od z do z+x-y. Qx,y,z QRELOC Jako RELOC s tím, že zohledňuje nastavený posun mezi logickými a fyzickými adresami. Tx TRACE Zapnutí krokovacího režimu a nastavení PC na adresu x. Standartně se při trasování vypisuje adresa a instrukce, která se bude vykonávat, názvy a hodnoty zvolených registrů (AF je rozdělen na číselnou hodnotu A a symbolicky vyjádřené F). Dále se vypisují definovaná okna paměti V a W. Podpříkazy: X Přepne výpis základních nebo záložních registrů. M Přepne styl výpisu. Buď kompletní informace ve zvoleném pracovním okně nebo pouze instrukce. Q Ukončení trasování. . Posun ukazatele mezi registry. = Nastevení obsahu registrů, vybraných ukazatelem. V Nastavení adresy okna V. W Nastavení adresy okna W. Tx Krokování po instrukcích bez výpisu až do adresy x. Bx Nastavení breakpointu na adresu x a spuštění programu. I Definice zobrazení informací při trasování. Postupně se zobrazují názvy registrů a oken a je možné volbou Y nebo N vybírat, které se mají v průběhu trasování zobrazovat. Ux,y TEXT Vytváří zdrojový text pro GENS 3 z oblasti paměti od x do y. Dotazy CLEAR? a DEF mají stejný význam jako u DISAS; WORKSPACE je adresa pracovní oblasti pro tabulku symbolů; TEXT je adresa pro ukládání generovaného textu (je-li uvedena 0, tak se text neukládá); FROM a TO je oblast generování návěští. Vx,y,z VERIFY Srovnává oblasti paměti od x do y s oblastí od z do z+y-x a vypisuje rozdílné obsahy. Wx,y WIND Nastavení okna na obrazovce (pracovní oblasti programu MON) od řádku x do řádku y. Xx ATTR Nastavení barvy pozadí (horní 4 bity) a barvy písma (dolní 4 bity). Yx TRANS Převod zadaného čísla do desítkové a šestnáctkové soustavy. Z HEX/DEC Přepne aktuální soustavu. Poznámky -------- Příkazy A, D, K, T, U, V umožňují kdykoliv v průběhu práce pomocí příkazu Z přepnout mezi šestnáctkovou a desítkovou soustavou. V příkazech A, D, T, V fungují ještě tyto funkční klávesy: GRAPH zadání nové adresy KURZOR DOPRAVA adresa = adresa + 1 KURZOR DOLEVA adresa = adresa - 1 KURZOR NAHORU adresa = adresa - 10 KURZOR DOLU adresa = adresa + 10 E editace paměti (viz EDIT) O připojení nebo odpojení tiskárny CR je-li stisknuto - vypisuje se P vypisuje se až do té doby, pokud není na klávesnici stisknuta nějaká klávesa