ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | PP01 | PETR | PLAN-80A | IQ151


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / V5


Obsah:

  1. MONITOR V5.0
  2. MIKOS V5.0
  3. MIKOS/K V5.0
    1. CKM
  4. MIKOS/D V5.0
  5. PERIFERIE

Výpisy programů:





OCR dokumentace "Programové vybavení V5"











TESLA
ELTOS
OBOROVÝ
PODNIK
DIZ
SAPI 1


1.
MONITOR V5.0
 
2.
MIKOS V5.0
 
3.
MIKOS/K V5.0
 
4.
MIKOS/D V5.0
 
5.
PERIFERIE










Tisk: ÚISJP Praha 5 - Zbraslav, 1988



MONITOR V5.0




            ******************************************
            *                                        *
            *                                        *
            *     M  O  N  I  T  O  R    V 5 . 0     *
            *     ------------------------------     *
            *                                        *
            *                                        *
            *          P R O  S A P I - 1            *
            *       S E S T A V U   Z P S - 2        *
            *                                        *
            *                                        *
            *                                        *
            *  (C)  1 9 8 8  T E S L A   E L T O S   *
            *            Z Á V O D    D I Z          *
            *                                        *
            *                                        *
            ******************************************


        MONITOR V5.0
        ------------


   Hlavnim  úkolem  MONITORu  je  vytvoření standardního prog-
ramového prostředí pro uživatelské programy a operační systémy.
To  znamená,  že musí poskytnout uživatelům maximální množství
služeb a nezávislost na periferních zařízeních. Délka MONITORu
V5. 0  je  3  KB.   Poskytuje uživatelům nové služby a povely.
Podporuje  práci s okny na obrazovce a má stejné ovládání jako
terminál SM 7202 a nebo AND-80 včetně nepřímé adresace kurzoru
pomocí  ESC  sekvence. V případě, že uživatel chce použít jiný
terminál  nebo  obsluhovat  desku grafiky místo desky AND-1 je
možné  vytažením  desky  AND-1  a  zasunutím  paměti  EPROM  s
ovladačem na adresu 1400H instalovat jiný terminál do systému.
Pozor,   kdo  chce  využívat  MIKOS,  musí ho vyměnit za verzi
MIKOS/T,  kde je vyřešena obsluha desky DSM.
  Jako  klávesnice 
lze  používat  C-259.11 a C-262.3. Monitor
překódovává  rozdílné  kódy  kláves. Při obsluze je vyřešeno i
zpracování  čs.   znaků  podle  KOI-8. U klávesnice C-262.3 je
zvoleno  jedno  tlačítko  pro  přepnutí horní řady kláves, kde
místo  čísel  jsou  čs. znaky jako na psacím stroji. Pro velká
písmena  a speciální znaky je možné zvolit háček a nebo čárku,
která se potom přidá ke znaku podle KOI-8.
   Monitor  umožňuje  připojení  několika  typů tiskáren např.
interface IRPR (Consul -211), interface centronics (Robotron K
6313),  interface DZM-180 a sériový interface pro D-100. Jinak

je  možné deklarovat jako systémovou tiskárnu jiný ovladač. Je
možné  také  pracovat  s  přerušením. Podrobnější popis nových
služeb a povelů je v návodech.
   Na  adresu  1800H si může uživatel vložit paměť EPROM. Když
bude  začínat instrukcí JMP, potom při inicializaci se systému
po  reset  volá  adresa  1803H  jako podprogram. Takto si může
uživatel  inicializovat  své  periferie, spouštět své programy
atd.



     Popis některých povelů, odlišných od verze 4:

H ... volba ovladače pro výstupní periferii

      0 - prázdný ovladač       4 - DZM 180
      1 - Consul 2111           5 - "děrovač"
          (IRPR)                (magnetofon)
      2 - Centronics            6 - displej
      3 - Dl00 sériová          7 - sériový výstup

I ... start operačního systému MIKOS

L ... načtení a spuštění systémového programu

U ... zobrazeni počáteční a koncové adresy programu
      zavedeného povelem LOAD (K_L)

V ... kontrolní součet

V ... nastavení úrovně přerušení

Z ... prodloužení meziblokové mezery pro zápis
      na magnetofon


      Popis rozšíření služeb MONITORU verze 5:


TX    zobrazení textu, ukončeného znakem s nastaveným
      7. bitem na jedničku

WND@  definice "okna" na obrazovce

KOS@  volání operačního systému MIKOS včetně zadání
       Jména

RNAME čtení textu z klávesnice nebo z paměti

INTER nastavení úrovně přerušení

KODWM změna kódu desítkové klávesnice

KDDASC změna kódu znaku z klávesnice




   Při  práci  s MONITORem používejte pouze služeb, chraňte si
