****************************************************************
            ZZZZZZZZZ       SSSSSS      I   DDDDD
                   Z       S            I   D    D
                  Z        S            I   D     D
                 Z          SSSSSS      I   D     D
                Z                S      I   D     D
               Z                 S      I   D     D
              Z                  S      I   D    D
             ZZZZZZZZ      SSSSSS       I   DDDDD
                    (C) Scray
Program  ZSID  je  kompletny  ladiaci  subor   pre    vytváranie
zdrojoveho textu a spätný  preklad  do  assembleru.  Existuju  2
verzie tohto programu:
                1.ZSID -urcená pre majiteľov ram 64 kb
                         (start &4040)
                2.ZSID8000 - urcená pre ram 32kb
                         (start &8000)
Verzia pre 64 kb pamäť je samozreje dokonalejsia.
Postup pre prácu so súborom:
a/ u 64kb pamäti nahrať BASIC-I (pokiaľ už  nie  je  v  počítači
zabudovaný.Musí to byť ale BASIC-I,lebo  iny  Basic  by  program
ZSID premazal!Po nahratí nahrajem program ZSID.V  tomto  zložení
možno ZSID používať ako Dissasembler ako aj assembler.Assembler
ale nepracuje so symblolickými návestiamy!.Ak sa pri preklade do
strojového kódu použitie symbolických návestí vyžaduje je nutné
nahrať do pamäte program:EDTASM.CM .          Tento program  je
dodávaný  spolu  zo  ZSIDom.Program  EDTASM.CM  bol    špeciálne
upravený ku ZSIDU.Nemožno ho preto nahradiť programom  EDTASMv80
(assembler zo 602. ZO ZVZARMU v Prahe),lebo by preklad nešiel!!
 b/ u 32kb pamäti +Basic-F nahrajeme program ZSID8000 do  pamäti
a mBžeme ho používať ako u 64kb,ale možnosť použita symbolických
navestí odpadá.To je hlavná nevýhoda oproti režimu 64 kb.
Po spustení programu sa nám ZSID ohlási znakom: #
Ak zadáme príkaz,ktorému ZSID nerozumie,odpovie nám: ?
Je úplne jedno,či sa píšu príkazy malými,alebo veľkými písmenami
Všetky kody sa zapisujú aj vypisujú hexadecimálne.Pred desiatko-
vé číslo je nutné písať znak: #
Popis príkazov ZSIDu:
:  A  -assembluj priamo do pamäte.Napr:
              AC000 (RET.)        -zapisovať sa bude od C000
       ZSID vypíše adresu,kam sa zapisuje.My mBžeme zapisovať
       inštrukcie jazyka assembler.(LD HL,0FF atď...)
       Zápis treba ukončiť bodkou: . (RET)
   B  -/read or write/ nahrávanie alebo zápis vytvoreného súboru
       pre EDTASM.(Len u režimu 64 kb)
   C  -CALL volanie adresy podprogramu.
   D 1.adresa,2.adresa  - zobrazí stav pamäte na určenej adrese
                          v 2 riadkoch:
                          1.riadok=kod prislušnej inštrukcie
                          2.riadok=znak kódu ak znak existuje,
                            ak nie,zobrazí bodku.Japonské znaky
                            nie su brané do úvahy!
                          Pri nepoužitom 2. parametri vypíše 16
                          adries po 1.adrese.
                          Pri nepoužitom ani 1.parametri vypíše
                          16 adries od tiaľ,kde s výpisom napo-
                          sledy skončil
    E  -nemá význam
    F 1.adresa,2.adresa,kód   -zaplní pamäť konštantou
                               1.adresa=odkiaľ
                               2.adresa=pokiaľ
                               kód=kód ktorým sa má pamäť napl-
                               niť.Ak uvedieme namiesto kódu do
                               apostrofu znak,zaplní sa pamäť
                               daným znakom. Napr.
                                       FD000,D800,'s'
    G 1.adresa,2.adresa  =JUMP na adresu -tvrdý skok
                               1.adresa=Jump adresa
                               2.adresa=STOP adresa
    H  -hexadecimálny prevod na desiatkový a opačne ako aj sčíta
        nie a odčítanie ( + - )
                          Napr.   H56 (RET)
         ZSID vypíše:  0056  #86  'V'
                       hex.  dek.  kód,ak existuje
                          alebo H#118  (RET)
         ZSID vypíše:  0076  #118 'v'
                       hex.  dek.  kód,ak existuje
    I  NANE  - meno suboru alebo [?]  pre príkaz R
    J  -nemá význam
    K  -nemá význam
    L 1.adresa,2.adresa   -listovanie=ako dissasembler
                           Parametre nie sú zaväzné.Bez použi-
                           tých parametrov listuje od tial,kde
                           naposledy skončil;po 11 riadkoch
    M 1.adresa,2.adresa,3.adresa  -presun bloku pamäti.
                           1.adresa=odkiaľ
                           2.adresa=pokiaľ
                           3.adresa=kam
    N  -nemá význam
    O  -nemá význam
    P  adresa,počet prechodov  -pasca=pre ladenie programu;urču-
                                je koľko krát má prebehnúť prog-
                                ram bez zastavenia danou adresou
                                Každej adrese môžeme prideliť
                                rôzny počet pascí/max 255/.
                                Napr. P D200,8  :
                                Cez adresu D200 prebehne 8 krát
                                program a pri 9. prechode sa za-
                                staví.
    R  -nahrávanie ďalšieho súboru ku ZSIDu (napr.EDTASM) podľa
        názvu z funkcie I
    S 1.adresa             -prezeraj a zmeň obsah pamäti.ZSID
                            vypisuje od 1.adresy obsah pamäťovej
                            buňky a čaká na zmenu.Ak danú buňku
                            nechceme meniť stačí stlačiť RETURN.
                            Možno zapisovať kód,alebo znak v
                            apostrofoch.Je to ako príkaz POKE
                            v Basicu.Zápis sa ukončuje bodkou.
    SW 1.adresa            -to isté ako u S , ale forma zápisu
                            odpovedá príkazu POKEW v Basicu.
    T počet krokov         -krokovanie testovaného programu so
                            sledovaním.ZSID vypíše všetky regis-
                            tre.Počet krokov=počet inštrukcií ,
                            ktoré má ZSID vykonať a vypísať re-
                            gistre od poslednej adresy.
    TW -to isté ako T ,ale CALL sa berie ako 1 inštrukcia
    U počet krokov         -to isté ako T ,ale ZSID vypíše iba
                            poslednú inštrukciu.
    UW - to isté ako U ,ale CALL sa berie ako 1 inštrukcia
    V   -nemá význam
    W   -nemá význam
    X   -prezeraj a zmeň stav registrov CPU.Ak zadáme iba X ZSID
         vypíše obsah registrov od poslednej adresy.
         Ak zadáme Xreg tak vypíše obsah daného registra a čaká
         na novú hodnotu.(napr XHL).To isté platí aj pre záložné
         registre,ktoré označíme apostrofom.(napr.XBC')
    Y   -nemá význam
    Z   -nemá význam
 V blízkej budúcnosti uvedieme do používania ďaľšiu dokonalejšiu
 verziu ZSIDu na ktorej sa už pracuje.Myslí  sa  tým  prerobenie
 ZSIDu tak,aby sa  sa  nahral  do  pamäte  tam,kde  si  to  zadá
 uživateľ.Tým umožníme prácu s dokonalou verziou aj v 32 kb  re-
 žime.Podobne ako je to u MONS3.CM , ktorý má ale chyby.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%