potřebné  registry  v  uživatelském programu. Jedině tak budou
vaše programy přenosné !


        MIKOS V5.0
        ----------


   Operační systém je vytvořen v několika modifikacích:

       MIKOS V5.0 ..... je pro magnetofony K-10 nebo SP-210
       MIKOS/T V5.0.... je pro magnetofony K-10 nebo SP-210
                        a Terminál
       MIKOS/K V5.O.... je pro kazetový záznamník dat KZD-1
       MIKOS/R V5.0.... je pro ROM-DISK
       MIKOS/D V5.0.... je pro disketové jednotky

Operační  systém  MIKOS má přesně definované ovládaní a systém
služeb,tak aby uživatelem vytvořené programy nebyly závislé na
typu periferie se kterou se právě pracuje.
  Operační  systém MIKOS V5.0 splňuje požadavek uživatelů, aby
bylo  možné  celou práci s magnetofonem řídit přímo z programu
bez zásahu obsluhy včetně zadávání jmen souborů. Takový způsob
řízení  byl  vyžadován  při  sběru  dat  a  jiných aplikacích.
Monitor  má  novou službu na adrese 157H pro otevírání souboru
pro  čtení i zápis s možností předání jména z programu. Těchto
služeb využívá i BASIC V5.0.
  Soubory se dělí na dva typy "A" a "B". Soubory typy "A" mají
dlouhou  meziblokovou  mezeru  ve  které  je  možno zastavit a
rozběhnout  magnetofon.   Slouží  pro zpracování dat, kdy se s
daty pracuje nezávisle na rychlosti magnetofonu. Pomoci služeb
lze  nastavit  buňku  MODE  a potom je možné zapisovat soubor,
který  se  automaticky  ukončí znakem ^Z (1AH) a nebo se tento
znak  zapíše  do souboru a pro ukončení je nutné použít službu
CLOSE.  Soubory typu "B" mají krátkou meziblokovou mezeru a je
nutné je vždy ukončit službou CLOSE.
     Operační  systém pro práci s kazetovým magnetofonem MIKOS
V5.0 zůstává kompatibilní se svým předchůdcem verze 4.

     Zadáváni jména souboru:

JMÉNO   - pro čtení i zápis se provádí vyhledávání od
          okamžité polohy na pásce.

.JMÉNO  - před vyhledáváním se u SP-210 provede převinutí
          na začátek kazety.

@JMÉNO  - pro zápis; soubor se zapíše na kazetu bez
          vyhledávání. (Nahrazuje povel K_A verze 4.)

     Ve  verzi  5  lze  pomocí služby KOS@ zadat jméno souboru
externě.   Jméno  definované  v  programu musí být uzavřeno do
uvozovek.   MIKOS  verze  5  tedy  ve spojení s kazetopáskovou
pamětí  SP-210  nebo  KZD-1 umožňuje práci se soubory bez nut-
nosti jakékoliv obsluhy magnetofonu.




                Uložení MONITORU v paměti
                -------------------------




       Monitor  je  umístěn    od adresy 0 v pamětech EPROM na
desce  REM-1  v  rozsahu  3KB. Za monitorem následuje v paměti
operační systém MIKOS, který je závislý na konfiguraci systému
(použitý  kazetový  magnetofon a terminál). MIKOS zaujímá 2 až
3KB paměti, podle verze a je rovněž umístěn v paměti EPROM.
       Zbývající  2KB  paměti EPROM jsou využity pro systémové
programy  jako  ovladače aj. V případě, že uživatel chce tento
prostor  využít pro svoje účely, pak na adrese 1800H nesmí být
obsah EPROM 0C3H.
       Systém  při  inicializaci  automaticky testuje skutečný
horní konec paměti RAM, se kterým pracují systémové programy.
       Monitor  V  5. 0  má  služby  pro  nastavení  a obsluhu
přerušení.

       Pozor!  U monitoru V 5.0 je změna proti V 4.0 v tom, že
Na  adrese  5  je skok na adresu F006H. Od této adresy si muže
Uživatel  definovat  svůj  systém  služeb obdobných operačnímu
systému CP/M. MONITOR tuto oblast nenaplňuje. U verze V 4.0 byl
na  adrese  5 skok na obsluhu Služeb CP/M v paměti EPROM. Tyto
služby nebylo možno modifikovat a rozšiřovat.


Rozdělení paměti EPROM na kartě REM-1
-------------------------------------


        I-----I-----I-----I-----I------I------I------I-------I
 adresa:I 00  I 400 I 800 I C00 I 1000 I 1400 I 1800 I 1COO  I
 č.     I  0  I  1  I  2  I  3  I  4   I   5  I   6  I   7   I
 eprom: I-----I-----I-----I-----I------I------I------I-------I


  |-----------------------------------------------------|
  |                                                     |
  |  |---| |---| |---| |---|                            |
  |  |   | |   | |   | |   |                            |
  |  | 3 | | 2 | | 4 | | 5 |                            |
  |  |   | |   | |   | |   |                            |
  |  |---| |---| |---| |---|                            |
  |                                                     |
  |  |---| |---| |---| |---|                            |
  |  |   | |   | |   | |   |                            |
  |  | 0 | | 1 | | 7 | | 6 |                            |
  |  |   | |   | |   | |   |                            |
  |  |---| |---| |---| |---|                            |
  |                                                     |
  |                                                     |
  |                                                     |
  |             R E M - 1                               |
  |                                                     |
  |                                                     |
  |                                                     |
  |                                                     |
  |             |--------------------------|            |
  |             |                          |            |
  -------------------------------------------------------

       Monitor  je  od  adresy  000H  až  po 0BFFH, MIKOS je v
prostoru  0C00H  až 13FFH. Nebo až po adresu 17FFh podle verze
operačního  systému MIKOS V5.0. Na adrese 1400H je rezerva pro
MIKOS/T,   nebo jiné systémové programy. Od adresy 1800H mohou
být  jiné  systémové  rutiny  a  nebo  uživatelský software. V
případě,  že chce uživatel svůj program automaticky spustit po
startu,   musí  být  na  adrese 1800H obsah 0C3H, a program se
spustí od adresy 1803H.


                Rozdělení paměti
                ----------------

  MONITOR V5.0 je kompatibilní s V4.0 . Paměť RAM je rozdělena
stejně. Jednotlivé adresy jsou patrny z následujícího obrázku.
Od adresy 4300H-4400H je volná RAM pro uživatelské ovladače.



  |--------------|-----------|-------|----|----------------|
  |              |           |       | v  |                |
  |              |           |       | o  |                |
  |  R O M       |  PORTY    | RAM   | l  |  RAM pro       |
  |              |  a T.V.   | pro   | n  |  uživatele     |
  |              |           | syst. | o  |                |
  |              |           |       |    |                |
  |--------------|-----------|-------|----|----------------|
  00  - 1FFFH    2000H-4000H 4000H-4300H  4400H - 0FFFFH






       PŘEHLED POVELŮ M O N I T O R U  V 5.0
       -------------------------------------

      Označená  data v <...> jsou údaje, které zadává obsluha.
Např.   <CR> ..je klávesa návrat vozu, <1FFFF> je číslo, které
muže být ukončeno znakem mezera a nebo poslední číslo v povelu
muže být ukončeno znakem <CR>. Jsou-li v závorce malá písmena,
to  značí  text,   který  zadává obsluha. V případě, že jsou v
závorkách VELKÁ PÍSMENA jde o text, který vypisuje systém.




Kód  a  název               Význam-komentář  povelu
==============================================================


A  *  ASSIGN           přiřazení periferií vstup/výstup
------------


                    Formát povelu:A-<log.zařízení>=<přiřazené

                    fyz.zařízení>

                          .A-C=T  ...


                        Logická zařízení:
                        -----------------
                    C=konzola-periferie vstup/vystup , obvykle
                    terminál S klávesnicí


                    R-reader-vstupní zařízení(snímač děrné pásky,
                    vstup z kazetového magnetofonu)

                    P=punch-výstupní zařízení(děrovač děrné
                    pásky,výstup na kazetový magnetofon

                    L=line printer-výstupní zařízení,tiskárna

                    Fyzická zařízení:
                    -----------------

                    CRT=displej s klávesnicí
                    LPR=tiskárna
                    SER.QUT=sériový výstup
                    SER.IN=sériový vstup
                    USER1=uživatelské zařízení 1 kazetový magnetofon
                    USER2=uživatelské zařízení 2 volné

                    Přípustná přiřazení:
                    -------------------



                    C=T   CRT+LPR      P=T    CRT
                    C=C   CRT          P=P    SER.OUT
                    C=B   SER-IN       P=1    USER1
                          OUT:LPR      P=2    USER2
                    C=1   IN:USER1
                          OUT:USER2

                    R=T   CRT          L=T    CRT+LPR
                    R=P   SER.IN       L=C    CRT
                    R=1   USER1        L=L    LPR
                    R=2   USER2        L=1    USER1


                    POZN. Zařízení L se volí povelem H.Implicitně
                    je nastaven prázdný ovladač, t.j.žádná tiskárna.


B * SASIC           start BASICu nebo TEDITu
---------
                    .B


C * CLEAR           mazání proměnných,"studený" start systému
---------
                    .C


D * DISPLAY         zobrazení obsahu paměti
-----------
                    .D=20<SP>=46<CR>

                    Formát povelu:D=<ladr><SP>=<hadr><CR>
                    ladr-low=dolní adresa
                    hadr-high=horní adresa

E * END OF FILE     ukončení souboru INTEL HEX a zadáni startovací
---------------     adresy

                    .E=0<CR>

                    Formát povelu:E=<adr><CR>
                    Je-li ADR-0, program se nespustí.


F * FILL RAM        zaplnění paměti konstantou
------------
                    .F=4400<SP>=FFFF<SP>=00<CR>

                    Formát povelu:F=<ladr><SP>=<hadr>=<byte><CR>
                    byte=plnicí znak


G * GOTO            start programu a nastavení bodu přerušení
--------
                    .G=4403<CR>
                    .G=7000H<SP>=7010<SP>=7210<CR>

                    Formát povelu:
                    a)start od zadané adresy bez přerušení
                      G=<start adr><CR>

                    b)start od zadané adresy s jedním bodem
                          přerušení
                      G=<start adr><SP>=<break1><CR>;program
                          proběhne do break1
                      G=<CR>                        ;program
                          pokračuje od break1
                    c)start od zadané adresy s postupným
                          nastavováním bodu přerušení
                      G=<start adr><SP>=<breakl><CR>;program
                          proběhne do break1
                      G=<SP>=<break1><SP>=<break2><CR>   ;program
                          pokračuje do break2 nebo break1
                             .
                             .

                      G=<CR>                        ;program
                          pokračuje od posledního zadaného break

                    break=adresa paměťového místa,kde dojde k
                          přerušení programu

                    Povelem "X" lze prohlížet obsahy registru

                    POZN. Trasovat a zastavit lze pouze programy
                          v paměti RAM.
                          Programy v paměti ROM lze pouze provést
                          bez možnosti přerušení.


H * HANDLER         volba ovladače(handleru) pro výstupní
-----------         periferií

                    .H=2<CR>

                    Formát povelu:H=<n><CR>

                    Význam parametru n:
                    ---------------------------------------------
                    0-prázdný ovladač      4-DZM 180
                    1-C0NSUL 2111(IRPR)    5-PO
                    2-CENTRONICS           6-CO
                    3-D 100 sériová        7-sériový výstup


                    POZN. Implicitně je nastaveno H=0, před
                          tiskem je nutno povelem H zvolit
                          druh tiskárny!


I * INIT            "studený" start operačního systému MIKOS
--------
                    .I



J * JUMP            start programu zavedeného do operační paměti
---------           z MIKOSu

                    . J

                    Soubor musí mít binární tvar. Adresu lze
                    zjistit pomoci povelu U. Před startem se
                     provede test na kontrolní součet. Je-li
                     součet spatný MONITOR vypíše "?".


K * KAZETA          Vyhrazeno pro povely kazetového operační ho
----------          systému MIKOS v 5.0.
                    Další popis povelu je popsán v popisu MIKOSu


                    .K


L * LOAD PROG       zavedení a spuštění systémového programu
-------------
                    .L

                    Povelem se zavede a spustí bez dotazu první
                    program nalezený na kazetě. Program musí za-
                    čínat instrukcí JMP.


M * MOVE            přesun úseku paměti na jinou adresu
--------
                    .M=7000<SP>=73FF<SP>=F000H<CR>

                    Formát povelu:M=<adr1><SP>=<adr2><SP>=<adr3><CR>
                    adr1=počáteční adresa úseku,který má být
                    přesunut
                    adr2=koncová adresa úseku,který má být
                    přesunut(včetně)
                    adr3=počáteční adresa kam má být úsek
                    přesunut


N*                  kopírování dat z kazety do periferie
---------           definované povelem H

                    .N


O*                  nastaveni obsahu buňky "MODE"
---------
                    .0=4

                    Formát povelu .0=<n><CR>

                    Význam jednotlivých bitů "MODE"
                    -------------------------------

 D7  D6  Zobrazení na displeji       D2   Znaky z klávesnice
 -----------------------------       -----------------------
  0   0   normální znaky              0    znaky ASCII
  0   1   blikající znaky             1    znaky čs abecedy
  1   0   podtržené znaky
  1   1   široké znaky                D1   Ukončení souboru ASCII
                                            znakem 1AH (CTRL Z)
                                     ----------------------------

 D5      Ovládání kurzoru           0     ukončí soubor
 ------------------------           1     neukončí soubor

  0       kurzor nepotlačen
  1       potlačení kurzoru
                                    D0   Výstupní periferie
                                    -----------------------
 D4  D3   Bez významu                0    konzola
----------------------               1    konzola a tiskárna
          rezerva...


                    Formát povelu: 0=<n><CR >
                    Parametr n je hexadecimální hodnota obsahu
"MODE"
                    stanovena podle významu jednotlivých bitů.

                    Příklad:
                    --------

         Označení bitů:     D7 D6 D5 D4 D3 D2 D1 D0

                          I-------------------------I
              MODE=       I  1  1  0  0  0  0  0  1 I
                          I-------------------------I


                    Uvedené nastavení buňky mode způsobí:
                    -široké znaky na displeji
                    -nepotlačený kurzor
                    -znaky ASCII
                    -ukončení souboru znakem 1AH
                    -současný výstup na konzolu i tiskárnu


P * PEDIT           start programu PEDIT
---------
                    .P


Q * QUERY           zobrazeni stavu přiřazení periferií a konce
---------           paměti

                    Význam zobrazeného přiřazeni viz povel A.

                    .Q


R * READ            zavedení souboru INTEL HEX z do operační paměti
--------
                    .R=0<CR>
                    .R=7000<CR>

                    Formát povelu:


                    R=<offset><CR>
                    Soubor se ukládá do paměti od adresy+offset,
                    přenos do vyššího řádu se zanedbává.

                    Chybová hlášení:
                    S-chyba kontrolního součtu
                    M-chyba RAM


S * SUBSTITUTE      změna obsahu paměti
--------------
                    .S=7000<SP>......

                    Formát povelu:
                    a)změny obsahu paměti zadávané hexadecimálně
                      S=<adrA><SP><OBSAH A>-<nový obsah A>
                          <SP><OBSAH A+1>-...< CR >
                      S=<adrA><SP><OBSAH A>-<SP><OBSAH A;1....<CR>

                    b)změny obsahu paměti zadávané jako ASCII kód
                      S=<adr A><SP><OBSAH A>-<'><nový obsah A v
                          ASCI><OBSAH A+1>-.....<CR>
                    c)využití povelu pro postupný výpis obsahu
                      beze změn
                      S=<adr A><SP><OBSAH A>-<SP><OBSAH
                          A+1>-<SP><OBSAH A+2>-.......<CR>
                    d)využití povelu pro postupný výpis adres
                      a jejich obsahu
                      S=<adr A><SP><OBSAH A>-<,>
                      ADR A+1=0BSAH A+l<,>
                             .
                             .
                      ADR A+X=OBSAH A+X<CR>

                    POZN. CR=ukončení povelu
                          SP=pokračovaní povelu
                          po znaku ,(čárka) se zobrazí adresa a
                          další byte po znaku '(apostrof) se
                          vkládají znaky v ASCII


T * TOOL            start programu TOOL
--------
                    .T


U * UKAZ            zobrazení počáteční a koncové adresy

--------            programu zavedeného povelem LOAD v MIKOSU

                    .U


V * VERIFY          ověřeni kontrolního součtu
----------          Formát povelu:V=<adr1>=<adr2><CR>
                    Na displeji se výpise kontrolní součet


                    oblasti paměti v rozsahu adr1 až adr2.

                    .V=0<SP>=13FF<CR>


W * WRITTE          zápis souboru INTEL HEX na kazetu
----------
                    Formát povelu:W=<ladr><SP>=<hadr><CR>
                    Po povelu W musí následovat povel E !
                    ladr-low-dolní adresa
                    hadr-high=horní adresa

                    .W=7000<SP>=73FF<CR>
                    .E=7000<CR>


X * EXAMINE         zobrazení nebo změna obsahu registrů
-----------
                    .X=<CR>

                    Formát povelu:
                    a)zobrazení obsahu všech registrů včetně
                      obsahu,programového čítače a zásobníku po
                      přerušení a nebo BREAK po povelu GOTO.
                      X=<CR>
                    b)zobrazeni obsahu registra definovaných v
                      povelu a změna jejich obsahu.
                      X<Reg 1>=<OBSAH l>-<nový obsah 1><SP><Reg 2>
                              =<OBSAH 2>
                               <novy obsah 2><SP><Reg 3>....<SP>


V *                nastaveni úrovně přerušeni
-----------
                   .Y=1<CR>

                   Formát povelu:Y=<n><CR>
                   n-řídící slovo pro obvod 3214

                   Parametr n        Význam
                       0             přerušení zakázáno
                       1             povoleno RST 0
                       2             povolena RST 0-1
                       3             povoleno RST 0-2
                       4             povoleno RST 0-3
                       5             povoleno RST 0-4
                       6             povoleno RST 0-5
                       7             povoleno RST 0-6
                       8             povaleno RST 0-7

                  POZN. Úroveň RST 1 využívá MONITOR.

                        Tabulka skoku v RAM: 4000H.....RST1
                                             4003H.....RST2
                                             4006H.....RST3
                                             4009H.....RST4
                                             400CH.....RST5
                                             400FH.....RST6
                                             4012H.....RST7

         Uživatel si musí nastavit obslužné rutiny
           pro zpracovaní přerušení na uvedené adresy.


Z * ZDVOJENI        zdvojení meziblokové mezery
------------        (pro MIKOS/S)
                    Z=0 jednoduchá mezera
                    Z#0 zdvojená mezera
                    Povel se používá při práci s magnetofony,
                    kde nestačí standardní mezibloková mezera. 





******************************************************
*       PŘEHLED  SLUŽEB    M  0  N  I  T O R U  V 5.0*
******************************************************



Označení-adresa      Význam-komentář
=====================================================

CULD       100H   start MONITORU a inicializace systému

CI         103H   vstup znaku z konzoly
                  ASCII znak do REG A
                        CALL    CI
                        CPI     'A'...


RI         106H   vstup znaku z kazety
                  Znak je v REG A.Konec souboru CY=1,jinak
                  CY=0
                        CALL    RI
                        JC      KONEC
                        MOV     M,A


CO         109H   výstup znaku na konzolu
                  ASCII znak v REG C
                        MOV     C,M
                        CALL    CO


PO         10CH   výstup znaku na kazetu
                  Znak v REG C
                        MVI     C,1AH
                        CALL    PO


LO         10FH   vystup znaku na tiskárnu
                  ASCII znak v REG C
                        MVI     C,'*'
                        CALL    LO


CSTS       112H   test stisknutí klávesy
                  REG A=0 nestisknutá klávesa
                  REG A=FF stisknutá klávesa
                        CALL    CSTS
                        ORA     A
                        JNZ     CTIZNAK


IDCHK      115H   čti IOBYT do REG A
                        CALL    IOBYT
                        ANI     3FH
                        ORI     80H


IOSET      118H   nastaveni hodnoty IOBYTU
                  Hodnota IOBYTU v REG C
                        MOV     C,A
                        CALL    IOSET


MEMCK      11BH   zjištěni horní hranice paměti
                        CALL    MEMCK
                        SUB     E
                        MOV     E,A
                        MOV     A,B

                  REG A-Lbyte adresy
                  REG B-Hbyte adresy



IODEF      11EH   definování uživatelské periferie,adresy
                  chybového hlášení A hranice paměti
                  REG C-kód požadované služby
                  REG D,E-adresa handleru periferie nebo nové
                  hranice paměti, po ukončení služby je v D,E
                  původní adresa.

                        LXI     D,0EFFFH
                        MVI     C,8     ; NASTAV KONEC RAM
                        CALL    IODEF

     Význam kódu v REG C:         Rozšíření:
     --------------------         ----------
     0-konzola vstup               9-adresa pro chybové hlášení

     1-konzola vystup             10-adresa systémové klávesnice
     2-snimač1                    11-adresa systémového displeje
     3-snímač2                    12-status konzoly
     4-děrovač1                   13-adresa systémové tiskárny
     5-děrovač2                   14-adresa MIKOS
     6-tiskárna                   15-sériový kanál vstup
     7-stav konzoly               16-sériový kanál výstup
     8-nastavení horní hranice    17-pro implementaci jiného
       paměti                        operačního systému
                                  18-obsluha grafických periferií
                                  19-reserva


SPCL       121H   údaje o zobrazení
                         CALL    SPCL
                         MOV     C,A
                         CALL    LO

                  REG A-znak v paměti AND-1
                  REG B-obsah MODE
                  REG D,E-logická adresa kurzoru
                      D-číslo sloupce
                      E-číslo řádku
                  REG H,L-fyzická adresa kurzoru


CRLF       124H   nový řádek
                        CALL    CRLF


EXPR       127H   vstup 16-ti bitového čísla z konzoly do
                  zásobníku
                        MVI     C,2
                        CALL    EXPR
                        POP     H
                        POP     D       ;2* POP !!

                  REG C-počet dat
                  zásobník=c*data


ERROR     12AH    výpis chybového hlášeni
                  výpise se znak ?. řízení se předá monitoru
                  a nebo na zadanou adresu (IODEF),  kde
                  bude v případě chyby pokračovat program.
                        CPI      *
                        JZ       ERROR  ;KONEC


ASHEX     12DH   převod kódu ASCII na HEX
                        CALL     CINCR
                        JZ       KONEC
                        CALL     ASHEX
                        JC       ERROR

                 ASCII znak před provedením služby-REG A
                 HEX hodnota po provedení služby-RES A


DADR      130H   výstup 16-ti bitového čísla na konzolu
                 Zobrazovaná hodnota v REG H,L
                        ROP      H
                        CALL     DADR


DBYTE     133H   výstup 8-mi bitového čísla na konzolu
                 Zobrazovaná hodnota v REG A
                        MOV      A,M
                        CALL     DBYTE


HILO      136H   zvýšení registru HL a test na shodu s DE
                 REG H,L- se vrací HL + 1
                 REG D,E- výraz pro test
                 CY=0,když REG H,L <= REG D,E
                 CY=1,když REG H,L > REG D,E
                        ZNOVA:   MOV      A,M
                                 CALL     DBYTE
                                 CALL     HILD
                                 JNC      ZNOVA


NEXT      139H   ukončení uživatelského programu a návrat
                 do MONITORU
                        JMP      NEXT     ;KONEC


SPACE     13CH   zapiš mezeru na konzolu
                        CALL     SPACE
                        CALL     CI


CINCR     13FH   čti znak z klávesnice, zobraz jej a
                 proveď test
                 Znak "CR"....................CY=1 Z=1
                 Znak "SP" nebo ","...........CY=0 Z=1
                 Jiný znak....................CY=0 Z=0
                       CALL    CINCR
                       JC      NEXT
                       JZ      DALSI
                       CALL    ASHEX


TEXT      142H   vypiš textový řetězec na konsolu
                       LXI     H,ZPRAVA
                       MVI     D,DÉLKA
                       CALL    TEXT

                 Délka textového řetězce (počet, znaků) v REG D
                 Adresa prvního znaku řetězce v REG H,L


XY        145H   Vyhrazeno pro systém


HXASC     148H   převod HEX hodnoty na ASCII
                 HEX hodnota před provedením služby-REG A
                 ASCII znak po provedení služby-REG A
                       ANI     0FH
                       CALL    HXASC
                       MOV     C,A
                       CALL    CO


EXFLG     14BH   zadání parametrů pro MONITOR a MIKOS
                       MVI     C,0
                       MVI     A,4
                       CALL    EXFLG
                       PUSH    B

                 REG C-kód služby
                 REG A-data pro řízení služby,původní obsah
                 se vrací v REG B

       Služba          REG C   REG A     Význam
       ----------------------------------------

    Binární soubor    -1
    Mód displeje       0       0       normální znaky
    (Povel O)          0      40H      blikající znaky
                       0      80H      podtržené znaky
                       0      C0H      široké znaky
    Mód systému        0       2       potlačení automat.
                                       uzavření souboru
                       0       4       čs znaky povol CI
                       0      20H      potlačení kurzoru

     Příznaky pro       1       0      vstup snímač1
     otevření souboru   2       0      vstup snímač2
                        3       0      výstup děrovače1
                        4       0      výstup děrovače2


      Nastaveni kurzoru 5- číslo řádku
      a "okna" 1        6- číslo sloupce
                        7- řádky shora
                        8- sloupce zleva
                        9- řádky zdola
                       10- sloupce zprava
  Parametry 5 až 10 tvoří systémovou tabulku okna, ve které
parametry 5, 6 udávají  polohu  kurzoru a parametry 7 až 10
umístění okna na obrazovce
                       11- úroveň přerušení(viz povel Y)
                       12- kurzor pro čs znaky
                       13- mód klávesnice
                       14- rezerva

     Nastaveni kurzoru 15-číslo řádku
     a "okna"2         16-číslo sloupce
                       17-řádky shora
                       15-sloupce zleva
                       19-řádky zdola
                       20-sloupce zprava
     Parametry 15 až 20 maji obdobný význam jako u "okna"1.


ASSIGN    14EH    změna přiřazení periferii
                  se provádí z klávesnice. Viz povel "A".

                <<<< Nove služby V5.0 >>>>
                --------------------------


TX        151H    zobrazení textu
                        CALL    TX
                        DB      'TES'
                        DB      'T' OR 80H
                        CALL    DELEJ
                  Služba zobrazí text, který je ihned za 
                  instrukcí volaní. Text je ukončen znakem
                  s nastaveným 7. bitem na "1" .
                  Tento znak se také zobrazuje. Po zobrazení
                  program pokračuje první instrukcí za zobrazovaným
                  textem.


WND@      154H    nastaveni "OKNA" na obrazovce
                        LXI     H,TABWND
                        CALL    WND@
                ......
                TABWND: DB 3,4,3,4,12,15 ; RAM

                  Adresa tabulky "okna"je v REG H,L. Po
                  zavolání služby se vrací povodni obsah.

                  Adresa   Obsah
                  --------------
                  ADR      řádek kurzoru
                  ADR+1    sloupec kurzoru
                  ADR+2    řádky shora
                  ADR+3    sloupce zleva
                  ADR+4    řádky zdola
                  ADR+5    sloupce zprava

                  Pro přepnutí z prvního na druhé "okno" slouží
                  znak 1CH, který se vyšle pomocí služby "CO"
                  na adresu 109H. Služba WND@ vymění obsahy
                  tabulek pro "okna" mezi systémem a uživatelskou
                  tabulkou. Dalším vyvoláním se obnoví systémová
                  tabulka.POZOR! Ukazatel kurzoru musí být nastaven
                  tak, aby ukazoval do "okna" !


KOS@      157H    volání operačního systému MIKOS V5.0
                        MVI     C,1
                        LXI     H,JMÉNO
                        CALL    157H

                  
Tato nová služba je určena pro ovládání
                  operačního systému ve verzi 5.0 a výšše
                  REG C-kód služby
                  0-INIT         4-LOAD
                  1-FIND         5-SAVE
                  2-OPEN
                  3-CLOSE


RNAME     15AH    čtení textu z klávesnice nebo paměti
                        LXI     D,0     ; Z KLÁVESNICE
                        CALL    RNAME
                        MOV     C,M     ;HL=> na text

                  REG D,E-adresa začátku textu. Maximální
                  délka textu je 62 znaků. Konec textu:
                  překročení maximální délky nebo znaky '"',
                  "CR","00".
                  Čteni z paměti se provede tehdy, je-Ji na
                  adrese začátku  textu v REG D,E znak '"',
                  jinak se čte z klávesnice.
                  Přerušení čtení: CTRL C.
                  Vymazaní posledního znaku z klávesnice: DEL
                  NEBO <--
                  Po ukončení textu se vrací v REG H,L adresa
                  prvního znaku textu.


INTER     15DH    nastavení úrovně přerušení
                        MVI     A,3
                        MVI     C,11    ;UROVEN PRERUSENI
                        CALL    EXFLG
                .....................
                        ORG     4006H
                INTER:  PUSH    PSW
                        XRA     A
                        OUT     30H     ; OBSLUHA
                        POP     PSW
                        JMP     INTER   ;OBNOV UROVEN PR,

                  Viz povel Y.
                  POZN. Služba je určena pro návrat z
                  podprogramu obsluhy přerušení. Nastaví
                  úroveň přerušení zadanou v povelu "Y", povolí
                  přerušení a provede návrat do přerušeného
                  programu.



KODWM     106H    změna kódu desítkové klávesnice
                  Parametry pro změnu kódu RES H,L
                        LXI     H,WMTAB ; ADR. NOVÝCH ZNAKU
                        CALL    160H    ; VOLANÍ
                        .....
                WMTAB:  DB '\-.         ; ZNAKY
                        DB 81H          ; PŘEPÍNANÍ CS KODU
                        DB '0123456789'
        Poznámka: obsluha klávesnice je připravena pro práci
        s českou abecedou.


KODASC    166H    změna kódu kláves
                  Parametry pro změnu kódu REG H,L
                  Přiklad:
                        LXI     H,ZMENA
                        CALL    166H            ;VOLANÍ
                        ............
                ZMĚNA:  DB      8DH,1DH ; KOD KLÁVESNICE, NOVY KOD
                        DB      0       ; KONCOVÝ ZNAK

          Poznámka: Dvojic znaku pro překódovaní múze být
                    maximálně 10. Znak pro ukončeni je 00H.






------------------------------------------------------


   Pro  uživatele,   který  důsledně  využíval Pro psaní svých
programu  služeb  MONITORu,   nepůsobí  přechod na novou verzi
potíže.   Služby  jsou  kompatibilní  a  rozšířeny.  Pod novým
MONITORem  a  MIKOSem  V5.0 pracují původní systémové programy
BASIC  EX  V4.0, TOOL V4.0. Nový BASIC EXP V5.0 a BASIC V5.0/G
umožňují využívat nových služeb.

  Pro  podrobnější seznámení je vhodné nejprve přečíst původní
dokumentaci k V4.0.

[]


         Obsluha klávesnice v čs módu
         ----------------------------

   Klávesnice  C262.3 umožňuje pracovat se znaky
čs  abecedy. K práci s čs. abecedou se používají
speciální  klávesy a to buďto ROL nebo COPY. Lze
také použít kláves určených pro funkční kódy.

       Klávesa ROL
       -----------

   Pomoci  klávesy ROL lze přepínat čísla a nebo
znaky  čs.   abecedy.   Umístění  znaků odpovídá
psacímu  stroji.   Rozmístění  znaků je patrno z
následujícího obrázku:

           +  ě  š  č  ř  ž  ý  á  í  é
           ----------------------------
           1  2  3  4  5  6  7  8  9  0


     Klávesa COPY
     ------------

  Tlačítko  COPY  umožňuje  práci se speciálními
kódy  podle  KIO-8. Např:  písmeno "ň" se zapíše
pomoci COPY a "n".

    Tlačítka nad desítkovou klávesnicí
    ----------------------------------

  Pro snadné vytvoření znaků jako například jsou
ů-ú,   ř-ř,   ľ-ĺ slouží funkční klávesy. Jejich
význam je patrný z následujícího obrázku:

        -----------------------
        I háček I čárka I ROL I 
        I---------------------I
        I   7   I   8   I  9  I
        I---------------------I
        I   4   I   5   I  6  I

  Poznámka  při  psaní  "u"  se  změní  háček na
kroužek.  Jinak se interpretuje háček nebo čárka
s  příslušným  znakem.   V případě, že kombinace
nemá smysl se vytvoří znak jako u tlačítka COPY.
  Podle  modu  klávesnice  se  mění  i kurzor na
obrazovce.


Výpisy programů:

ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | PP01 | PETR | PLAN-80A | IQ151


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / V5



SAPI.cz - web o československých osmibitech, zejména SAPI-1. Provozuje EC1045 od roku 2011
Za korekce češtiny dekuji: MELSOFTovi, Silliconovi, Martinu Lukáškovi a NOSTALCOMPovi

Když začínám blbnout z 8bitů tak se chodím léčit mezi otaku.
Animefest.cz