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


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000


8 bity / PLAN-80A

Listing programu PLAN 80A MONITOR V.2.Q


Obsah:



'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1


    1                                           TITLE   'PLAN 80A MONITOR V.2.Q'
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25                                   ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
   26                                   ;X                                                     X;
   27                                   ;X                                                     X;
   28                                   ;X       PLAN-80A          V.2.Q       27.09.88        X;
   29                                   ;X                                                     X;
   30                                   ;X  MONITOR PRO ZAKLADNI VERZE S KLAVESNICI TS5220004  X;
   31                                   ;X                                                     X;
   32                                   ;X                                                     X;
   33                                   ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-1


   57
   58
   59
   60
   61
   62
   63
   64                                   ;      PREDPOKLADANE ROZDELENI PAMETI
   65                                   ;      ==============================
   66                                   ;
   67                                   ;
   68                                   ; E000 - EFFF  EPROM S TINY BASICEM
   69                                   ; F000 - F7FF  EPROM S MAGNETOFONEM
   70                                   ; F800 - FFFF  EPROM S MONITOREM
   71                                   ;
   72                                   ; 0000 - 0FFF  STAT. RAM (2114)
   73                                   ; 1000 - DFFF  DYN. RAM  (4116)
   74                                   ;
   75                                   ; (OBLASTI DYNAMICKE PAMETI, KTERE SE PREKRIVAJI S
   76                                   ; EPROM NEBO RAM MAJI OBVODOVE BLOKOVANOU AKTIVACI)
   77                                   ;
   78                                   ;
   79                                   ; P O Z O R:    PREDPOKLADA SE SEMIGRAFIKA !
   80                                   ;
   81                                   ;
   82                                   ;       PREDPOKLADANE VYUZITI PAMETI RAM
   83                                   ;       ================================
   84                                   ;
   85                                   ;
   86                                   ; 0000  C3      SKOK NA STUDENY START MONITORU
   87                                   ; 0001  00
   88                                   ; 0002  F8
   89                                   ; 0003  55      I/O BYTE (NENI VYUZITY)
   90                                   ; 0004  RAMEND-LOW      KONEC PROGRAMOVE RAM
   91                                   ; 0005  REMEND-HIGH
   92                                   ; 0038  C3      SKOK DO OBSLUHY PRERUSENI RST7
   93                                   ; 0039  INTER-LOW
   94                                   ; 003A  INTER-HIGH
   95                                   ;
   96                                   ;
   97                                   ; POZN.: EXISTUJI TRI RUZNE KONCE PAMETI RAM:
   98                                   ;        1. FYZICKY KONEC RAM (CALL GETEND)
   99                                   ;        2. KONEC PROGRAMOVE RAM ([RAMEND])
  100                                   ;        3. KONEC UZIVATELSKE RAM (CALL MEMCK)
  101                                   ;           (U MAGNETOFONU ZMENSENY O BUFFER)
  102                                   ;
  103                                   ; INSTRUKCE SKOKU DO MONITOROVSKE OBSLUHY
  104                                   ; PRERUSENI SE NASTAVUJE VZDY PO VLOZENI
  105                                   ; DRUHEHO OPERANDU PRIKAZU GOTO NA ADRESU
  106                                   ; RST7 = 0038H.
  107                                   ;
  108                                   ;
  109                                   ; 0006          ZACATEK UZIVATELSKE PAMETI
  110                                   ;
  111                                   ; DISRAM ZACATEK PAMETI DISPLEJE, VRCHOL ZASOBNIKU:
  112                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-2


  113                                   ;      RAM = 1 K ... DISRAM = 0200 ... 8 RADKU
  114                                   ;      RAM = 2 K ... DISRAM = 0400 ... 16 RADKU
  115                                   ;      RAM = 3 K ... DISRAM = 0400 ... 16 RADKU
  116                                   ;      RAM > 3 K ... DISRAM = RAMEND - 0800 ... 32 RADKU
  117                                   ;
  118                                   ; DISPLEJ VYUZIVA Z KAZDYCH 64 BYTU PAMATI POUZE
  119                                   ; PRVNICH 48 (JEDEN RADEK), ZBYLYCH 16 BYTU V PRV-
  120                                   ; NICH 9 RADCICH (PO ADRDIS + 023FH) VYUZIVA MONITOR
  121                                   ; NEBO BASIC. OSTATNI 16-TICE V RADCICH 9-32 JSOU
  122                                   ; NEPOUZITE. POKUT JE POUZITA DYNAMICKA PAMET, PAK
  123                                   ; JE DISPLEJ ULOZEN NA POSLEDNI DVE KILA KVADRU S
  124                                   ; NEJVYSSI ADRESOU (REFRES POMOCI ZOBRAZENI).
  125                                   ;
  126                                   ;;
  127                                   ; VYUZITI 16-TIC BYTU V PRVNICH 8 RADCICH DISRAM :
  128                                   ;
  129                                   ;       RADEK: 0
  130                                   ;
  131                                   ; DISRAM + 30H  -
  132                                   ; DISRAM + 31H  UREND   =  NIZSI BYTE ADRESY KONCE UZIV. RAM
  133                                   ; DISRAM + 32H             VYSSI BYTE ADRESY KONCE UZIV. RAM
  134                                   ; DISRAM + 33H  MSTACK  =  NIZSI BYTE ADRESY VRCHOLU ZASOBNIKU
  135                                   ; DISRAM + 34H             VYSSI BYTE ADRESY VRCHOLU ZASOBNIKU
  136                                   ; DISRAM + 35H  LINECO  =  CITAC RADKU
  137                                   ; DISRAM + 36H  CHARCO  =  CITAC ZNAKU NA RADKU
  138                                   ; DISRAM + 37H  LINENO  =  POCET RADKU V OBRAZE
  139                                   ; DISRAM + 38H  CHARNO  =  POCET ZNAKU NA RADKU
  140                                   ; DISRAM + 39H  -
  141                                   ; DISRAM + 3AH  -
  142                                   ; DISRAM + 3BH  -          (REZERVOVANO PRO VYSSI VERZE)
  143                                   ; DISRAM + 3CH  -
  144                                   ; DISRAM + 3DH  -
  145                                   ; DISRAM + 3EH  -
  146                                   ; DISRAM + 3FH  -
  147                                   ;
  148                                   ;
  149                                   ;       RADEK: 1
  150                                   ;
  151                                   ; DISRAM + 70H  BRADR   =  VYSSI BYTE ADRESY PRERUSENI (VIZ 'GOTO')
  152                                   ; DISRAM + 71H             NIZSI BYTE ADRESY PRERUSENI (VIZ 'GOTO')
  153                                   ; DISRAM + 72H  BRCODE  =  KOD INSTRUKCE NA TETO ADRESE (VIZ 'GOTO')
  154                                   ; DISRAM + 73H  SPREG   =  NIZSI BYTE <SP> (VIZ 'GOTO')
  155                                   ; DISRAM + 74H             VYSSI BYTE <SP> (VIZ 'GOTO')
  156                                   ; DISRAM + 75H  HREG    =  OBSAH REG <H> (VIZ 'GOTO')
  157                                   ; DISRAM + 76H  LREG    =  OBSAH REG <L> (VIZ 'GOTO')
  158                                   ; DISRAM + 77H  DREG    =  OBSAH REG <D> (VIZ 'GOTO')
  159                                   ; DISRAM + 78H  EREG    =  OBSAH REG <E> (VIZ 'GOTO')
  160                                   ; DISRAM + 79H  BREG    =  OBSAH REG <B> (VIZ 'GOTO')
  161                                   ; DISRAM + 7AH  CREG    =  OBSAH REG <C> (VIZ 'GOTO')
  162                                   ; DISRAM + 7BH  AREG    =  OBSAH REG <A> (VIZ 'GOTO')
  163                                   ; DISRAM + 7CH  FREG    =  OBSAH REG <F> (VIZ 'GOTO')
  164                                   ; DISRAM + 7DH  INOUT   =  VYHRAZENO PRO PRIKAZY IN/OUT
  165                                   ; DISRAM + 7EH  -"-
  166                                   ; DISRAM + 7FH  -"-
  167                                   ;
  168                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-3


  169                                   ;       RADEK: 2
  170                                   ;
  171                                   ; DISRAM + B0H  CONINP  =  KOD INSTRUKCE JMP NEBO RET (PRO CI)
  172                                   ; DISRAM + B1H             NIZSI BYTE ADRESY SKOKU
  173                                   ; DISRAM + B2H             VYSSI BYTE ADRESY SKOKU
  174                                   ; DISRAM + B3H  CONOUT  =  KOD INSTRUKCE JMP NEBO RET (PRO CO)
  175                                   ; DISRAM + B4H             NIZSI BYTE ADRESY SKOKU
  176                                   ; DISRAM + B5H             VYSSI BYTE ADRESY SKOKU
  177                                   ; DISRAM + B6H  READIN  =  KOD INSTRUKCE JMP NEBO RET (PRO RI)
  178                                   ; DISRAM + B7H             NIZSI BYTE ADRESY SKOKU
  179                                   ; DISRAM + B8H             VYSSI BYTE ADRESY SKOKU
  180                                   ; DISRAM + B9H  USRRI   =  KOD INSTRUKCE JMP NEBO RET (DUMMY)
  181                                   ; DISRAM + BAH             NIZSI BYTE ADRESY SKOKU
  182                                   ; DISRAM + BBH             VYSSI BYTE ADRESY SKOKU
  183                                   ; DISRAM + BCH  PUNOUT  =  KOD INSTRUKCE JMP NEBO RET (PRO PO)
  184                                   ; DISRAM + BDH             NIZSI BYTE ADRESY SKOKU
  185                                   ; DISRAM + BEH             VYSSI BYTE ADRESY SKOKU
  186                                   ; DISRAM + BFH     -
  187                                   ;
  188                                   ;
  189                                   ;       RADEK: 3
  190                                   ;
  191                                   ; DISRAM + F0H  USRPO   =  KOD INSTRUKCE JMP NEBO RET (DUMMY)
  192                                   ; DISRAM + F1H             NIZSI BYTE ADRESY SKOKU
  193                                   ; DISRAM + F2H             VYSSI BYTE ADRESY SKOKU
  194                                   ; DISRAM + F3H  LSTOUT  =  KOD INSTRUKCE JMP NEBO RET (PRO LO)
  195                                   ; DISRAM + F4H             NIZSI BYTE ADRESY SKOKU
  196                                   ; DISRAM + F5H             VYSSI BYTE ADRESY SKOKU
  197                                   ; DISRAM + F6H  CONSTA  =  KOD INSTRUKCE JMP NEBO RET (PRO CSTS)
  198                                   ; DISRAM + F7H             NIZSI BYTE ADRESY SKOKU
  199                                   ; DISRAM + F8H             VYSSI BYTE ADRESY SKOKU
  200                                   ; DISRAM + F9H  -
  201                                   ; DISRAM + FAH  -
  202                                   ; DISRAM + FBH  -
  203                                   ; DISRAM + FCH  -
  204                                   ; DISRAM + FDH  -
  205                                   ; DISRAM + FEH  -
  206                                   ; DISRAM + FFH  -
  207                                   ;
  208                                   ;
  209                                   ;       RADEK: 4
  210                                   ;
  211                                   ; DISRAM + 130H NAME1   =  16-TI BITOVY NAZEV SOUBORU (PRO CTENI)
  212                                   ; DISRAM + 131H
  213                                   ; DISRAM + 132H
  214                                   ; DISRAM + 133H
  215                                   ; DISRAM + 134H
  216                                   ; DISRAM + 135H
  217                                   ; DISRAM + 136H
  218                                   ; DISRAM + 137H
  219                                   ; DISRAM + 138H
  220                                   ; DISRAM + 139H
  221                                   ; DISRAM + 13AH
  222                                   ; DISRAM + 13BH
  223                                   ; DISRAM + 13CH
  224                                   ; DISRAM + 13DH
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-4


  225                                   ; DISRAM + 13EH
  226                                   ; DISRAM + 13FH
  227                                   ;
  228                                   ;
  229                                   ;       RADEK: 5
  230                                   ;
  231                                   ; DISRAM + 170H NAME2   =  16-TI BITOVY NAZEV SOUBORU (PRO ZAPIS)
  232                                   ; DISRAM + 171H
  233                                   ; DISRAM + 172H
  234                                   ; DISRAM + 173H
  235                                   ; DISRAM + 174H
  236                                   ; DISRAM + 175H
  237                                   ; DISRAM + 176H
  238                                   ; DISRAM + 177H
  239                                   ; DISRAM + 178H
  240                                   ; DISRAM + 179H
  241                                   ; DISRAM + 17AH
  242                                   ; DISRAM + 17BH
  243                                   ; DISRAM + 17CH
  244                                   ; DISRAM + 17DH
  245                                   ; DISRAM + 17EH
  246                                   ; DISRAM + 17FH
  247                                   ;
  248                                   ;
  249                                   ;       RADEK: 6
  250                                   ;
  251                                   ; DISRAM + 1B0H PNADR   =  NIZSI BYTE ADRESY BUFFERU DEROVACE
  252                                   ; DISRAM + 1B1H            VYSSI BYTE ADRESY BUFFERU DEROVACE
  253                                   ; DISRAM + 1B2H PNPOI   =  ADRESY UKAZATELE BUFFERU DEROVACE
  254                                   ; DISRAM + 1B3H RDADR   =  NIZSI BYTE ADRESY BUFFERU SNIMACE
  255                                   ; DISRAM + 1B4H            VYSSI BYTE ADRESY BUFFERU SNIMACE
  256                                   ; DISRAM + 1B5H RDPOI   =  ADRESY UKAZETELE BUFFERU SNIMACE
  257                                   ; DISRAM + 1B6H PBLKC   =  CITAC BLOKU DEROVACE
  258                                   ; DISRAM + 1B7H PFILC   =  CITAC SOUBORU DEROVACE
  259                                   ; DISRAM + 1B8H RBLKC   =  CITAC BLOKU SNIMACE
  260                                   ; DISRAM + 1B9H RFILC   =  CITAC SOUBORU SNIMACE
  261                                   ; DISRAM + 1BAH PNSTS   =  STATUS LOGICKEHO ZARIZENI PRO ZAPIS
  262                                   ; DISRAM + 1BBH RDSTS   =  STATUS LOGICKEHO ZARIZENI PRO CTENI
  263                                   ; DISRAM + 1BCH -
  264                                   ; DISRAM + 1BDH -
  265                                   ; DISRAM + 1BEH -
  266                                   ; DISRAM + 1BFH -
  267                                   ;
  268                                   ;
  269                                   ;       RADEK: 7
  270                                   ;
  271                                   ; DISRAM + 1F0H TMPAR   =  POMOCNA OBLAST
  272                                   ; DISRAM + 1F1H
  273                                   ; DISRAM + 1F2H
  274                                   ; DISRAM + 1F3H
  275                                   ; DISRAM + 1F4H
  276                                   ; DISRAM + 1F5H
  277                                   ; DISRAM + 1F6H
  278                                   ; DISRAM + 1F7H
  279                                   ; DISRAM + 1F8H
  280                                   ; DISRAM + 1F9H
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-5


  281                                   ; DISRAM + 1FAH
  282                                   ; DISRAM + 1FBH
  283                                   ; DISRAM + 1FCH
  284                                   ; DISRAM + 1FDH
  285                                   ; DISRAM + 1FEH
  286                                   ; DISRAM + 1FFH
  287                                   ;
  288                                   ;
  289                                   ;       RADEK: 8
  290                                   ;
  291                                   ; DISRAM + 230H KEYCD   =  VZORKY KLAVESNICE
  292                                   ; DISRAM + 231H -"-
  293                                   ; DISRAM + 232H -"-
  294                                   ; DISRAM + 233H -"-
  295                                   ; DISRAM + 234H ZNAK    =  VSTUPNI ZNAK
  296                                   ; DISRAM + 235H UPLO    =  HORNI/DOLNI
  297                                   ; DISRAM + 236H CTRL    =  RIDICI ZNAKY
  298                                   ; DISRAM + 237H NUM     =  CISLICE
  299                                   ; DISRAM + 238H CTN     =  CITAC BLIKANI KURZORU
  300                                   ; DISRAM + 239H -
  301                                   ; DISRAM + 23AH -
  302                                   ; DISRAM + 23BH -
  303                                   ; DISRAM + 23CH -
  304                                   ; DISRAM + 23DH -
  305                                   ; DISRAM + 23EH -
  306                                   ; DISRAM + 23FH -
  307                                   ;
  308                                   ;
  309                                   ;
  310                                   ;       PREDPOKLADANE VYUZITI V/V PORTU
  311                                   ;       ===============================
  312                                   ;
  313                                   ;--------------------------------------------------------------------
  314                                   ;I A7  A5  A3   I   A1  A0   I   A1  A0   I   A1  A0   I   A1  A0   I
  315                                   ;I   A6  A4  A2 I    0  0    I    0  1    I    1  0    I    1  1    I
  316                                   ;I--------------I------------I------------I------------I------------I
  317                                   ;I X X 0 0 0 0  I ST/OP (RW) I ST/OP (RW) I ST/OP (RW) I ST/OP (RW) I
  318                                   ;I--------------I------------I------------I------------I------------I
  319                                   ;I X X 0 0 0 1  I D '12 (RO) I D '12 (RO) I D '12 (RO) I D '12 (RO) I
  320                                   ;I--------------I------------I------------I------------I------------I
  321                                   ;I X X 0 0 1 0  I A '55 (RW) I B '55 (RW) I C '55 (RW) I CT'55 (RW) I
  322                                   ;I--------------I------------I------------I------------I------------I
  323                                   ;I X X 0 0 1 1  I KEY?  (WO) I KEY?  (WO) I KEY?  (WO) I KEY?  (WO) I
  324                                   ;I--------------I------------I------------I------------I------------I
  325                                   ;I X X 0 1 0 0  I BEEP  (WO) I BEEP  (WO) I BEEP  (WO) I BEEP  (WO) I
  326                                   ;I--------------I------------I------------I------------I------------I
  327                                   ;I X X 0 1 0 1  I '14 M (WO) I '14 M (WO) I '14 M (WO) I '14 M (WO) I
  328                                   ;I--------------I------------I------------I------------I------------I
  329                                   ;I X X 0 1 1 0  I ADRES (RW) I ADRES (RW) I ADRES (RW) I ADRES (RW) I
  330                                   ;I--------------I------------I------------I------------I------------I
  331                                   ;I X X 0 1 1 1  I ADRET (WO) I ADRET (WO) I ADRET (WO) I ADRET (WO) I
  332                                   ;--------------------------------------------------------------------
  333                                   ;
  334                                   ;       KDE:    X '55   JE REGISTR X OBVODU 8255
  335                                   ;               D '12   JE VYSTUPNI PORT OBVODU 3212
  336                                   ;               ST/OP   JE OBOUSMERNY PORT STAVOVE INFORMACE/VYSTUPU
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-6


  337                                   ;               '14 M   JE MASKOVACI PORT OBVODU 8214
  338                                   ;               ADRES   JE SIGNAL NULOVANI REGISTRU ADRESY ZOBRAZOVANI
  339                                   ;               ADRET   JE SIGNAL ZAPISU ADRESY DO REGISTRU ZOBRAZOVANI
  340                                   ;               KEY?    JE TEST PRITOMNOSTI SOFTWAROVE KLAVESNICE
  341                                   ;               (WO)    JE POUZE VYSTUPNI PORT (VZHLEDEM K SYSTEMU)
  342                                   ;               (RO)    JE POUZE VSTUPNI PORT (POUZE OPERACE CTENI)
  343                                   ;               (RW)    JE OBOUSMERNY PORT
  344                                   ;
  345                                   ;
  346                                   ;
  347                                   ;       OBLAST DEFINIC
  348                                   ;       ==============
  349                                   ;
  350     0000                          RAMBEG  EQU     0000H   ; PRVNI ADRESA MAMETI RAM
  351     F800                          MONIT   EQU     0F800H  ; PRVNI ADRESA MONITORU
  352     F000                          TAPREC  EQU     0F000H  ; PRVNI ADRESA PROGRAMU MAGNETOFON
  353     E000                          BASIC   EQU     0E000H  ; STUDENY START TINY BASICU
  354     E003                          CONIT   EQU     0E003H  ; TEPLY START TINY BASICU
  355                                   ;
  356     F001                          TINIT   EQU     TAPREC + 1      ; ADRESA INICIACE PROGRAMU MAGNETOFON
  357     F004                          TJOIN   EQU     TAPREC + 4      ; ADRESA INICIACE MAGNETOFONU
  358     F007                          TQUAF   EQU     TAPREC + 7      ; ADRESA PRIKAZU CTENI BIN. SOUBORU
  359     F00A                          TPUT    EQU     TAPREC + 0AH    ; ADRESA PRIKAZU ZAPISU BIN. SOUBORU
  360     F00D                          TAPP    EQU     TAPREC + 0DH    ; ADRESA PRIKAZU BEZPR. ZAPISU BIN. SOUBORU
  361     F010                          TLOAD   EQU     TAPREC + 10H    ; ADRESA PRIKAZU OVLADANI MOTORKU
  362     F013                          TDIR    EQU     TAPREC + 13H    ; ADRESA PRIKAZU DIRECTORY PASKY
  363     F016                          TUNNA   EQU     TAPREC + 16H    ; ADRESA PRIKAZU POJMENOVANI NOVE PASKY
  364     F019                          TKI     EQU     TAPREC + 19H    ; ADRESA PRIKAZU CTENI BYTU
  365     F01C                          TKO     EQU     TAPREC + 1CH    ; ADRESA PRIKAZU ZAPISU BYTU
  366     F01F                          TWR     EQU     TAPREC + 1FH    ; ADRESA PRIKAZU VYDEROVANI HEX. SOBORU
  367     F022                          TRD     EQU     TAPREC + 22H    ; ADRESA PRIKAZU PRECTENI HEX. SOUBORU
  368     F025                          TEOF    EQU     TAPREC + 25H    ; ADRESA PRIKAZU UZAVRENI HEX. SOUBORU
  369     F028                          TCLOS   EQU     TAPREC + 28H    ; ADRESA PODPROGRAMU UZAVRENI SOUBORU
  370                                   ;
  371                                   ;
  372     000E                          SO      EQU     0EH     ; ZNAK 'SO' = POMOCNY ZNAK
  373     0020                          SPC     EQU     20H     ; ZNAK 'SP' = MEZERA
  374     00A0                          ETX     EQU     0A0H    ; ZNAK 'ETX' = KONEC TEXTU
  375     0003                          EOT     EQU     03H     ; ZNAK 'EOT' = KONEC VYSILANI
  376     001A                          SUBS    EQU     1AH     ; ZNAK 'SUB' = CTRL Z
  377     001B                          ESC     EQU     1BH     ; ZNAK 'ESC' = CTRL [
  378     000B                          VT      EQU     0BH     ; ZNAK 'VT' = POSUN NAHORU
  379     0009                          HT      EQU     09H     ; ZNAK 'HT' = TABELACE
  380     000C                          FF      EQU     0CH     ; ZNAK 'FF' = VYMAZ OBRAZOVKY
  381     000D                          CR      EQU     0DH     ; ZNAK 'CR' = POSUN NA ZACATEK RADKU
  382     0008                          BS      EQU     08H     ; ZNAK 'BS' = ZNAK ZPET
  383     000A                          LF      EQU     0AH     ; ZNAK 'LF' = NOVY RADEK
  384     007F                          DEL     EQU     07FH    ; ZNAK 'DEL' = VYMAZ ZNAKU
  385     001D                          HOME    EQU     1DH     ; ZNAK 'HOME' = CTRL ]
  386     001E                          DL      EQU     1EH     ; ZNAK 'DELETE LINE' = CTRL ^
  387     001F                          DSCR    EQU     1FH     ; ZNAK 'DELETE SCREEN' = CTRL _
  388     0007                          BELL    EQU     07H     ; ZNAK 'BELL' = ZVONEK
  389     0000                          BLANK   EQU     0       ; ZNAK 'BLANK' = CTRL @
  390                                   ;
  391     0000                          JMPMON  EQU     0000H   ; SKOK DO STUDENEHO STARTU MONITORU
  392     0003                          IOBYT   EQU     0003H   ; ADRESA I/O-BYTU
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-7


  393     0004                          RAMEND  EQU     0004H   ; ADRESA KONCE RAM
  394     0038                          INTADR  EQU     0038H   ; SKOK DO OBSLUHY RST7
  395     0031                          UREND   EQU     31H     ; ADRESA KONCE UZIVATELSKE PAMETI
  396     0033                          MSTACK  EQU     33H     ; ADRESA VRCHOLU ZASOBNIKU
  397     0035                          LINECO  EQU     35H     ; ADRESA CITACE RADKU
  398     0036                          CHARCO  EQU     36H     ; ADRESA CITACE ZNAKU
  399     0037                          LINENO  EQU     37H     ; ADRESA POCTU RADKU V OBRAZE
  400     0038                          CHARNO  EQU     38H     ; ADRESA POCTU ZNAKU V OBRAZE
  401     003C                          ADRLO   EQU     3CH     ; POMOCNA ADRESA
  402     003D                          ADRHI   EQU     3DH     ; POMOCNA ADRESA
  403     0070                          BRADR   EQU     70H     ; ADRESA V PC PRI PRERUSENI
  404     0072                          BRCODE  EQU     72H     ; KOD INSTRUKCE PRI PRERUSENI
  405     0073                          SPREG   EQU     73H     ; NOVY OBSAH (SP) PO GOTO
  406     0075                          HREG    EQU     75H     ; NOVY OBSAH (H) PO GOTO
  407     0076                          LREG    EQU     76H     ; NOVY OBSAH (L) PO GOTO
  408     0077                          DREG    EQU     77H     ; NOVY OBSAH (D) PO GOTO
  409     0078                          EREG    EQU     78H     ; NOVY OBSAH (E) PO GOTO
  410     0079                          BREG    EQU     79H     ; NOVY OBSAH (B) PO GOTO
  411     007A                          CREG    EQU     7AH     ; NOVY OBSAH (C) PO GOTO
  412     007B                          AREG    EQU     7BH     ; NOVY OBSAH (A) PO GOTO
  413     007C                          FREG    EQU     7CH     ; NOVY OBSAH (F) PO GOTO
  414     007D                          INOUT   EQU     7DH     ; POMOCNA PROMENA PRIKAZU INPUT A OUTPUT
  415     00B0                          CONINP  EQU     0B0H    ; SKOK NA HANDLER KONZOLY - KLAVESNICE
  416     00B3                          CONOUT  EQU     0B3H    ; SKOK NA HANDLER KONZOLY - OBRAZOVKY
  417     00B6                          READIN  EQU     0B6H    ; SKOK NA HANDLER SNIMACE
  418     00BC                          PUNOUT  EQU     0BCH    ; SKOK NA HANDLER DEROVACE
  419     00F0                          USRPO   EQU     0F0H    ; ADRESA NEPOUZIVANEHO SKOKU
  420     00F3                          LSTOUT  EQU     0F3H    ; SKOK NA HANDLER TISKARNY
  421     00F6                          CONSTA  EQU     0F6H    ; SKOK NA HANDLER STATUSU KONZOLY
  422     0130                          NAME1   EQU     130H    ; JMENO PROGRAMU PRECTENE Z KAZETY
  423     0170                          NAME2   EQU     170H    ; JMENO HLEDANEHO PROGRAMU NA KAZETE
  424     01B0                          PNADR   EQU     1B0H    ; ADRESA BUFFERU DEROVACE
  425     01B3                          RDADR   EQU     1B3H    ; ADRESA BUFFERU SNIMACE
  426     01B2                          PNPOI   EQU     1B2H    ; ADRESA UKAZATELE DEROVACE
  427     01B5                          RDPOI   EQU     1B5H    ; ADRESA UKAZATELE SNIMACE
  428     01B6                          PBLKC   EQU     1B6H    ; ADRESA CITACE BLOKU DEROVACE
  429     01B8                          RBLKC   EQU     1B8H    ; ADRESA CITACE BLOKU SNIMACE
  430     01B7                          PFILC   EQU     1B7H    ; ADRESA CITACE SOUBORU DEROVACE
  431     01B9                          RFILC   EQU     1B9H    ; SDRESA CITACE SOUBORU SNIMACE
  432     01BB                          RDSTS   EQU     1BBH    ; ADRESA STAVU LOGICKEHO ZARIZENI PRO CTENI
  433     01BA                          PNSTS   EQU     1BAH    ; ADRESA STAVU LOGICKEHO ZARIZENI PRO ZAPIS
  434     01F0                          TMPAR   EQU     1F0H    ; POMOCNA OBLAST PRO CTENI SOUBORU Z KAZETY
  435     0230                          KEYCD   EQU     230H    ; POLE VZORKU ZNAKU Z KLAVESNICE
  436     0235                          ZNAK    EQU     235H    ; VSTUPNI ZNAK Z KLAVESNICE
  437     0236                          UPLO    EQU     236H    ; PRIZNAK VSTUPU HORNICH ZNAKU
  438     0237                          CTRL    EQU     237H    ; PRIZNAK VSTUPU RIDICICH ZNAKU
  439     0238                          NUM     EQU     238H    ; PRIZNAK VSTUPU CISLIC
  440     0239                          CTN     EQU     239H    ; CITAC BLIKANI KURZORU
  441                                   ;
  442     0040                          STCKLN  EQU     64      ; DELKA ZASOBNIKU
  443                                   ;
  444     00C3                          KEYBAS  EQU     0C3H    ; KLIC PRO ROZPOZNAVANI BASICU
  445     E000                          ADRBAS  EQU     BASIC   ; ADRESA   - " -
  446     0055                          KEYTPR  EQU     055H    ; KLIC PRO ROZPOZNAVANI MAGNETOFONU
  447     F000                          ADRTPR  EQU     TAPREC  ; ADRESA   - " -
  448                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-8


  449     0004                          ADRCIN  EQU     04H     ; DATOVY PORT 8212
  450     0000                          ADRCST  EQU     00H     ; STAVOVY PORT 8216
  451     0008                          RDYCIN  EQU     08H     ; MASKA STAVOVEHO BITU KLAVESNICE
  452     0004                          REPCIN  EQU     04H     ; MASKA STAVOVEHO BITU OPAKOVANI ZNAKU X KLAV.
  453     0002                          RDYRE1  EQU     02H     ; MASKA STAVOVEHO BITU ZARIZENI 1
  454     0001                          RDYRE2  EQU     01H     ; MASKA STAVOVEHO BITU ZARIZENI 2
  455     0008                          ADRPA   EQU     08H     ; ADRESA PORTU PA
  456     0009                          ADRPB   EQU     09H     ; ADRESA PORTU PB
  457     000A                          ADRPC   EQU     0AH     ; ADRESA PORTU PC
  458     000B                          ADRCT   EQU     0BH     ; ADRESA RIDICIHO PORTU
  459     0090                          CTRLWD  EQU     90H     ; RIDICI SLOVA PA=IN, PB=OUT, PC=OUT, M0 VSE
  460     0001                          PC0SET  EQU     01H     ; NASTAVENI PC0
  461     0000                          PC0RES  EQU     00H     ; NULOVANI PC0
  462     0003                          PC1SET  EQU     03H     ; NASTAVENI PC1
  463     0002                          PC1RES  EQU     02H     ; NULOVANI PC1
  464     0008                          PC4SET  EQU     08H     ; NASTAVENI PC4
  465     0009                          PC4RES  EQU     09H     ; NULOVANI PC4
  466     0010                          ADRBIP  EQU     10H     ; ADRESA ZVUKOVEHO PORTU
  467     0000                          ADROUT  EQU     00H     ; ADRESA VYSTUPNIHO PORTU 8216
  468     0008                          MSKWD   EQU     08H     ; MASKA OBVODU 8214, POVOLUJE VSECHNY PRERUSENI
  469     0014                          ADRMSK  EQU     14H     ; ADRESA MASKOVEHO PORTU OBVODU 8214
  470     0018                          ADRES   EQU     18H     ; ADRESA PRO NULOVANI REGISTRU ADRESY ZOBRAZOVANI
  471     001F                          ADSET   EQU     1FH     ; ADRESA PRO NASTAVENI REGISTRU ADRESY ZOBRAZOVANI
  472     0050                          BEEPLN  EQU     80      ; DELKA PIPNUTI
  473     0060                          BEEPFQ  EQU     60H     ; VYSKA PIPNUTI
  474                                   ;
  475                                   ;---------------------------------------------------------------------
  476                                   ;
  477                                           .PHASE  MONIT
  478                                   ;
  479                                   ;
  480                                   ;
  481                                   ; TABULKA SKOKU DO ZAKLADNICH PODPROGRAMU:
  482                                   ;
  483     F800    C3 F85A                       JMP     COLDST  ; STUDENY START MONITORU
  484     F803    C3 FE7A                       JMP     CI      ; VSTUP Z KONZOLY <A>
  485     F806    C3 FE37                       JMP     RI      ; VSTUP ZE SERIOVEHO PORTU <A>
  486     F809    C3 FA21                       JMP     CO      ; VYSTUP NA KONZILU <C>
  487     F80C    C3 FE30                       JMP     PO      ; VYSTUP NA SERIOVY PORT <C>
  488     F80F    C3 FE29                       JMP     LO      ; VYSTUP NA TISKARNU
  489     F812    C3 FE69                       JMP     CSTS    ; STAVOVY PORT KONZOLY <A>
  490     F815    C3 FE1E                       JMP     IOCHK   ; ZJISTENI I/O-BYTU <A>
  491     F818    C3 FE22                       JMP     IOSET   ; NASTAVENI I/O-BYTU <C>
  492     F81B    C3 FE13                       JMP     MEMCK   ; ZJISTENI KONCE UZIV. PAMETI RAM <AB>
  493     F81E    C3 FE3E                       JMP     IODEF   ; VASTAVENI UZIVATELSKYCH V/V <C>
  494     F821    C3 FB12                       JMP     INTER   ; SKOK DO OSERENI PRERUSENI
  495     F824    C3 FB0C                       JMP     CRLF    ; NOVY RADEK
  496     F827    C3 FA8A                       JMP     EXPR    ; VSTUP PARAMETRU, POCET C <C>
  497     F82A    C3 F931                       JMP     ERROR   ; VYPIS '#' NA OBRAZOVKU
  498     F82D    C3 FAC1                       JMP     ASHEX   ; PREVOD ASCII NA HEX, <A>
  499     F830    C3 FA0C                       JMP     DADR    ; ZOBRAZENI OBSAHU <HL>
  500     F833    C3 FA11                       JMP     DBYTE   ; ZOBRAZENI OBSAHU <A>
  501     F836    C3 FDE4                       JMP     HILO    ; DEKREMENTACE <HL> A SROVNANI S <DE>
  502     F839    C3 F8E4                       JMP     NEXT    ; TEPLY START MONITORU
  503     F83C    C3 FA79                       JMP     SPACE   ; MEZERA NA CO
  504     F83F    C3 F9F2                       JMP     CINCR   ; VSTUP NA ROZPOZNANI PRIKAZU
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-9


  505     F842    C3 FD16                       JMP     IMTEXT  ; ZOBRAZENI TEXTU <HL>, D8
  506     F845    C3 F9D2                       JMP     ADRKUP  ; ADRESA KURZORU DO <HL>
  507     F848    C3 FAD3                       JMP     HXASC   ; PREVOD HEX NA ASCII
  508     F84B    C3 FE02                       JMP     TIMER   ; CEKANI <BC> MILISEKUND
  509     F84E    C3 FA01                       JMP     GETADR  ; ADRESA SKRYTE PROMENNE DO <HL>
  510     F851    C3 F9CD                       JMP     STJMB   ; ULOZ <DE> NA [<HL>,<HL+1>]
  511     F854    C3 FA6B                       JMP     ECHO    ; VSTUP A ZOBRAZENI ZNAKU
  512     F857    C3 FDA7                       JMP     BACST   ; KROK ZPET NA OBRAZOVCE
  513                                   ;
  514                                   ;
  515                                   ;       M O N I T
  516                                   ;       =========
  517                                   ;
  518                                   ; UVODNI CAST MONITORU, KTERA UMOZNUJE
  519                                   ; RESTART (STUDENY I TEPLY) SYSTEMU. PROVADI
  520                                   ; NASTAVOVANI PRACOVNICH PROMENNYCH, ZJISTUJE
  521                                   ; ROZSAH PAMETI RAM A NASTAVI SPOJOVACI ADRESY.
  522                                   ; OBSAHUJE TAKE VYHODNOCENI PRIKAZU OPERATORA.
  523                                   ;
  524     F85A    21 0006               COLDST: LXI     H,6     ; NASTAVENI PROZATIMNIHO VRCHOLU ZASOBNIKU
  525     F85D    F9                            SPHL            ; NA ADRESU 0006H ZAMEZI POSKOZENI UZIV. PAM.
  526     F85E    CD F96F                       CALL    GETDIS  ; ADRESA DISRAM <HL>, POCET RADKU <C>
  527     F861    F9                            SPHL            ; NASTAVENI SKUTECNEHO VRCHOLU ZASOBNIKU
  528     F862    22 0004                       SHLD    RAMEND  ; NASTAVY KONEC PROGRAMOVE RAM
  529     F865    EB                            XCHG
  530     F866    21 FFC0                       LXI     H,-STCKLN ; DELKA ZASOBNIKU
  531     F869    19                            DAD     D       ; KONEC UZIVATELSKE PAMETI
  532     F86A    EB                            XCHG
  533     F86B    E5                            PUSH    H
  534     F86C    21 0031                       LXI     H,UREND
  535     F86F    CD FA01                       CALL    GETADR  ; ADRESA PROMENNE U(SER)R(AM)END
  536     F872    CD F9CD                       CALL    STJMB   ; ULOZENI KONCE UZIV. RAM
  537     F875    E3                            XTHL            ; NA VRCHOL ZASOBNIKU ADRESA MSTACK
  538     F876    7C                            MOV     A,H
  539     F877    EB                            XCHG            ; POSLEDNI ADRESA V <DE>
  540     F878    3C                            INR     A
  541     F879    E6 F8                         ANI     11111000B       ; VYBER BITU A15-A11 (PO DVOU KILECH)
  542     F87B    0F                            RRC
  543     F87C    0F                            RRC
  544     F87D    0F                            RRC             ; POSUNUTI O 3 BITY DOPRAVA
  545     F87E    D3 18                         OUT     ADRES   ; VYNULOVANI REGISTRU ADRESY ZOBRAZOVANE RAM
  546     F880    D3 1F                         OUT     ADSET   ; NASTAVENI PLATNE ADRESY ZOBRAZOVANE RAM
  547     F882    E1                            POP     H       ; ADRESA MSTACK DO <HL>
  548     F883    CD F9CD                       CALL    STJMB   ; VRCHOL ZASOBNIKU DO MSTACK
  549     F886    36 00                         MVI     M,0     ; KURZOR NA PRVNI RADEK (LINECO = 0)
  550     F888    23                            INX     H
  551     F889    36 00                         MVI     M,0     ; KURZOR NA POCATEK PRVEHO RADKU (CHARCO = 0)
  552     F88B    23                            INX     H
  553     F88C    71                            MOV     M,C     ; POCET RADKU (Z PODPROGRAMU GETDIS)
  554     F88D    23                            INX     H
  555     F88E    36 2F                         MVI     M,2FH   ; POCET ZNAKU NA RADKU JE 48
  556                                   ;
  557     F890    D5                            PUSH    D
  558     F891    21 00B0                       LXI     H,CONINP
  559     F894    11 FE81                       LXI     D,CI4
  560     F897    CD F9C7                       CALL    STJMP   ; NASTAVENI SKOKU PRO VSTUP Z KLAVESNICE
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-10


  561     F89A    11 FA28                       LXI     D,CO2
  562     F89D    CD F9CA                       CALL    STJMA   ; NASTAVENI SKOKU VYSTUP NA OBRAZOVKU
  563     F8A0    21 00F6                       LXI     H,CONSTA
  564     F8A3    11 FE70                       LXI     D,CSTS1
  565     F8A6    CD F9C7                       CALL    STJMP   ; NASTAVENI SKOKU PRO STATUS KONZOLY
  566     F8A9    D1                            POP     D
  567                                   ;
  568     F8AA    CD F9C1                       CALL    GETSPR  ; ADRESA PROMENNE SPREG
  569     F8AD    1B                            DCX     D
  570     F8AE    1B                            DCX     D
  571     F8AF    73                            MOV     M,E
  572     F8B0    23                            INX     H
  573     F8B1    72                            MOV     M,D     ; NASTAVENI POCATECNICH HODNOTY UKAZ. ZASOB.
  574                                   ;
  575     F8B2    CD FD16               COLD2:  CALL    IMTEXT
  576     F8B5    0C 50 4C 41                   DB      FF,'PLAN80A MON V2Q',BELL OR 80H
  577     F8B9    4E 38 30 41
  578     F8BD    20 4D 4F 4E
  579     F8C1    20 56 32 51
  580     F8C5    87
  581                                   ;
  582     F8C6    11 FA21                       LXI     D,CO    ; ADRESA OBSLUHY CO
  583     F8C9    0E 06                         MVI     C,6     ; V/V ZARIZENI LO
  584     F8CB    CD FE3E                       CALL    IODEF   ; NASTAVENI SKOKU LO --> CO
  585                                   ;
  586     F8CE    3E 08                         MVI     A,MSKWD
  587     F8D0    D3 14                         OUT     ADRMSK  ; NASTAVENI MASKY OBVODU 8214
  588                                   ;
  589     F8D2    CD FBCF               COLD0:  CALL    CHKTPR  ; JE PRITOMEN MAGNETOFON ?
  590     F8D5    CC F001                       CZ      TINIT   ; INICIACE OBVODU MAGNETOFONU A PRIRAZENI PO,RI
  591                                   ;
  592     F8D8    3E 90                         MVI     A,CTRLWD
  593     F8DA    D3 0B                         OUT     ADRCT
  594                                   ;
  595     F8DC    3A E000                       LDA     ADRBAS  ; JE PRITOMEN BASIC
  596     F8DF    FE C3                         CPI     KEYBAS
  597     F8E1    CA E000                       JZ      BASIC   ; ANO - SKOK DO BASICU
  598                                   ;
  599     F8E4    CD F9BB               NEXT:   CALL    GETSTK  ; ADRESA PROMENNE MSTACK
  600     F8E7    CD F93C                       CALL    NEXT6   ; UKAZATEL ZASOBNIKU DO <HL>
  601     F8EA    F9                            SPHL            ; NASTAVENI UKAZATELE ZASOBNIKU
  602                                   ;
  603     F8EB    21 0000                       LXI     H,JMPMON
  604     F8EE    11 F85A                       LXI     D,COLDST
  605     F8F1    CD F9CA                       CALL    STJMA   ; NASTAVENI SKOKU DO STUDENEHO STARTU MONITORU
  606                                   ;
  607     F8F4    CD FB0C                       CALL    CRLF    ; PRECHOD NA NOVY RADEK
  608     F8F7    0E 2E                         MVI     C,'.'
  609     F8F9    CD FA21                       CALL    CO      ; VYCKAVACI TECKA NA DISPLAY
  610     F8FC    CD FA6B                       CALL    ECHO    ; VSTUP A ZOBRAZENI ZNAKU
  611     F8FF    11 F8E4                       LXI     D,NEXT  ; NAVRATOVA ADRESA PRO RETURN
  612     F902    D5                            PUSH    D       ; SIMULACE CALL PRO PRIZNAK
  613     F903    01 1702                       LXI     B,(CTEND SHL 8) OR 2  ; <B>...DELKA TABULKY <C>...2...(EXPR)
  614     F906    21 F941                       LXI     H,CTABL ; ZACATEK TABULKY
  615     F909    D6 41                         SUI     'A'     ; PREVOD NA 0-26
  616     F90B    FA F931                       JM      ERROR   ; ZNAK ASCII < KOD 'A' ?
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-11


  617     F90E    B8                            CMP     B       ; SROVNANI KODU S DELKOU TABULKY
  618     F90F    D2 F931                       JNC     ERROR   ; ZNAK ASCII > KOD 'X' ?
  619     F912    CD F937                       CALL    GETTAB
  620     F915    7C                            MOV     A,H     ; VYSSI BYTE ADRESY PRIKAZU
  621     F916    E6 FC                         ANI     0FCH    ; VYBER BITU A15 AZ A10
  622     F918    FE F8                         CPI     MONIT SHR 8 ; SROVNANI S ADRESOU MONITORU
  623     F91A    D2 F928                       JNC     NEXT4   ; PROVED MONITOROVSKY PRIKAZ
  624     F91D    FE F0                         CPI     TAPREC SHR 8 ; SROVNANI S ADRESAMI MAGNETOFONU
  625     F91F    DA F929                       JC      NEXT2   ; PROVED PRIKAZ V BASICU
  626     F922    CD FBCF                       CALL    CHKTPR  ; PROGRAM MAGNETOFONU PRITOMEN?
  627     F925    C2 F931                       JNZ     ERROR   ; NENI --> CHYBA
  628     F928    E9                    NEXT4:  PCHL            ; PROVED PRIKAZ
  629     F929    3A E000               NEXT2:  LDA     ADRBAS
  630     F92C    FE C3                         CPI     KEYBAS  ; JE PRITOMEN TINY BASIC?
  631     F92E    CA F928                       JZ      NEXT4   ; ANO - PROVED PRIKAZ BASICU
  632                                   ;
  633                                   ;
  634                                   ;
  635                                   ;       E R R O R
  636                                   ;       =========
  637                                   ;
  638                                   ; PODPROGRAM ERROR PROVADI VYPIS HLASENI O VYSKYTU CHYBY
  639                                   ; VE FORME DVOJITEHO KRIZKU (#).
  640                                   ;
  641                                   ; POSKOZENE REGISTRY: - - -
  642                                   ;
  643     F931    C5                    ERROR:  PUSH    B
  644     F932    0E 23                         MVI     C,'#'   ; KOD ZNAKU #
  645     F934    C3 FA85                       JMP     WQUA0   ; VYPIS ZNAKU #
  646                                   ;
  647                                   ;
  648                                   ;
  649                                   ;       G E T T A B
  650                                   ;       ===========
  651                                   ;
  652                                   ; PODPROGRAM PRO VYVOLANI ADRESY PRIKAZU Z TABULKY DO <HL>, OFFSET JE
  653                                   ; V <A>, ADRESA POCATKU TABULKY JE V <HL>
  654                                   ;
  655                                   ; POSKOZENE REGISTRY: A,F,H,L,D,E
  656                                   ;
  657     F937    87                    GETTAB: ADD     A       ; ZDVOJNASOBENI ODSTUPU (ADRESA...2 BYTY)
  658     F938    16 00                         MVI     D,0     ; VYNULOVANI VYSSIHO BYTU OFFSETU
  659     F93A    5F                            MOV     E,A     ; ULOZENI NIZSIHO BYTU OFFSETU
  660     F93B    19                            DAD     D       ; VYPOCET VYSLEDNE ADRESY DO <HL>
  661     F93C    7E                    NEXT6:  MOV     A,M     ; DOLNI BYTE ADRESY PRIKAZU
  662     F93D    23                            INX     H       ; INKREMENTACE UKAZATELE
  663     F93E    66                            MOV     H,M     ; HORNI BYTE ADRESY
  664     F93F    6F                            MOV     L,A     ; ADRESA PRIKAZU V <HL>
  665     F940    C9                            RET
  666                                   ;
  667                                   ;
  668                                   ;
  669                                   ;       TABULKA ADRES OBSLUH PRIKAZU
  670                                   ;       ============================
  671                                   ;
  672     F941    F00D                  CTABL:  DW      TAPP    ; A...(APPEND) PRIPOJENI BINARNIHO SOUBORU
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-12


  673     F943    E000                          DW      BASIC   ; B...(BASIC) STUDENY START BASICU
  674     F945    E003                          DW      CONIT   ; C...(CONTINUE) TEPLY START BASICU
  675     F947    FC61                          DW      DISPL   ; D...(DISPLAY) ZOBRAZENI OBSAH PAMETI
  676     F949    F025                          DW      TEOF    ; E...(END OF FILE) ZAPIS UZAV. HEX. SOUBORU
  677     F94B    FCBD                          DW      FILL    ; F...(FILL) VYPLNENI PAMETI ZNAKEM
  678     F94D    FC1A                          DW      GOTO    ; G...(GOTO) SKOK DO PROGRAMU
  679     F94F    F931                          DW      ERROR   ; H...
  680     F951    FCF7                          DW      INPUT   ; I...(INPUT) VSTUP Z PORTU
  681     F953    F004                          DW      TJOIN   ; J...(JOIN) NASTAVENI ADRES MAGNETOFONU
  682     F955    F028                          DW      TCLOS   ; K...(CLOSE) UZAVRENI ZAPSANEHO SOUBORU
  683     F957    F010                          DW      TLOAD   ; L...(LOAD) OVLADANI MOTORKU MAGNETOFONU
  684     F959    FCD0                          DW      MOVE    ; M...(MOVE) PRESUN OBLASTI PAMETI
  685     F95B    F931                          DW      ERROR   ; N...
  686     F95D    FCDD                          DW      OUTPT   ; O...(OUTPUT) VYSTUP NA PORT
  687     F95F    F00A                          DW      TPUT    ; P...(PUT) ZAPIS BINARNIHO SOUBORU NA PASKU
  688     F961    F007                          DW      TQUAF   ; Q...(QUAFF) CTENI BINARNIHO SOUBORU Z PASKY
  689     F963    F022                          DW      TRD     ; R...(READ) CTENI HEX. SOUBORU Z PASKY
  690     F965    FBD5                          DW      SUBST   ; S...(SUBSTITUTE) ZMENA OBSAHU PAMETI
  691     F967    F013                          DW      TDIR    ; T...(TAPE) VYPIS NAZVU VSECH SOBORU
  692     F969    F016                          DW      TUNNA   ; U...(UNNAMED) POJMENOVANI NOVE KAZETY
  693     F96B    F931                          DW      ERROR   ; V...
  694     F96D    F01F                          DW      TWR     ; W...(WRITE) ZAPIS HEX. SOUBORU NA PASKU
  695     0017                          CTEND   EQU     ($-CTABL)/2     ; POCET POLOZEK TABULKY
  696                                   ;
  697                                   ;       NAVRAT Z PRIKAZU VZDY:        RET
  698                                   ;
  699                                   ;
  700                                   ;       G E T D I S
  701                                   ;       ===========
  702                                   ;
  703                                   ;
  704                                   ; PODPROGRAM GETDIS PROVADI ZJISTENI KONCE PAMETI RAM> PRI
  705                                   ; SVE CINNOSTI PREDPOKLADA SPOJITOU OBLAST PAMETI (BEZ ME-
  706                                   ; OSAZENEHO ADRESOVEHO PROSTORU), KTERY PROHLEDAVA PO KILECH OD
  707                                   ; KONCE. DALE PROVADI VYPOCET ADRESY ZACATKU OBRAZOVE
  708                                   ; PAMETI A JI PRISLUSEJICI POCET RADKU. VYCHAZI Z ADRESY KONCE
  709                                   ; PAMETI RAM. POSKYTUJE POSLEDNI BUNKU PAMETI RAM.
  710                                   ; ADRESU OBRAZOVE PAMETI ULOZI DO <HL>, POCET RADKU DO <C>.
  711                                   ;
  712                                   ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L
  713                                   ;
  714     F96F    21 03FF               GETDIS: LXI     H,03FFH ; ADRESA KONCE PAM.PROSTORU + 3FF
  715     F972    11 FC00                       LXI     D,0FC00H        ; DVOKOVY DOPLNEK 1 KILA
  716     F975    19                    GETD0:  DAD     D       ; VYPOCET DALSI ADRESY
  717     F976    7E                            MOV     A,M
  718     F977    2F                            CMA             ; INVERZE PUVODNIHO OBSAHU
  719     F978    77                            MOV     M,A     ; TESTOVACI ZAPIS
  720     F979    BE                            CMP     M       ; OBSAH PLATNY ?
  721     F97A    C2 F975                       JNZ     GETD0   ; NE - DALSI KILO
  722     F97D    7C                            MOV     A,H     ; HORNI BYTE ADRESY
  723     F97E    EB                            XCHG            ; ULOZENI ADRESY KONCE RAM
  724     F97F    E6 FC                         ANI     0FCH    ; VYBER 'KILOVICH' BITU
  725     F981    21 01FF                       LXI     H,1FFH  ; ADRESA DISRAM PRO 1 KILO RAM
  726     F984    0E 07                         MVI     C,7     ; 8 RADKU
  727     F986    C8                            RZ              ; RAM = 1K
  728     F987    FE 04                         CPI     4
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-13


  729     F989    29                            DAD     H       ; ADRESA DIRAM PRO 2 KILA
  730     F98A    23                            INX     H
  731     F98B    0E 0F                         MVI     C,0FH   ; 16 RADKU
  732     F98D    C8                            RZ              ; RAM = 2K
  733     F98E    FE 08                         CPI     8
  734     F990    26 07                         MVI     H,7     ; ADRESA  DISRAM PRO 3 KILA
  735     F992    C8                            RZ              ; RAM = 3K
  736     F993    EB                            XCHG            ; OBNOVENI ADRESY KONCE RAM
  737     F994    11 F800                       LXI     D,0F800H        ; DVOJKOVY DOPLNEK 2 KIL
  738     F997    19                            DAD     D       ; VYPOCET ADRESY DISRAM PRO 4K AZ 15K RAM
  739     F998    0E 1F                         MVI     C,1FH   ; 32 RADKU
  740     F99A    C9                            RET
  741                                   ;
  742                                   ;
  743                                   ;
  744                                   ;
  745                                   ;       N U M L I N
  746                                   ;       ===========
  747                                   ;
  748                                   ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE S POCTEM ZOBRAZOVANYCH
  749                                   ; RADKU NA OBRAZOVCE. VYSLEDNA ADRESA JE V <HL>.
  750                                   ;
  751                                   ; POSKOZENE REGISTRY: H,L
  752                                   ;
  753     F99B    21 0037               NUMLIN: LXI     H,LINENO        ; ODSTUP PROMENNE S POCTEM RADKU
  754     F99E    CD FA01               NUML0:  CALL    GETADR          ; ZJISTENI ADRESY TETO PROMENE
  755     F9A1    C9                            RET
  756                                   ;
  757                                   ;
  758                                   ;
  759                                   ;       N U M C H R
  760                                   ;       ===========
  761                                   ;
  762                                   ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE S POCTEM ZNAKU,
  763                                   ; ULOZI SE DO <HL>.
  764                                   ;
  765                                   ; POSKOZENE REGISTRY: H,L
  766                                   ;
  767     F9A2    21 0038               NUMCHR: LXI     H,CHARNO
  768     F9A5    C3 F99E                       JMP     NUML0
  769                                   ;
  770                                   ;
  771                                   ;
  772                                   ;       J A D R
  773                                   ;       =======
  774                                   ;
  775                                   ; PODPROGRAM PRO SKOK NA ADRESU DANOU ODSTUPEM V <HL> OD ADRESY
  776                                   ; DISRAM, PREDPOKLADA OBSAH <HL> V ZASOBNIKU, TENTO OBSAH OBNOVY.
  777                                   ;
  778                                   ; POSKOZENE REGISTRY: H,L,SP
  779                                   ;
  780     F9A8    CD FA01               JADR:   CALL    GETADR  ; VYPOCET FYZICKE ADRESY
  781     F9AB    E3                            XTHL            ; OBNOVENI <HL>
  782     F9AC    C9                            RET             ; SKOK NA VYPOCTENOU ADRESU
  783                                   ;
  784                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-14


  785                                   ;
  786                                   ;       G E T L I N
  787                                   ;       ===========
  788                                   ;
  789                                   ; PODPROGRAM PRO ZJISTENI OBSAHU CITACE RADKU A JEHO ULOZENI DO <A>
  790                                   ;
  791                                   ; POSKOZENE REGISTRY: H,L,A
  792                                   ;
  793     F9AD    21 0035               GETLIN: LXI     H,LINECO        ; ODSTUP CITACE RADKU
  794     F9B0    C3 F9B6                       JMP     GETC0
  795                                   ;
  796                                   ;
  797                                   ;
  798                                   ;       G E T C H R
  799                                   ;       ===========
  800                                   ;
  801                                   ; PODPROGRAM PRO ZJISTENI OBSAHU CITACE ZNAKU A JEHO ULOZENI DO <A>
  802                                   ;
  803                                   ; POSKOZENE REGISTRY: H,L,A
  804                                   ;
  805     F9B3    21 0036               GETCHR: LXI     H,CHARCO        ; ODSTUP CITACE ZNAKU
  806     F9B6    CD FA01               GETC0:  CALL    GETADR          ; VYPOCET ADRESY CITACE ZNAKU
  807     F9B9    7E                            MOV     A,M             ; PRICTENI OBSAHU CITACE ZNAKU
  808     F9BA    C9                            RET
  809                                   ;
  810                                   ;
  811                                   ;
  812                                   ;       G E T S T K
  813                                   ;       ===========
  814                                   ;
  815                                   ; PODPROGRAM PRO ZJISTENI ADRESY PROMENE MSTACK (VRCHOL ZASOBNIKU
  816                                   ; PRO MONITOR).
  817                                   ;
  818                                   ; POSKOZENE REGISTRY: H,L
  819                                   ;
  820     F9BB    21 0033               GETSTK: LXI     H,MSTACK        ; ODSTUP PROMENNE MSTACK
  821     F9BE    C3 F9B6                       JMP     GETC0           ; VYPOCET ADRESY PROMENNE MSTACK
  822                                   ;
  823                                   ;
  824                                   ;       G E T S P R
  825                                   ;       ===========
  826                                   ;
  827                                   ; PODPROGRAM PRO ZJISTENI ADRESY PROMENNE SPREG (VRCHOL ZASOBNIKU
  828                                   ; PRO UZIVATELE).
  829                                   ;
  830                                   ; POSKOZENE REGISTRY: H,L
  831                                   ;
  832     F9C1    21 0073               GETSPR: LXI     H,SPREG
  833     F9C4    C3 F9B6                       JMP     GETC0
  834                                   ;
  835                                   ;
  836                                   ;
  837                                   ;       S T J M P
  838                                   ;       =========
  839                                   ;
  840                                   ; PODPROGRAM ULOZI DO <HL> ADRESU URCENOU ODSTUPEM OD DISRAM ULOZENYM
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-15


  841                                   ; V <HL>, PAK ULOZI KOD 0C3H NA ADRESU <HL>, ABSAH <E> NA
  842                                   ; ADESU <HL+1> A <D> NA ADRESU <HL+2>. PO VYSTUPU Z PODPROGRAMU
  843                                   ; JE V <HL> HODNOTA ZVETSENA O 3 (HL+2).
  844                                   ;
  845                                   ; POSKOZENE REGISTRY: H,L
  846                                   ;
  847     F9C7    CD FA01               STJMP:  CALL    GETADR  ; VYPOCET ADRESY A ULOZENI DO <HL>
  848     F9CA    36 C3                 STJMA:  MVI     M,0C3H  ; KOD INSTRUKCE SKOKU DO [<HL>]
  849     F9CC    23                            INX     H
  850     F9CD    73                    STJMB:  MOV     M,E     ; ULOZENI DOLNIHO BYTU ADRESY SKOKU
  851     F9CE    23                            INX     H
  852     F9CF    72                            MOV     M,D     ; ULOZENI HORNIHO BYTU ADRESY SKOKU
  853     F9D0    23                            INX     H
  854     F9D1    C9                            RET
  855                                   ;
  856                                   ;
  857                                   ;
  858                                   ;       A D R K U R
  859                                   ;       ===========
  860                                   ;
  861                                   ; PODPROGRAM ADRKUR VYPOCITA ZE SOURADNICOVYCH UKAZATELU
  862                                   ; LINECO (CITAC RADKU) A CHARCO (CITAC ZNAKU) FYZICKOU
  863                                   ; ADRESU PRISLUSNEHO MISTA V OBRAZOVE PAMETI DISRAM.
  864                                   ; VYSLEDNOU ADRESU UKLADA DO <HL>.
  865                                   ;
  866                                   ; POSKOZENE REGISTRY: H,L
  867                                   ;
  868     F9D2    F5                    ADRKUP: PUSH    PSW
  869     F9D3    D5                            PUSH    D
  870     F9D4    11 0040                       LXI     D,64    ; POCET BYTU NA JEDEN RADEK
  871     F9D7    CD F9AD                       CALL    GETLIN  ; OBSAH CITACE RADKU DO <A>
  872     F9DA    2A 0004                       LHLD    RAMEND
  873     F9DD    23                            INX     H       ; ZACATEK OBRAZOVE PAMETI V <HL>
  874     F9DE    3D                    ADRK2:  DCR     A
  875     F9DF    FA F9E6                       JM      ADRK1   ; PRES VSECHNY RADKY ?
  876     F9E2    19                            DAD     D       ; VYPOCET BYTU V PREDCH. RADCICH
  877     F9E3    C3 F9DE                       JMP     ADRK2
  878     F9E6    E5                    ADRK1:  PUSH    H
  879     F9E7    16 00                         MVI     D,0
  880     F9E9    CD F9B3                       CALL    GETCHR  ; OBSAH CITACE ZNAKU DO <A>
  881     F9EC    5F                            MOV     E,A
  882     F9ED    E1                            POP     H       ; OBNOVENI <HL>
  883     F9EE    19                            DAD     D       ; PRICTENI POCTU ZNAKU V PRUB. RADKU
  884     F9EF    D1                            POP     D
  885     F9F0    F1                            POP     PSW
  886     F9F1    C9                            RET
  887                                   ;
  888                                   ;
  889                                   ;
  890                                   ;       C I N C R
  891                                   ;       =========
  892                                   ;
  893                                   ; PODPROGRAM CINCR PROVADI VSTUP, ZOBRAZENI A ANALIZU
  894                                   ; ZNAKU Z KLAVESNICE. ZNAK JE V REGISTRU <A>, POLE
  895                                   ; JEHO HODNOTY NASTAVUJE PRIZNAKY NASLEDOVNE:
  896                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-16


  897                                   ;       ZNAK            FF-C            FF-Z
  898                                   ;       , SP            0               1
  899                                   ;       CR              1               1
  900                                   ;       OSTATNI         0               0
  901                                   ;
  902                                   ;
  903                                   ; POSKOZENE REGISTRY: A,F
  904                                   ;
  905     F9F2    CD FA6B               CINCR:  CALL    ECHO    ; VSTUP A ZOBRAZENI ZNAKU
  906     F9F5    FE 2C                 ANAL:   CPI     ','     ; ANAJIZATOR ZNAKU V <A>
  907     F9F7    C8                            RZ
  908     F9F8    FE 20                         CPI     SPC
  909     F9FA    C8                            RZ              ; PRO , A SP ... FF-Z = 1, FF-C = 0
  910     F9FB    FE 0D                         CPI     CR
  911     F9FD    37                            STC
  912     F9FE    C8                            RZ              ; PRO CR ... FF-Z = 1, FF-C = 1
  913     F9FF    3F                            CMC
  914     FA00    C9                            RET             ; JINY ZNAK ... FF-Z = 0, FF-C = 0
  915                                   ;
  916                                   ;
  917                                   ;
  918                                   ;
  919                                   ;       G E T A D R
  920                                   ;       ===========
  921                                   ;
  922                                   ; PODPROGRAM GETADR UMOZNUJE VYPOCET ADRESY
  923                                   ; PROMENNYCH UMISTENYCH V NEVIUZITE CASTI
  924                                   ; PAMETI RAM URCENE PRO UCHOVANI OBRAZU. VSTUPNI
  925                                   ; PROMENOU JE ODSTUP OD ZACATKU DISRQM, UKLADA
  926                                   ; SE DO <HL>, VYSLEDNA ADRESA JE V <HL>
  927                                   ;
  928                                   ; POSKOZENE REGISTRY: H,L
  929                                   ;
  930     FA01    D5                    GETADR: PUSH    D
  931     FA02    F5                            PUSH    PSW
  932     FA03    EB                            XCHG            ; ULOZENI ODSTUPU DO <DE>
  933     FA04    2A 0004                       LHLD    RAMEND  ; ADRESA KONCE PROGRAMOVE PAMETI
  934     FA07    23                            INX     H       ; ADRESA ZACATKU OBRAZOVE RAM
  935     FA08    19                            DAD     D       ; VYPOCET VYSLEDNE ADRESY DO <HL>
  936     FA09    F1                            POP     PSW     ; FF-C JE POSKOZENO INSTRUKCI DAD
  937     FA0A    D1                            POP     D
  938     FA0B    C9                            RET
  939                                   ;
  940                                   ;
  941                                   ;
  942                                   ;       D A D R
  943                                   ;       =======
  944                                   ;
  945                                   ; PODPROGRAM DADR (DBYTE) SLOUZI K ZOBRAZENI ADRESY
  946                                   ; (BYTU) ULOZENEHO V REGISTRECH <HL> (V REG. <A>) NA
  947                                   ; OBRAZOVCE POMOCI HEXADECIMALNI NOTACE.
  948                                   ;
  949                                   ; POSKOZENE REGISTRY: A,F,C
  950                                   ;
  951     FA0C    7C                    DADR:   MOV     A,H     ; VYSSI BYTE ADRESY
  952     FA0D    CD FA11                       CALL    DBYTE   ; JEJI ZOBRAZENI
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-17


  953     FA10    7D                            MOV     A,L     ; NIZSI BYTE ADRESY
  954     FA11    F5                    DBYTE:  PUSH    PSW
  955     FA12    0F                            RRC
  956     FA13    0F                            RRC
  957     FA14    0F                            RRC
  958     FA15    0F                            RRC             ; DELENI <A> / 16
  959     FA16    E6 0F                         ANI     0FH     ; HORNI NIBBLE
  960     FA18    CD FA1E                       CALL    DBYT0   ; PREVOD A ZOBRAZENI
  961     FA1B    F1                            POP     PSW     ; OBNOVENI ODSAHU <A>
  962     FA1C    E6 0F                         ANI     0FH     ; DOLNI NIBBLE
  963     FA1E    CD FAD3               DBYT0:  CALL    HXASC   ; PREVOD0HEX --> ASCII0<C>
  964                                   ;
  965                                   ;
  966                                   ;
  967                                   ;       C O
  968                                   ;       ===
  969                                   ;
  970                                   ;
  971                                   ; PODPROGRAM CO PROVADI VYSTUP ZNAKU ULOZENEHO V REGISTRU
  972                                   ; <C> NA OBRAZOVKU NA MISTO URCENE SOURADNICEMI LINECO A
  973                                   ; CHARCO. SOUCASNE SIMULUJE CHOVANI OBVODOVE KONZOLY
  974                                   ; PRO ZNAKY FF,BS,CR,LF,HT,HOME,DL,DSCR A BELL.
  975                                   ;
  976                                   ; POSKOZENE REGISTRY: - - -
  977                                   ;
  978     FA21    E5                    CO:     PUSH    H
  979     FA22    21 00B3                       LXI     H,CONOUT ; SPOJOVACI ADRESA
  980     FA25    C3 F9A8                       JMP     JADR    ; SKOK NA NI
  981                                   ;
  982     FA28    E5                    CO2:    PUSH    H
  983     FA29    F5                            PUSH    PSW
  984     FA2A    79                            MOV     A,C
  985     FA2B    21 FA68                       LXI     H,CO0   ; NAVRATOVA ADRESA
  986     FA2E    E5                            PUSH    H       ; SIMULACE CALL
  987     FA2F    FE 0D                         CPI     CR      ; JDE O ZNAK 'CR' ?
  988     FA31    CA FB02                       JZ      CARRET  ; ZACATEK RADKU
  989     FA34    FE 0A                         CPI     LF      ; JDE A ZNAK 'LF' ?
  990     FA36    CA FADD                       JZ      LINEF   ; O JEDEN RADEK DOLU
  991     FA39    79                            MOV     A,C     ; OBNOVENI <A>
  992     FA3A    FE 08                         CPI     BS      ; JDE O ZNAK 'BS' ?
  993     FA3C    CA FDA7                       JZ      BACST   ; POSUN ZPET
  994     FA3F    FE 0C                         CPI     FF      ; JDE O ZNAK 'FF' ?
  995     FA41    CA FD86                       JZ      FORFI   ; VYMAZ DISRAM
  996     FA44    FE 1D                         CPI     HOME    ; JDE O ZNAK 'HOME' ?
  997     FA46    CA FD7A                       JZ      GHOME   ; DO LEVEHO HOR. ROHU
  998     FA49    FE 1E                         CPI     DL      ; JDE O ZNAK 'DL' ?
  999     FA4B    CA FDC9                       JZ      DELLIN  ; VYMAZ RADKU
 1000     FA4E    FE 1F                         CPI     DSCR    ; JDE O ZNAK 'DS' ?
 1001     FA50    CA FD89                       JZ      DELSCR  ; VYMAZ OBRAZOVKY
 1002     FA53    FE 07                         CPI     BELL    ; JDE O ZNAK 'BELL' ?
 1003     FA55    CA FDEF                       JZ      BEEPS   ; PIPNUTI
 1004                                   ;
 1005     FA58    E1                            POP     H       ; SPLACHNUTI NAVR. AD.
 1006     FA59    CD F9D2                       CALL    ADRKUP  ; ADRESA KURZORU <HL>
 1007     FA5C    71                            MOV     M,C     ; VYPIS ZNAKU
 1008     FA5D    CD F9B3                       CALL    GETCHR  ; CISLO ZNAKU V <A>
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-18


 1009     FA60    34                            INR     M       ; DALSI POZICE
 1010     FA61    CD F9A2                       CALL    NUMCHR  ; ADRESA POCTU ZNAKU
 1011     FA64    BE                            CMP     M       ; NA KONCI RADKU ?
 1012     FA65    CC FB0C                       CZ      CRLF    ; ANO - NOVY RADEK
 1013     FA68    F1                    CO0:    POP     PSW
 1014     FA69    E1                            POP     H
 1015     FA6A    C9                            RET
 1016                                   ;
 1017                                   ;
 1018                                   ;
 1019                                   ;
 1020                                   ;       E C H O
 1021                                   ;       =======
 1022                                   ;
 1023                                   ; PODPROGRAM ECHO PROVADI VSTUP A ZOBRAZENI ZNAKU Z
 1024                                   ; KLAVESNICE. ZNAK JE ULOZEN V REGISTRU <A>.
 1025                                   ;
 1026                                   ; POSKOZENE REGISTRY: A,F
 1027                                   ;
 1028     FA6B    C5                    ECHO:   PUSH    B
 1029     FA6C    CD FE7A                       CALL    CI      ; VSTUP ZNAKU
 1030     FA6F    4F                            MOV     C,A
 1031     FA70    CD FA21                       CALL    CO      ; ZOBRAZENI ZNAKU
 1032     FA73    79                            MOV     A,C
 1033     FA74    C1                            POP     B
 1034     FA75    C9                            RET
 1035                                   ;
 1036                                   ;
 1037                                   ;
 1038                                   ;       S D A D R
 1039                                   ;       =========
 1040                                   ;
 1041                                   ; PODPROGRAM PRO ZOBRAZENI <HL> A MEZERY NA OBRAZOVCE.
 1042                                   ;
 1043                                   ; POSKOZENE REGISTRY: A,F,C
 1044                                   ;
 1045     FA76    CD FA0C               SDADR:  CALL    DADR    ; ZOBRAZENI <HL>
 1046                                   ;
 1047                                   ;
 1048                                   ;
 1049                                   ;       S P A C E
 1050                                   ;       =========
 1051                                   ;
 1052                                   ; PODPROGRAM SPACE PROVEDE VYPIS MEZERY NA OBRAZOVKU.
 1053                                   ;
 1054                                   ; POSKOZENE REGISTRY: - - -
 1055                                   ;
 1056     FA79    C5                    SPACE:  PUSH    B
 1057     FA7A    0E 20                         MVI     C,SPC   ; KOD MEZERY DO <C>
 1058     FA7C    C3 FA85                       JMP     WQUA0   ; PROVEDENI VYPISU
 1059                                   ;
 1060                                   ;
 1061                                   ;
 1062                                   ;       E D A D R
 1063                                   ;       =========
 1064                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-19


 1065                                   ; PODPROGRAM PRO ZOBRAZENI <HL> A ROVNITKA NA OBRAZOVCE.
 1066                                   ;
 1067                                   ; POSKOZENE REGISTRY: A,F,C
 1068                                   ;
 1069     FA7F    CD FA0C               EDADR:  CALL    DADR    ; ZOBRAZENI <HL>
 1070                                   ;
 1071                                   ;
 1072                                   ;
 1073                                   ;       E Q U A T E
 1074                                   ;       ===========
 1075                                   ;
 1076                                   ; PODPROGRAM EQUATE PROVEDE VYPIS ROVNITKA NA OBRAZOVKU.
 1077                                   ;
 1078                                   ; POSKOZENE REGISTRY: - - -
 1079                                   ;
 1080     FA82    C5                    EQUATE: PUSH    B
 1081     FA83    0E 3D                         MVI     C,'='   ; ZNAK ROVNITKO DO <C>
 1082     FA85    CD FA21               WQUA0:  CALL    CO      ; ZOBRAZENI ROVNITKA
 1083     FA88    C1                            POP     B
 1084     FA89    C9                            RET
 1085                                   ;
 1086                                   ;
 1087                                   ;
 1088                                   ;      E X P R
 1089                                   ;      =======
 1090                                   ;
 1091                                   ; PODPROGRAM EXPR UMOZNUJE CSTYP PARAMETRU (ADRES,BYTU)
 1092                                   ; DO PROGRAMU. POCET PARAMETRU JE V REGISTRU <C>.
 1093                                   ; JEDNOTLIVE PARAMETRY UKLADA POSTUPNE DO ZASOBNIKU.
 1094                                   ;
 1095                                   ; POSKOZENE REGISTRY: A,F,B,C,H,L,SP
 1096                                   ;
 1097     FA8A    F5                    EXPR:   PUSH    PSW
 1098     FA8B    F1                    EXPR0:  POP     PSW
 1099     FA8C    CD FA82                       CALL    EQUATE  ; ROVNITKO NA DISPLEJ
 1100     FA8F    21 0000                       LXI     H,0     ; VYNULOVANI <HL>
 1101     FA92    CD FA6B               EXPR1:  CALL    ECHO    ; VSTUP A ZOBRAZENI ZNAKU
 1102     FA95    FE 1B                         CPI     ESC     ; JDE O ZNAL 'ESC' ?
 1103     FA97    CA F8E4                       JZ      NEXT    ; POKUT ANO -> PRERUS PRIKAZ
 1104     FA9A    47                            MOV     B,A     ; ULOZENI ZNAKU DO <B>
 1105     FA9B    CD FAC1                       CALL    ASHEX   ; PREVOD ZNAKU Z ASCII NA HEX
 1106     FA9E    DA FAAA                       JC      EXPR2   ; NEJDE O HEXADECIMALNI CIFRU ?
 1107     FAA1    29                            DAD     H
 1108     FAA2    29                            DAD     H
 1109     FAA3    29                            DAD     H
 1110     FAA4    29                            DAD     H       ; VYNASOBENI <HL> * 16
 1111     FAA5    B5                            ORA     L       ; PRIDANI DALSIHO NYBBLU
 1112     FAA6    6F                            MOV     L,A     ; DO <HL>
 1113     FAA7    C3 FA92                       JMP     EXPR1   ; VSTUP DALSI CIFRY
 1114     FAAA    C6 30                 EXPR2:  ADI     '0'     ; OPRAVA KODU PO ASHEX
 1115     FAAC    CD F9F5                       CALL    ANAL    ; ANALIZATOR ZNAKU
 1116     FAAF    CA FAB8                       JZ      EXPR3   ; PRIJAT UKONCOVACI ZNAK 'SP' , ',' , 'CR'
 1117     FAB2    CD F931                       CALL    ERROR   ; HLASENI NESMISLNEHO OPERANDU - SPLACHNOUT
 1118     FAB5    C3 FA8A                       JMP     EXPR    ; VSTUP NAHRADNIHO OPERANDU
 1119     FAB8    E3                    EXPR3:  XTHL            ; ULOZENI ZIZKANEHO OPERANDU DO ZASOBNIKU
 1120     FAB9    E5                            PUSH    H       ; OBNOVENI NARATOVE ADRESY
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-20


 1121     FABA    F5                            PUSH    PSW
 1122     FABB    0D                            DCR     C       ; DEKREMENTACE CITACE OPERANDU
 1123     FABC    C2 FA8B                       JNZ     EXPR0   ; VSECHNY OPERANDY NACTENY ?
 1124     FABF    F1                            POP     PSW
 1125     FAC0    C9                            RET
 1126                                   ;
 1127                                   ;
 1128                                   ;
 1129                                   ;
 1130                                   ;      A S H E X
 1131                                   ;      =========
 1132                                   ;
 1133                                   ; PODPROGRAM ASHEX ROVADI PREVOD HEX. CISLA ZADA-
 1134                                   ; NEHO POMOCI ASCII ZNAKU NA HEX. HODNOTU. PUNODNI
 1135                                   ; ZNAKY V REGISTRU <A>, VYSLEDEK V REGISTRU <A>.
 1136                                   ; AUTOMATICKY POSOUVA RAD PRI VICENASOBNEM VOLANI,
 1137                                   ; TAKZE LZE PREVADET AZ CTYR-NIBBLOVA HEX. CISLA.
 1138                                   ;
 1139                                   ; POSKOZENE REGISTRY: A,F
 1140                                   ;
 1141     FAC1    D6 30                 ASHEX:  SUI     '0'
 1142     FAC3    D8                            RC              ; JE KOD ZNAKU < 30H ?
 1143     FAC4    C6 E9                         ADI     0E9H
 1144     FAC6    D8                            RC              ; JE KOD ZNAKY > 46H ?
 1145     FAC7    C6 06                         ADI     6
 1146     FAC9    F2 FACF                       JP      ASHE0   ; JDE O PISMENOVY KOD (A-F) ?
 1147     FACC    C6 07                         ADI     7
 1148     FACE    D8                            RC              ; JDE O ZNAKY  : (3AH) AZ (60H) ?
 1149     FACF    C6 0A                 ASHE0:  ADI     10      ; POSUN NA NOVOU DEKADU
 1150     FAD1    B7                            ORA     A       ; NULOVANI PRIZNAKU NESMISLNEHO KODU
 1151     FAD2    C9                            RET             ; FF-C = 0 => OK
 1152                                   ;
 1153                                   ;
 1154                                   ;
 1155                                   ;       H X A S C
 1156                                   ;       =========
 1157                                   ;
 1158                                   ; PODPROGRAM HXASC PROVADI PREVOD HEX. HODNOTY
 1159                                   ; NA KOD EKVIVALENTNIHO ZNAKU ASCII. HEX. HODNOTA
 1160                                   ; JE V REGISTRU <A>, KOD ZNAKU V REGISTRU <C>.
 1161                                   ;
 1162                                   ; POSKOZENE REGISTRY: C
 1163                                   ;
 1164     FAD3    F5                    HXASC:  PUSH    PSW
 1165     FAD4    C6 90                         ADI     90H     ; PREHODNI KONSTANTA
 1166     FAD6    27                            DAA
 1167     FAD7    CE 40                         ACI     40H     ; VYTVORENI KODU ZNAKU
 1168     FAD9    27                            DAA
 1169     FADA    4F                            MOV     C,A     ; ULOZENI KODU DO <C>
 1170     FADB    F1                            POP     PSW
 1171     FADC    C9                            RET
 1172                                   ;
 1173                                   ;
 1174                                   ;
 1175                                   ;       L I N E F
 1176                                   ;       =========
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-21


 1177                                   ;
 1178                                   ;
 1179                                   ; PODPROGRAM LINEF PROVADI PRECHOD NA NOVY RADEK.
 1180                                   ; POKUT JDE O RADEK POSLRDNI, PAK SLEDUJE PRI-
 1181                                   ; TOMNOST EXP-MONITORU. PRI JEHO PRITOMNOSTI VY-
 1182                                   ; VOLA PODPROGRAM ROLL (POSUV OBSAHU OBRAZOVKY
 1183                                   ; O JEDEN RADEK NAHORU, STARY PRVNI RADEK SE STRACI).
 1184                                   ; PRI NEPRITOMNOSTI EXPANDU PROVEDE PRECHOD NA PRV-
 1185                                   ; NI ZOBRAZOVANY RADEK. POZICE KURZORU V RADKU ZUSTANE
 1186                                   ; NEZMENENA.
 1187                                   ;
 1188                                   ; POSKOZENE REGISTRY: - - -
 1189                                   ;
 1190                                   ;
 1191     FADD    F5                    LINEF:  PUSH    PSW
 1192     FADE    E5                            PUSH    H
 1193     FADF    CD F9AD                       CALL    GETLIN  ; OBSAK CITACE RADKU
 1194     FAE2    E5                            PUSH    H
 1195     FAE3    CD F99B                       CALL    NUMLIN  ; ADRESA BUNKY S POCTEM RADKU
 1196     FAE6    BE                            CMP     M       ; NA POSLEDNIM RADKU ?
 1197     FAE7    DA FAFA                       JC      LINE1
 1198     FAEA    CA FAF1                       JZ      LINE0   ; ZMENA POCTU RADKU ?
 1199     FAED    7E                            MOV     A,M     ; NOVY POCET RADKU
 1200     FAEE    E1                            POP     H       ; KURZOR NA POSLEDNI RADEK
 1201     FAEF    E5                            PUSH    H
 1202     FAF0    77                            MOV     M,A
 1203     FAF1    CD FD37               LINE0:  CALL    ROLL    ; ROLOVANI DISPLAYE, KURZOR NEPOSUNE
 1204     FAF4    CD FDC9                       CALL    DELLIN  ; VYMAZ CASTI RADKU OD KURZORU
 1205     FAF7    C3 FAFE                       JMP     LINE2
 1206     FAFA    3C                    LINE1:  INR     A
 1207     FAFB    E1                            POP     H       ; KURZOR NA DALSI RADEK
 1208     FAFC    E5                            PUSH    H
 1209     FAFD    77                            MOV     M,A
 1210     FAFE    E1                    LINE2:  POP     H
 1211     FAFF    E1                            POP     H
 1212     FB00    F1                            POP     PSW
 1213     FB01    C9                            RET
 1214                                   ;
 1215                                   ;
 1216                                   ;
 1217                                   ;       C A R R E T
 1218                                   ;       ===========
 1219                                   ;
 1220                                   ; PODPROGRAM CARRET UMISTI KURZOR NA ZACATEK PRAZDNEHO RADKU.
 1221                                   ;
 1222                                   ; POSKOZENE REGISTRY: - - -
 1223                                   ;
 1224     FB02    E5                    CARRET: PUSH    H
 1225     FB03    F5                            PUSH    PSW
 1226     FB04    CD F9B3                       CALL    GETCHR  ; V <HL> ADRESA CITACE ZNAKU
 1227     FB07    36 00                         MVI     M,0
 1228     FB09    F1                            POP     PSW
 1229     FB0A    E1                            POP     H
 1230     FB0B    C9                            RET
 1231                                   ;
 1232                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-22


 1233                                   ;
 1234                                   ;       C R L F
 1235                                   ;
 1236                                   ; PODPROGRAM CRLF PROVEDE PRECHOD NA ZACATEK NASLEDUJICIHO RADKU,
 1237                                   ; KTERY CELY VYMAZE (POKUD JE PRITOMEN EXPAND).
 1238                                   ;
 1239                                   ; POSKOZENE REGISTRY: - - -
 1240                                   ;
 1241     FB0C    CD FB02               CRLF:   CALL    CARRET  ; KURZOR NA ZACATEK RADKU
 1242     FB0F    C3 FADD                       JMP     LINEF   ; KURZOR NA NASLEDUJICI RADEK
 1243                                   ;
 1244                                   ;
 1245                                   ;
 1246                                   ;       I N T E R
 1247                                   ;       =========
 1248                                   ;
 1249                                   ; INTER OSETRUJE PRERUSENI. OBSAHY REGISTRU SE
 1250                                   ; ULOZI DO PRACOVNIHO POLE PAMETI PRIKAZU GOTO.
 1251                                   ; DALE SE ZJISTI, ZDA SLO O PRERUSENI PROGRAMOVE
 1252                                   ; NEBO OBVODOVE. POKUT BYLO PROGRAMOVE, URCI
 1253                                   ; SE POMOCI OBSAHU PROMENNE BRADR, ZDA SLO O PRE-
 1254                                   ; RUSENI VYVOLANE PRERUSOVACI ADRESOU PRIKAZU
 1255                                   ; GOTO. POKUT ANO, OBNOVI SE PUVODNI KOD NA
 1256                                   ; TETO ADRESE. ABSAH VSECH REGISTRU SE ZABRAZI
 1257                                   ; A PROVEDE SE SKOK NA HORKY START MONITORU.
 1258                                   ;
 1259                                   ; POSKOZENE REGISTRY: A,F,B,C,D,E,H,L,SP
 1260                                   ;
 1261     FB12    E5                    INTER:  PUSH    H
 1262     FB13    D5                            PUSH    D
 1263     FB14    C5                            PUSH    B
 1264     FB15    F5                            PUSH    PSW
 1265     FB16    21 0000                       LXI     H,0
 1266     FB19    39                            DAD     SP      ; V <HL> VRCHOL ZASOBNIKU
 1267     FB1A    EB                            XCHG
 1268     FB1B    21 007C                       LXI     H,FREG
 1269     FB1E    CD FA01                       CALL    GETADR  ; ADSTUP PROMENNE 'FRAG'
 1270     FB21    06 08                         MVI     B,8
 1271     FB23    1A                    INTER2: LDAX    D
 1272     FB24    13                            INX     D
 1273     FB25    77                            MOV     M,A
 1274     FB26    2B                            DCX     H
 1275     FB27    05                            DCR     B
 1276     FB28    C2 FB23                       JNZ     INTER2  ; ULOZENI REGISTRU DO PRAC. POLE
 1277     FB2B    13                            INX     D
 1278     FB2C    13                            INX     D       ; SPLACHNUTI POSUNU VRCHOLU OD RST
 1279     FB2D    72                            MOV     M,D
 1280     FB2E    2B                            DCX     H
 1281     FB2F    73                            MOV     M,E     ; ULOZENI PUV. VRCHOLU ZASOBNIKU
 1282     FB30    F1                            POP     PSW
 1283     FB31    C1                            POP     B
 1284     FB32    D1                            POP     D
 1285     FB33    E1                            POP     H       ; OBNOVENI ABSAHU REGISTRU
 1286     FB34    CD FB0C               INTER3: CALL    CRLF    ; NOVY RADEK
 1287     FB37    C5                            PUSH    B       ; [SP]=<BC>,<ADR>
 1288     FB38    E5                            PUSH    H
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-23


 1289     FB39    21 5043                       LXI     H,5043H ; KODY 'PC' DO <HL>
 1290     FB3C    CD FBC3                       CALL    INTER1  ; VYPIS 'PC='
 1291     FB3F    E1                            POP     H
 1292     FB40    C1                            POP     B       ; [SP]=<ADR>
 1293     FB41    E3                            XTHL            ; [SP] <--> <HL>
 1294     FB42    C5                            PUSH    B       ; [SP]=<BC>,<HL>
 1295     FB43    F5                            PUSH    PSW     ; [SP]=<AF>,<BC>,<HL>
 1296     FB44    2B                            DCX     H       ; ADRESA PRERUSUJICI INSTRUKCE RSTX
 1297     FB45    CD FA7F                       CALL    EDADR   ; ZOBRAZENI <HL>=ADR A VYPIS =
 1298     FB48    7E                            MOV     A,M
 1299     FB49    CD FA11                       CALL    DBYTE   ; ZOBRAZENI [HL]=[ADR]...INSTR
 1300     FB4C    E5                            PUSH    H
 1301     FB4D    21 0070                       LXI     H,BRADR ; ODSTUP PROMENNE 'BRADR'
 1302     FB50    CD FA01                       CALL    GETADR  ; ADRESA 'BRADR' DO <HL>
 1303     FB53    7E                            MOV     A,M
 1304     FB54    E1                            POP     H       ; OBNOVENI <HL>
 1305     FB55    BD                            CMP     L
 1306     FB56    C2 FB70                       JNZ     INTER0  ; POKUT NE - POKRACUJ V ZOBRAZOVANI
 1307     FB59    E5                            PUSH    H
 1308     FB5A    21 0071                       LXI     H,BRADR + 1
 1309     FB5D    CD FA01                       CALL    GETADR
 1310     FB60    7E                            MOV     A,M
 1311     FB61    E1                            POP     H
 1312     FB62    BC                            CMP     H
 1313     FB63    C2 FB70                       JNZ     INTER0  ; TO STEJNE PRO HI-BYTE ADRESY BREAKU
 1314     FB66    E5                            PUSH    H
 1315     FB67    21 0072                       LXI     H,BRCODE
 1316     FB6A    CD FA01                       CALL    GETADR
 1317     FB6D    7E                            MOV     A,M
 1318     FB6E    E1                            POP     H
 1319     FB6F    77                            MOV     M,A     ; OBNOVENI KODU INSTRUKCE PRI BREAKU
 1320     FB70    F1                    INTER0: POP     PSW     ; [SP]=<BC>,<HL>
 1321     FB71    C1                            POP     B       ; [SP]=<HL>
 1322     FB72    E1                            POP     H       ; [SP]=
 1323     FB73    CD FA79                       CALL    SPACE
 1324     FB76    C5                            PUSH    B       ; [SP]=<BC>
 1325     FB77    F5                            PUSH    PSW     ; [SP]=<AF>,<BC>
 1326     FB78    E5                            PUSH    H
 1327     FB79    21 484C                       LXI     H,484CH ; KODY 'HL' DO <HL>
 1328     FB7C    CD FBC3                       CALL    INTER1  ; VYPIS 'HL='
 1329     FB7F    E1                            POP     H
 1330     FB80    CD FA7F                       CALL    EDADR   ; ZOBRAZENI <HL> A VYPIS =
 1331     FB83    7E                            MOV     A,M
 1332     FB84    CD FA11                       CALL    DBYTE   ; ZOBRAZENI [HL]
 1333     FB87    CD FA79                       CALL    SPACE
 1334     FB8A    E5                            PUSH    H
 1335     FB8B    21 5350                       LXI     H,5350H ; KODY 'SP' DO <HL>
 1336     FB8E    CD FBC3                       CALL    INTER1  ; VYPIS 'SP='
 1337     FB91    E1                            POP     H
 1338     FB92    21 0004                       LXI     H,4
 1339     FB95    39                            DAD     SP      ; VYPOCET HODNOTY SP PRI PRERUSENI
 1340     FB96    CD FA7F                       CALL    EDADR   ; ZOBRAZENI TETO ADRESY A '='
 1341     FB99    CD F93C                       CALL    NEXT6   ; V <HL> VRCHOL ZASOBNIKU PRI PRERUSENI
 1342     FB9C    CD FA0C                       CALL    DADR    ; ZOBRAZENI TETO ADRESY
 1343     FB9F    CD FB0C                       CALL    CRLF    ; NOVY RADEK
 1344     FBA2    21 4146                       LXI     H,4146H ; KODY 'AF' DO <HL>
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-24


 1345     FBA5    CD FBC3                       CALL    INTER1  ; VYPIS 'AF='
 1346     FBA8    E1                            POP     H       ; [SP]=<BC>
 1347     FBA9    CD FA76                       CALL    SDADR   ; ZOBRAZENI <HL>=<AF> A ' '
 1348     FBAC    21 4243                       LXI     H,4243H ; KODY 'BC' DO <HL>
 1349     FBAF    CD FBC3                       CALL    INTER1  ; VYPIS 'BC='
 1350     FBB2    E1                            POP     H       ; [SP] = JAKO PRED PRERUSENIM
 1351     FBB3    CD FA76                       CALL    SDADR   ; ZOBRAZENI <HL>=<BC> A ' '
 1352     FBB6    21 4445                       LXI     H,4445H ; KODY 'DE' DO <HL>
 1353     FBB9    CD FBC3                       CALL    INTER1  ; VYPIS 'DE='
 1354     FBBC    EB                            XCHG            ; VYMENA <HL> <--> <DE>
 1355     FBBD    CD FA0C                       CALL    DADR    ; ZOBRAZENI <HL>=<DE>
 1356     FBC0    C3 F8E4                       JMP     NEXT    ; NAVRAT DO MONITORU
 1357                                   ;
 1358     FBC3    4C                    INTER1: MOV     C,H
 1359     FBC4    CD FA21                       CALL    CO      ; ZOBRAZENI OBSAHU <H> ASCII
 1360     FBC7    4D                            MOV     C,L
 1361     FBC8    CD FA21                       CALL    CO      ; ZOBRAZENI OBSAHU <L> ASCII
 1362     FBCB    CD FA82                       CALL    EQUATE  ; ZOBRAZENI '='
 1363     FBCE    C9                            RET
 1364                                   ;
 1365                                   ;
 1366                                   ;
 1367                                   ;       C H K P R
 1368                                   ;       =========
 1369                                   ;
 1370                                   ; PODPROGRAM CHKTPR ZJISTUJE PRITOMNOST
 1371                                   ; PROGRAM OBSLUHY MAGNETOFONU. JE-LI
 1372                                   ; PRITOMEN, JE FF-Z NASTAVEN, NENI-LI PRITOMEN,
 1373                                   ; JE FF-Z NULOVAN.
 1374                                   ;
 1375                                   ; POSKOZENE REGISTRY: A,F
 1376                                   ;
 1377     FBCF    3A F000               CHKTPR: LDA     ADRTPR  ; CTENI Z CHAR. BUNKY OBSLUHY MGF
 1378     FBD2    FE 55                         CPI     KEYTPR  ; SROVNANI S KLICEM
 1379     FBD4    C9                            RET
 1380                                   ;
 1381                                   ;
 1382                                   ;
 1383                                   ;*****************************************************************
 1384                                   ;
 1385                                   ;       P R I K Z Y
 1386                                   ;       ###########
 1387                                   ;
 1388                                   ;
 1389                                   ;
 1390                                   ;       S U B S T
 1391                                   ;       =========
 1392                                   ;
 1393                                   ; PRIKAZ SUBST UMOZNUJE ZAMENIT OBSAH LIBOVOLNE BUNKY
 1394                                   ; PAMETI NOVYM OBSAHEM. MA JEDINY VSTUPNI PARAMETR -
 1395                                   ; ADRESU PRVNI PREPISOVANE BUNKY A SOUBOR PRACOVNICH
 1396                                   ; PARAMETRU - NOVE OBSAHY PO SOBE JDOUCICH BUNEK POCI-
 1397                                   ; NAJE URCENOU PRVNI BUNKOU. "SP" NEMENI OBSAH - INKRE-
 1398                                   ; MENTUJE ADRESU, "CR" UKONCI PRIKAZ. PRI CHYBE V ZADAVANI
 1399                                   ; PRVEHO ZNAKU SE OPRAVA PROVEDE STISKNUTIM LIBOVOLNE
 1400                                   ; KLAVESY MIMO HEXADECIMALNICH A RIDICICH ZNAKU. TIM SE
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-25


 1401                                   ; PUVODNI ZNAK IGNORUJE A VYPISE SE ZNOVU ROVNITKO.
 1402                                   ; PRI CHYBE V DRUHEM ZNAKU JE TREBA ZADAT OBA ZNAKY ZNOVU
 1403                                   ; OPAKOVANIM CELEHO PRIKAZU SUBST.
 1404                                   ;
 1405     FBD5    0D                    SUBST:  DCR     C       ; VSTUP JEDNOHO OPERANDU
 1406     FBD6    CD FA8A                       CALL    EXPR    ; PROVEDENI VSTUPU
 1407     FBD9    CD FB0C                       CALL    CRLF    ; NOVY RADEK
 1408     FBDC    E1                            POP     H       ; POCATECNI ADRESA DO <HL>
 1409     FBDD    CD FA76               SUBS0:  CALL    SDADR   ; ZOBRAZENI ADRESY
 1410     FBE0    7E                            MOV     A,M     ; PRECTI OBSAH PAMETI
 1411     FBE1    CD FA11                       CALL    DBYTE   ; ZOBRAZ OBSAH PAMETI
 1412     FBE4    CD FA79                       CALL    SPACE   ; ZOBRAZ MEZERU
 1413     FBE7    CD F9F2               SUBS1:  CALL    CINCR   ; VSTUP,ECHO A ANALIZA ZNAKU
 1414     FBEA    D8                            RC              ; PRO 'CR' UKONCI PRIKAZ
 1415     FBEB    CA FC13                       JZ      SUBS4   ; PRO 'SP' A ',' DALSI BUNKA
 1416     FBEE    CD FAC1                       CALL    ASHEX   ; PRI OSTATNICH ZNACICH PREVOD NA HEX
 1417     FBF1    DC F931                       CC      ERROR   ; HLASENI CHYBY
 1418     FBF4    DA FBE7                       JC      SUBS1   ; VSTUP NAHRADNIHO ZNAKU
 1419     FBF7    47                            MOV     B,A     ; ULOZENI HORNI CIFRY DO <B>
 1420     FBF8    CD F9F2               SUBS2:  CALL    CINCR   ; ECHO A ANALIZA ZNAKU
 1421     FBFB    CA FC12                       JZ      SUBS3   ; PRO 'CR','SP',',' KONEC VSTUPU
 1422     FBFE    CD FAC1                       CALL    ASHEX   ; OSTATNI = DOLNI CIFRA, PREVOD
 1423     FC01    DC F931                       CC      ERROR   ; HLASENI CHYBY
 1424     FC04    DA FBE7                       JC      SUBS1   ; VSTUP NAHRADNIHO CISLA
 1425     FC07    4F                            MOV     C,A     ; DOLNI CIFRA DO <C>
 1426     FC08    78                            MOV     A,B     ; HORNI CIFRA DO <A>
 1427     FC09    0F                            RRC
 1428     FC0A    0F                            RRC
 1429     FC0B    0F                            RRC
 1430     FC0C    0F                            RRC             ; NASOBENI HORNI CIFRY * 16
 1431     FC0D    81                            ADD     C       ; PRICTENI DOLNI CIFRY
 1432     FC0E    77                            MOV     M,A     ; ULOZENI NOVEHO OBSAHU RAM
 1433     FC0F    C3 FC13                       JMP     SUBS4   ; NOVA BUNKA
 1434     FC12    70                    SUBS3:  MOV     M,B     ; ULOZENI JEDNOCIFERNEHO CISLA
 1435     FC13    23                    SUBS4:  INX     H       ; INKREMENTACE UKAZATELE PAMETI
 1436     FC14    CD FB0C                       CALL    CRLF    ; PRECHOD NA NOVY RADEK
 1437     FC17    C3 FBDD                       JMP     SUBS0   ; DALSI BUNKA
 1438                                   ;
 1439                                   ;
 1440                                   ;
 1441                                   ;
 1442                                   ;
 1443                                   ;       G O T O
 1444                                   ;       =======
 1445                                   ;
 1446                                   ; PRIKAZ GOTO UMOZNUJE START UZIVATELSKYCH PROGRAMU.
 1447                                   ; MA DVA VSTUPNI PARAMETRY: STARTOVACI ADRESU PROGRAMU
 1448                                   ; A NEPOVINNOU (PRI STISKU "SP" PO START. ADRESE) ADRESU
 1449                                   ; PRERUSENI BEHU PROGRAMU S VYPISEM OBSAHU REGISTRU (V
 1450                                   ; TOMTO PRIPADE SE NA ADRESU 38H UKLADA SKOK DO INTER).
 1451                                   ; OBSAHY ZUSTAVAJI ZACHOVANY V PRACOVNI OBLASTI PAMETI A
 1452                                   ; OBNOVI SE PRI OPETNEM SPUSTENI PROGRAMU PRIKAZEM GOTO.
 1453                                   ; PRI SPOUSTENI PROGRAMU LZE POCATECNI HODNOTY REGISTRU
 1454                                   ; CPU NASTAVIT NAPR. PRIKAZEM SUBST V PRISLUSNE PRACOVNI
 1455                                   ; OBLASTI PAMETI (SPREG - HREG).
 1456                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-26


 1457     FC1A    E1                    GOTO:   POP     H       ; SPLACHNUTI NAVRATOVE ADR. NA NEXT
 1458     FC1B    21 0072                       LXI     H,BRCODE ; ODSTUP PROMENNE 'BRCODE'
 1459     FC1E    CD FA01                       CALL    GETADR  ; ADRESA PROMENNE 'BRCODE' DO <HL>
 1460     FC21    36 FF                         MVI     M,0FFH  ; VYPLNENI PROMENNE 'BRCODE'
 1461     FC23    0D                            DCR     C       ; VSTUP JEDINEHO PARAMETRU
 1462     FC24    CD FA8A                       CALL    EXPR    ; VSTUP STARTOVACI ADRESY
 1463     FC27    DA FC47                       JC      GOTO0   ; NEBUDE ADRESA PRERUSENI ?
 1464     FC2A    21 0038                       LXI     H,INTADR
 1465     FC2D    11 FB12                       LXI     D,INTER
 1466     FC30    CD F9CA                       CALL    STJMA   ; NASTAVENI SKOKU OBSLUHY RST 7
 1467     FC33    0E 01                         MVI     C,1
 1468     FC35    CD FA8A                       CALL    EXPR    ; VSTUP ADRESY PRERUSENI
 1469     FC38    D1                            POP     D       ; ADRESA PRERUSENI DO <DE>
 1470     FC39    21 0070                       LXI     H,BRADR ; ODSTUP PROMENNE 'BRADR'
 1471     FC3C    CD FA01                       CALL    GETADR  ; ADRESA PROMENNE 'BRADR'
 1472     FC3F    CD F9CD                       CALL    STJMB   ; ULOZENI ADRESY PRERUSENI DO 'BRADR'
 1473     FC42    1A                            LDAX    D       ; KOD INSTRUKCE NA ADRESE PRERUSENI
 1474     FC43    77                            MOV     M,A     ; ULOZENI TOHOTO KODU DO 'BRCODE'
 1475     FC44    3E FF                         MVI     A,0FFH  ; KOD INSTRUKCE RST7
 1476     FC46    12                            STAX    D       ; ULOZENI KODU RST7 NA ADRESU PRERUSENI
 1477     FC47    CD F9C1               GOTO0:  CALL    GETSPR  ; ADRESA PROMENNE 'SPREG'
 1478     FC4A    5E                            MOV     E,M
 1479     FC4B    23                            INX     H
 1480     FC4C    56                            MOV     D,M     ; V <DE> NOVY OBSAH UKAZATELE ZASOBNIKU
 1481     FC4D    23                            INX     H
 1482     FC4E    0E 08                         MVI     C,8
 1483     FC50    7E                    GOTO1:  MOV     A,M     ; CTENI OBSAHU REGISTRU Z PR. OBL. RAM
 1484     FC51    1B                            DCX     D
 1485     FC52    23                            INX     H
 1486     FC53    12                            STAX    D       ; UKLADANI OBSAHU REG. DO NOVEHO ZAS.
 1487     FC54    0D                            DCR     C
 1488     FC55    C2 FC50                       JNZ     GOTO1   ; VSECHNY REGISTRY ULOZENY ?
 1489     FC58    EB                            XCHG            ; VRCHOL NOVEHO ZASOBNIKU V <HL>
 1490     FC59    D1                            POP     D       ; STARTOVACI ADRESA V <DE>
 1491     FC5A    F9                            SPHL            ; NASTAVENI NOVEHO OBSAHU UKAZATELE
 1492     FC5B    F1                            POP     PSW
 1493     FC5C    C1                            POP     B
 1494     FC5D    E1                            POP     H
 1495     FC5E    EB                            XCHG
 1496     FC5F    E3                            XTHL            ; NASTAVENI POC. OBSAHU REGISTRU
 1497     FC60    C9                            RET             ; SKOK DO UZIV. PROGRAMU
 1498                                   ;
 1499                                   ;
 1500                                   ;       D I S P L
 1501                                   ;       =========
 1502                                   ;
 1503                                   ; PRIKAZ DISPL UMOZNUJE ZOBRAZIT LIBOVOLNEHO USEKU
 1504                                   ; PAMETI. MA DVA OPERANDY: POCATECNI A KONCOVOU ADRESU
 1505                                   ; ZOBRAZOVANE OBLASTI. INFORMACE JE ZOBRAZOVANA HEXA-
 1506                                   ; DECIMALNE I POMOCI ASCII ZNAKU. TAM, KDE JE OBSAH BYTU
 1507                                   ; KODEM MALEHO PISMENE NEBO RIDICIHO ZNAKU, ZOBRAZI
 1508                                   ; SE V DOPLNKOVEM POLI TECKA.
 1509                                   ;
 1510     FC61    CD FA8A               DISPL:  CALL    EXPR    ; VSTUP DVOU ADRES
 1511     FC64    D1                            POP     D       ; KONCOVA ADRESA
 1512     FC65    13                            INX     D       ; INKREMENTACE <DE> PRO UKONCENI
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-27


 1513     FC66    E1                            POP     H       ; POCATECNI ADRESA
 1514     FC67    CD FE69               DISP0:  CALL    CSTS    ; STATUS KONZOLY ?
 1515     FC6A    CA FC77                       JZ      DISP1   ; NEBILA STISKNUTA KLAVESA ?
 1516     FC6D    CD FE7A                       CALL    CI      ; VSTUP ZNAKU
 1517     FC70    CD F9F5                       CALL    ANAL    ; JEHO ANALIZA
 1518     FC73    D8                            RC              ; POKUT JDE O 'CR' - KONEC
 1519     FC74    CD FE7A                       CALL    CI      ; POKUT NE, POKRACUJ PO DALSIM ZNAKU
 1520     FC77    CD FB0C               DISP1:  CALL    CRLF    ; PRECHOD NA NOVY RADEK
 1521     FC7A    CD FA76                       CALL    SDADR   ; ZOBRAZENI ADRESY OSMICE
 1522     FC7D    CD FA79                       CALL    SPACE   ; MEZERY NA DISPLAY
 1523     FC80    E5                            PUSH    H       ; ADRESA OSMICE DO ZASOBNIKU
 1524     FC81    06 08                         MVI     B,8     ; CITAC ZNAKU
 1525     FC83    7E                    DISP2:  MOV     A,M     ; PRECTI ZNAK
 1526     FC84    CD FA11                       CALL    DBYTE   ; ZOBRAZ HEX OBSA BUNKY
 1527     FC87    CD FA79                       CALL    SPACE   ; MEZERA NA DISPLAY
 1528     FC8A    CD FDE4                       CALL    HILO    ; INKREMENTACE <HL> A SROVNANI S <DE>
 1529     FC8D    CA FC94                       JZ      DISP3   ; PRECTEN CELY POZADOVANY USEK PAMETI?
 1530     FC90    05                            DCR     B       ; DEKREMENTACE CITACE BUNEK
 1531     FC91    C2 FC83                       JNZ     DISP2   ; PRECTENA CELA OSMICE ?
 1532     FC94    E1                    DISP3:  POP     H       ; OBNOVENI ADRESY OSMICE
 1533     FC95    06 08                         MVI     B,8     ; CITAC ZNAKU
 1534     FC97    CD FA79                       CALL    SPACE   ; MEZERA NA DISPLAY
 1535     FC9A    E5                            PUSH    H
 1536     FC9B    CD F9B3                       CALL    GETCHR  ; ADRESA CITACE ZNAKU DO <HL>
 1537     FC9E    36 1F                         MVI     M,1FH
 1538     FCA0    E1                            POP     H       ; POSUN KURZORU NA URCENOU POZICI
 1539     FCA1    7E                    DISP4:  MOV     A,M     ; PRICTI ZNAK
 1540     FCA2    4F                            MOV     C,A     ; ULOZ HO DO <C>
 1541     FCA3    D6 20                         SUI     20H     ; JDE O RIDICI ZNAK ?
 1542     FCA5    DA FCAD                       JC      DISP5   ; ANO - ZOBRAZ TECKU
 1543     FCA8    D6 40                         SUI     40H     ; JDE O MALE PISMENO ?
 1544     FCAA    DA FCAF                       JC      DISP6   ; ANO - ZOBRAZ TECKU
 1545     FCAD    0E 2E                 DISP5:  MVI     C,2EH   ; KOD TECKY DO <C>
 1546     FCAF    CD FA21               DISP6:  CALL    CO      ; ZOBRAZENI ZNAKU NEBO TECKY
 1547     FCB2    CD FDE4                       CALL    HILO    ; INKREMENTACE <HL> A SROVNANI S <DE>
 1548     FCB5    C8                            RZ              ; ZOBRAZEN CELI USEK PAMETI ?
 1549     FCB6    05                            DCR     B
 1550     FCB7    C2 FCA1                       JNZ     DISP4   ; ZOBRAZENA CELA OSMICE ?
 1551     FCBA    C3 FC67                       JMP     DISP0   ; ZOBRAZENI DALSI OSMICE
 1552                                   ;
 1553                                   ;
 1554                                   ;
 1555                                   ;       F I L L
 1556                                   ;       =======
 1557                                   ;
 1558                                   ; PRIKAZ FILL ZAPLNI OBSAH URCENE OBLASTI PAMETI ZADANYM
 1559                                   ; ZNAKEM. MA TRI OPERANDY: POCATECNI A KONCOVOU ADRESU
 1560                                   ; PAMETOVE OBLASTI A HEXADECIMALNI JEDNOBYTOVY OBSAH.
 1561                                   ;
 1562     FCBD    CD FCC8               FILL:   CALL    INADR   ; VSTUP TRI PARAMETRU
 1563     FCC0    71                    FILL0:  MOV     M,C     ; PREPIS BUNKY PAMETI
 1564     FCC1    CD FDE4                       CALL    HILO    ; INKREMANTACE <HL> A SROVNANI S <DE>
 1565     FCC4    C2 FCC0                       JNZ     FILL0   ; ZAPLNEN CELY USEK?
 1566     FCC7    C9                            RET
 1567                                   ;
 1568                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-28


 1569                                   ;
 1570                                   ;
 1571     FCC8    0C                    INADR:  INR     C       ; PRI PARAMETRY
 1572     FCC9    CD FA8A                       CALL    EXPR    ; VSTUP DVOU ADRES A OBSAHU
 1573     FCCC    C1                            POP     B       ; OBSAH DO <C>
 1574     FCCD    D1                            POP     D       ; KONCOVA ADRESA DO <DE>
 1575     FCCE    E1                            POP     H       ; POCATECNI ADRESA DO <HL>
 1576     FCCF    C9                            RET
 1577                                   ;
 1578                                   ;
 1579                                   ;
 1580                                   ;
 1581                                   ;       M O V E
 1582                                   ;       =======
 1583                                   ;
 1584                                   ; PRIKAZ MOVE PRENASI OBSAH ZADANE OBLASTI PAMETI NA
 1585                                   ; JINE MISTO V PAMETI. MA TRI VSTUPNI PARAMETRY: POCA-
 1586                                   ; TECNI A KONCOVOU ADRESU ZDROJOVE OBLASTI A ADRESU URCENI
 1587                                   ;
 1588     FCD0    CD FCC8               MOVE:   CALL    INADR   ; VSTUP TRI PARAMETRU
 1589     FCD3    7E                    MOVE0:  MOV     A,M     ; CTENI BYTU
 1590     FCD4    02                            STAX    B       ; ULOZENI BYTU
 1591     FCD5    03                            INX     B       ; INKREMENTACE KAM
 1592     FCD6    CD FDE4                       CALL    HILO    ; INKREMENTACE ODKUD A SROVNANI S POKUD
 1593     FCD9    C2 FCD3                       JNZ     MOVE0   ; PRENESENA CELA OBLAST ?
 1594     FCDC    C9                            RET
 1595                                   ;
 1596                                   ;
 1597                                   ;
 1598                                   ;       O U T P U T
 1599                                   ;       ===========
 1600                                   ;
 1601                                   ; PRIKAZ OUTPUT UMOZNUJE ZAPSAT NA LIBOVOLNY PORT
 1602                                   ; ZADANOU HODNOTU
 1603                                   ;
 1604     FCDD    CD FA8A               OUTPT:  CALL    EXPR
 1605     FCE0    C1                            POP     B       ; VYSLANY OBSAH <C>
 1606     FCE1    D1                            POP     D       ; CISLO PORTU V <E>
 1607     FCE2    21 007D                       LXI     H,INOUT ; ODSTUP PROMENNE OPOUT
 1608     FCE5    CD FA01                       CALL    GETADR  ; ADRESA PROMENNE OPOUT V <HL>
 1609     FCE8    E5                            PUSH    H       ; ULOZENI STARTOVACI ADRESY
 1610     FCE9    36 D3                         MVI     M,0D3H  ; KOD INSTRUKCE OUT
 1611     FCEB    23                            INX     H
 1612     FCEC    73                            MOV     M,E     ; CISLO PORTU
 1613     FCED    23                            INX     H
 1614     FCEE    36 C9                         MVI     M,0C9H  ; KOD INSTRUKCE RET
 1615     FCF0    21 FCF6                       LXI     H,OUTP0 ; NAVRATOVA ADRESA
 1616     FCF3    E3                            XTHL            ; MAVR. ADR. V [<SP>], START. V <HL>
 1617     FCF4    79                            MOV     A,C     ; VYSILANY OBSAH
 1618     FCF5    E9                            PCHL            ; SIMULACE INSTRUKCE CALL OPOUT
 1619     FCF6    C9                    OUTP0:  RET
 1620                                   ;
 1621                                   ;
 1622                                   ;
 1623                                   ;       I N P U T
 1624                                   ;       =========
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-29


 1625                                   ;
 1626                                   ; PRIKAZ INPUT UMOZNUJE PRECIST HODNOTU LIBOVOLNEHO
 1627                                   ; PORTU (0-FF) A ZOBRAZIT JI NA DISPLEJ. K TOMU POU-
 1628                                   ; ZIVA OBLASTI VYHRAZENE PAMETI, KAM SIMULUJE KOD
 1629                                   ; INSTRUKCE IN.
 1630                                   ;
 1631     FCF7    0D                    INPUT:  DCR     C
 1632     FCF8    CD FA8A                       CALL    EXPR    ; VSTUP CISLA PORTU
 1633     FCFB    C1                            POP     B       ; ULOZENI CISLA PORTU DO <C>
 1634     FCFC    21 007D                       LXI     H,INOUT
 1635     FCFF    CD FA01                       CALL    GETADR  ; V <HL> ADRESA POM. USEKU PAMETI
 1636     FD02    E5                            PUSH    H
 1637     FD03    36 DB                         MVI     M,0DBH  ; INSTRUKCE IN
 1638     FD05    23                            INX     H
 1639     FD06    71                            MOV     M,C     ; ADRESA PORTU
 1640     FD07    23                            INX     H
 1641     FD08    36 C9                         MVI     M,0C9H  ; INSTRUKCE RET
 1642     FD0A    21 FD0F                       LXI     H,INPU0
 1643     FD0D    E3                            XTHL            ; NAVRATOVA ADRESA
 1644     FD0E    E9                            PCHL            ; SIMULACE INSTRUKCE CALL
 1645     FD0F    CD FA82               INPU0:  CALL    EQUATE
 1646     FD12    CD FA11                       CALL    DBYTE   ; ZOBRAZENI OBSAHU PORTU
 1647     FD15    C9                            RET
 1648                                   ;
 1649                                   ;
 1650                                   ;
 1651                                   ;******************************************************************
 1652                                   ;
 1653                                   ;       POMOCNE PODPROGRAMY
 1654                                   ;       *******************
 1655                                   ;
 1656                                   ;
 1657                                   ;      I M T E X T
 1658                                   ;      ===========
 1659                                   ;
 1660                                   ; PODPROGRAM IMTEXT UMOZNUJE VYPIS RETEZCU ZNAKU
 1661                                   ; UMISTENEHO BAZPROSTREDNE ZA VOLANIM NA OBRAZOVKU,
 1662                                   ; POSLEDNIM (TISKNUTYM) ZNAKEM JE ZNAK D D7=1.
 1663                                   ; POZOR: NESTANDARTNE POUZIVA ZASOBNIK.
 1664                                   ;
 1665                                   ; POSKOZENE REGISTRY: H,L,C,A,F
 1666                                   ;
 1667     FD16    E3                    IMTEXT: XTHL
 1668     FD17    7E                    IMTX0:  MOV     A,M     ; CTI ZNAK
 1669     FD18    E6 7F                         ANI     7FH     ; VYBER ASCII BITY
 1670     FD1A    4F                            MOV     C,A
 1671     FD1B    CD FA21                       CALL    CO      ; ZOBRAZ ZNAK
 1672     FD1E    7E                            MOV     A,M
 1673     FD1F    07                            RLC             ; POSLEDNI ZNAK ?
 1674     FD20    23                            INX     H
 1675     FD21    D2 FD17                       JNC     IMTX0   ; NE - ZABRAZ DALSI ZNAK
 1676     FD24    E3                            XTHL
 1677     FD25    C9                            RET
 1678                                   ;
 1679                                   ;
 1680                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-30


 1681                                   ;       I N V C H R
 1682                                   ;       ===========
 1683                                   ;
 1684                                   ; PODPROGRAM INVCHR UMOZNUJE INVERTOVAT ZOBRAZOVANI
 1685                                   ; ZNAKU NA OBRAZOVCE (BILY ZNAK A CERNE POZADI CI
 1686                                   ; NAOPAK). PRI NASTAVENEM FF-Z PROVEDE INVERZI DOSAVAD-
 1687                                   ; NIHO STAVU, PRI NULOVEM FF-Z NASTAVI VZDY D7
 1688                                   ; KODU ZNAKU DANEHO KURZOREM DO NULY.
 1689                                   ;
 1690                                   ; POSKOZENE REGISTRY: - - -
 1691                                   ;
 1692     FD26    F5                    INVCHR: PUSH    PSW
 1693     FD27    E5                            PUSH    H
 1694     FD28    CD F9D2                       CALL    ADRKUP  ; ADRESA ZNAKU DO <HL>
 1695     FD2B    7E                            MOV     A,M     ; CTENI KODU ZNAKU
 1696     FD2C    17                            RAL             ; D7 ZNAK DO FF-C
 1697     FD2D    CA FD31                       JZ      INVC0   ; INVERTOVAT ?
 1698     FD30    37                            STC             ; D7 DO 1
 1699     FD31    3F                    INVC0:  CMC             ; INVERZE D7
 1700     FD32    1F                            RAR             ; OBNOVENI KODU ZNAKU S UPRAVENYM D7
 1701     FD33    77                            MOV     M,A     ; PREPIS KODU ZNAKU
 1702     FD34    E1                            POP     H
 1703     FD35    F1                            POP     PSW
 1704     FD36    C9                            RET
 1705                                   ;
 1706                                   ;
 1707                                   ;
 1708                                   ;
 1709                                   ;       R O L L
 1710                                   ;       =======
 1711                                   ;
 1712                                   ; PODPROGRAM ROLL PROVADI ROLOVANI OBSAHU OBRAZOVKY
 1713                                   ; (TJ. OBRAZOVE PAMETI DISRAM) O JEDEN RADEK NAHORU.
 1714                                   ; PRITOM HORNI RADEK SE ZTRACI, SPODNI RADEK ZUSTAVA
 1715                                   ; NEPORUSEN (ZDVOJUJE SE).
 1716                                   ;
 1717                                   ; POSKOZENE REGISTRY: - - -
 1718                                   ;
 1719     FD37    F5                    ROLL:   PUSH    PSW
 1720     FD38    C5                            PUSH    B
 1721     FD39    D5                            PUSH    D
 1722     FD3A    E5                            PUSH    H       ; UKLID VSEHO
 1723     FD3B    CD F9A2                       CALL    NUMCHR
 1724     FD3E    46                            MOV     B,M     ; POCET ZNAKU
 1725     FD3F    CD F99B                       CALL    NUMLIN
 1726     FD42    4E                            MOV     C,M     ; POCET ROLOVANYCH RADKU V <C>
 1727     FD43    79                            MOV     A,C
 1728     FD44    B7                            ORA     A
 1729     FD45    FE 00                         CPI     0
 1730     FD47    CA FD73                       JZ      ROLL2
 1731     FD4A    2A 0004                       LHLD    RAMEND
 1732     FD4D    23                            INX     H       ; <HL> ADRESA 0. RADKU
 1733     FD4E    11 FFC0                       LXI     D,-64   ; ZAPORNY POCET BYTE NA RADKU
 1734     FD51    EB                            XCHG
 1735     FD52    19                            DAD     D       ; <DE> ADRESA -1. RADKU
 1736     FD53    EB                            XCHG
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-31


 1737     FD54    D5                            PUSH    D
 1738     FD55    E5                            PUSH    H
 1739     FD56    E1                    ROLL0:  POP     H
 1740     FD57    D1                            POP     D
 1741     FD58    C5                            PUSH    B
 1742     FD59    01 0040                       LXI     B,64    ; POCET BYTU NA RADEK
 1743     FD5C    09                            DAD     B
 1744     FD5D    EB                            XCHG
 1745     FD5E    09                            DAD     B       ; <HL> ADRESA I+1 NIHO RADKU
 1746     FD5F    EB                            XCHG            ; <DE> ADRESA I TEHO RADKU
 1747     FD60    C1                            POP     B       ; <B> CITAC ZNAKU, <C> CITAC RADKU
 1748     FD61    D5                            PUSH    D
 1749     FD62    E5                            PUSH    H
 1750     FD63    7E                    ROLL1:  MOV     A,M
 1751     FD64    12                            STAX    D
 1752     FD65    13                            INX     D
 1753     FD66    23                            INX     H
 1754     FD67    05                            DCR     B
 1755     FD68    F2 FD63                       JP      ROLL1   ; ROLOVANY VSECHNY ZNAKY?
 1756     FD6B    CD F9A2                       CALL    NUMCHR
 1757     FD6E    46                            MOV     B,M
 1758     FD6F    0D                            DCR     C
 1759     FD70    C2 FD56                       JNZ     ROLL0   ; ROLOVANY VSECHNY RADKY?
 1760     FD73    E1                    ROLL2:  POP     H
 1761     FD74    D1                            POP     D
 1762     FD75    E1                            POP     H
 1763     FD76    D1                            POP     D
 1764     FD77    C1                            POP     B
 1765     FD78    F1                            POP     PSW
 1766     FD79    C9                            RET
 1767                                   ;
 1768                                   ;
 1769                                   ;
 1770                                   ;       G H O M E
 1771                                   ;       =========
 1772                                   ;
 1773                                   ; PODPROGRAM GHOME PREMISTI KURZOR DO LEVEHO HORNIHO
 1774                                   ; ROHU OBRAZOVKY.
 1775                                   ;
 1776                                   ; POSKOZENE REGISTRY:  - - -
 1777                                   ;
 1778     FD7A    E5                    GHOME:  PUSH    H
 1779     FD7B    CD F99B                       CALL    NUMLIN  ; ADRESA POCTU RADKU
 1780     FD7E    2B                            DCX     H
 1781     FD7F    36 00                         MVI     M,0     ; VYNULOVANI CITACE ZNAKU
 1782     FD81    2B                            DCX     H
 1783     FD82    36 00                         MVI     M,0     ; VYNULOVANI CITACE RADKU
 1784     FD84    E1                            POP     H
 1785     FD85    C9                            RET
 1786                                   ;
 1787                                   ;
 1788                                   ;
 1789                                   ;       F O R F I
 1790                                   ;       =========
 1791                                   ; PODPROGRAM FORFI PROVEDE VYMAZ CELE OBRAZOVKY A UMISTI
 1792                                   ; KURZOR DO LENEHO HORNIHO ROHU OBRAZOVKY.
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-32


 1793                                   ;
 1794                                   ; POSKOZENE REGISTRY: - - -
 1795                                   ;
 1796     FD86    CD FD7A               FORFI:  CALL    GHOME   ; KURZOR DO LEVEHO HORNIHO ROHU
 1797                                   ;
 1798                                   ;
 1799                                   ;
 1800                                   ;       D E L S C R
 1801                                   ;       ===========
 1802                                   ;
 1803                                   ; PODPROGRAM DELSCR PROVEDE VYMAZ OBRAZOVKY POCITACE
 1804                                   ; (VCETNE) RADKU, NA KTEREM JE KURZOR.
 1805                                   ;
 1806                                   ; POSKOZENE REGISTRY: - - -
 1807                                   ;
 1808     FD89    F5                    DELSCR: PUSH    PSW
 1809     FD8A    C5                            PUSH    B
 1810     FD8B    D5                            PUSH    D
 1811     FD8C    E5                            PUSH    H
 1812     FD8D    CD F99B                       CALL    NUMLIN
 1813     FD90    4E                            MOV     C,M     ; POCET RADKU
 1814     FD91    CD FD7A                       CALL    GHOME
 1815     FD94    CD F9AD                       CALL    GETLIN  ; <HL> CITAC RADKU
 1816     FD97    CD FDC9               DELS0:  CALL    DELLIN  ; VYMAZ RADKU
 1817     FD9A    34                            INR     M
 1818     FD9B    0D                            DCR     C
 1819     FD9C    F2 FD97                       JP      DELS0   ; VSECHNY RADKY?
 1820     FD9F    CD FD7A                       CALL    GHOME
 1821     FDA2    E1                            POP     H
 1822     FDA3    D1                            POP     D
 1823     FDA4    C1                            POP     B
 1824     FDA5    F1                            POP     PSW
 1825     FDA6    C9                            RET
 1826                                   ;
 1827                                   ;
 1828                                   ;
 1829                                   ;       B A C S T
 1830                                   ;       =========
 1831                                   ;
 1832                                   ; PODPROGRAM BACST POSOUVA KURZOR O JEDNU POZICI
 1833                                   ; DOLEVA. PRI DOSAZENI PRVNIHO ZNAKU NA PRVNIM RADKU
 1834                                   ; ZADNOU DALSI CINNOST NEPROVADI.
 1835                                   ;
 1836                                   ; POSKOZENE REGISTRY: - - -
 1837                                   ;
 1838     FDA7    F5                    BACST:  PUSH    PSW
 1839     FDA8    E5                            PUSH    H
 1840     FDA9    CD F9B3                       CALL    GETCHR  ; POCET ZNAKU V <A>, ADRESA CITACE V <HL>
 1841     FDAC    3D                            DCR     A
 1842     FDAD    FA FDB4                       JM      BAC0    ; NA ZACATKU RADKY ?
 1843     FDB0    77                            MOV     M,A
 1844     FDB1    C3 FDC6                       JMP     BAC1
 1845     FDB4    CD F9AD               BAC0:   CALL    GETLIN
 1846     FDB7    3D                            DCR     A
 1847     FDB8    FA FDC6                       JM      BAC1    ; NA PRVNIM RADKU ?
 1848     FDBB    77                    BAC2:   MOV     M,A
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-33


 1849     FDBC    CD F9B3                       CALL    GETCHR
 1850     FDBF    E5                            PUSH    H
 1851     FDC0    CD F9A2                       CALL    NUMCHR
 1852     FDC3    7E                            MOV     A,M     ; POCET ZNAKU
 1853     FDC4    E1                            POP     H
 1854     FDC5    77                            MOV     M,A     ; KURZOR NA KONEC PREDCHOZIHO RADKU
 1855     FDC6    E1                    BAC1:   POP     H
 1856     FDC7    F1                            POP     PSW
 1857     FDC8    C9                            RET
 1858                                   ;
 1859                                   ;
 1860                                   ;
 1861                                   ;       D E L L I N
 1862                                   ;       ===========
 1863                                   ;
 1864                                   ; PODPROGRAM DELLIN VYMAZE RADEK OD MISTA KURZORU.
 1865                                   ;
 1866                                   ; POSKOZENE REGISTRY: - - -
 1867                                   ;
 1868     FDC9    F5                    DELLIN: PUSH    PSW
 1869     FDCA    C5                            PUSH    B
 1870     FDCB    E5                            PUSH    H
 1871     FDCC    CD F9B3                       CALL    GETCHR  ; POCET ZOBRAZENYCH ZNAKU V <A>
 1872     FDCF    2F                            CMA             ; DOPLNEK
 1873     FDD0    3C                            INR     A
 1874     FDD1    CD F9A2                       CALL    NUMCHR
 1875     FDD4    86                            ADD     M       ; POCET MAZANYCH ZNAKU V <A>
 1876     FDD5    47                            MOV     B,A
 1877     FDD6    CD F9D2                       CALL    ADRKUP  ; ADRESA KURZORU
 1878     FDD9    36 20                 DELL0:  MVI     M,SPC   ; ZNAK MEZERA
 1879     FDDB    23                            INX     H
 1880     FDDC    05                            DCR     B
 1881     FDDD    F2 FDD9                       JP      DELL0   ; VYMAZAN CELI RADEK ?
 1882     FDE0    E1                            POP     H
 1883     FDE1    C1                            POP     B
 1884     FDE2    F1                            POP     PSW
 1885     FDE3    C9                            RET
 1886                                   ;
 1887                                   ;
 1888                                   ;
 1889                                   ;       H I L O
 1890                                   ;       =======
 1891                                   ;
 1892                                   ; PODPROGRAM HILO PROVEDE INKREMENTACI PARU <HL> A
 1893                                   ; JEHO SROVNANI S PAREM <DE>. VYSLEDEK ULOZI DO PRIZNA-
 1894                                   ; KU FF-Z. PODPROGRAM COMP PROVADI POUZE SROVNANI.
 1895                                   ; PRI NASTAVENEM FF-C JE <HL> > <DE>.
 1896                                   ; POKUT JE <HL>=FFFFH UKONCI SE S FF-Z=1, FF-C=1.
 1897                                   ;
 1898                                   ; POSKOZENE REGISTRY: A,F,H,L
 1899                                   ;
 1900     FDE4    23                    HILO:   INX     H       ; INKREMENTACE <HL>
 1901     FDE5    7C                            MOV     A,H
 1902     FDE6    B5                            ORA     L
 1903     FDE7    37                            STC
 1904     FDE8    C8                            RZ              ; NAVRAT PRI <HL>=0000, FF-Z = 1, FF-C = 1
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-34


 1905     FDE9    7A                    COMP:   MOV     A,D
 1906     FDEA    BC                            CMP     H       ; SROVNANI <H> S <D>
 1907     FDEB    C0                            RNZ             ; NAVRAT PRI NEROVNOSTI, FF-Z = 0, FF-C...VZTAH
 1908     FDEC    7B                            MOV     A,E     ; MEZI <HL> A <DE>
 1909     FDED    BD                            CMP     L       ; SROVNANI <L> S <E>
 1910     FDEE    C9                            RET             ; PRI ROVNOSTI <HL>=<DE>...FF-Z = 1, FF-C = 0
 1911                                   ;
 1912                                   ;
 1913                                   ;
 1914                                   ;       B E E P S
 1915                                   ;       =========
 1916                                   ;
 1917                                   ; PODPROGRAM BEEP PROVADI GENERACI ZVUKOVEHO
 1918                                   ; SIGNALU ZADANE DELKY BEEPLN A VYSKY BEEPFQ.
 1919                                   ;
 1920                                   ;       POSKOZENE REGISTRY: - - -
 1921                                   ;
 1922     FDEF    F5                    BEEPS:  PUSH    PSW
 1923     FDF0    D5                            PUSH    D
 1924     FDF1    16 50                         MVI     D,BEEPLN        ; DELKA TONU
 1925     FDF3    3E 60                 BEEP0:  MVI     A,BEEPFQ        ; VYSKA TONU
 1926     FDF5    3D                    BEEP1:  DCR     A
 1927     FDF6    C2 FDF5                       JNZ     BEEP1
 1928     FDF9    15                            DCR     D       ; CIKLUS PRO DELKU
 1929     FDFA    D3 10                         OUT     ADRBIP  ; BUZENI REPRODUKTORU
 1930     FDFC    C2 FDF3                       JNZ     BEEP0   ; UKONCIT TON ?
 1931     FDFF    D1                            POP     D
 1932     FE00    F1                            POP     PSW
 1933     FE01    C9                            RET
 1934                                   ;
 1935                                   ;
 1936                                   ;
 1937                                   ;       T I M E R
 1938                                   ;       =========
 1939                                   ;
 1940                                   ; PODPROGRAM V VYTVORENI PRODLEVY <BC> MILISEKUND.
 1941                                   ;
 1942                                   ; POSKOZENE REGISTRY:
 1943                                   ;
 1944     FE02    F5                    TIMER:  PUSH    PSW
 1945     FE03    C5                            PUSH    B
 1946     FE04    3E 6F                 TIME0:  MVI     A,6FH
 1947     FE06    3D                    TIME1:  DCR     A
 1948     FE07    C2 FE06                       JNZ     TIME1
 1949     FE0A    0B                            DCX     B
 1950     FE0B    78                            MOV     A,B
 1951     FE0C    B1                            ORA     C
 1952     FE0D    C2 FE04                       JNZ     TIME0
 1953     FE10    C1                            POP     B
 1954     FE11    F1                            POP     PSW
 1955     FE12    C9                            RET
 1956                                   ;
 1957                                   ;
 1958                                   ;
 1959                                   ;       M E M C K
 1960                                   ;       =========
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-35


 1961                                   ;
 1962                                   ;
 1963                                   ; PODPROGRAM MEMCK ULOZI DO REGISTRU <B> HORNI A DO REGISTRU
 1964                                   ; <A> DOLNI BYTE ADRESY KONCE UZIVATELSKE PAMETI. TU ZISKA TAK,
 1965                                   ; ZE OD ADRESY PONCE PAMETI RAM 'RAMEND' ODECTE DELKU ZASOBNIKU
 1966                                   ; STKLN.
 1967                                   ;
 1968                                   ; POSKOZENE REGISTRY: A,F,B
 1969                                   ;
 1970     FE13    E5                    MEMCK:  PUSH    H
 1971     FE14    21 0031                       LXI     H,UREND ; PROMENA S KONCEM UZIV. RAM
 1972     FE17    CD F9B6                       CALL    GETC0   ; VYPOCET ADRESY PROMENNE A CTENI NIZSIHO BYTU
 1973     FE1A    23                            INX     H
 1974     FE1B    46                            MOV     B,M     ; VYSSI BYTE
 1975     FE1C    E1                            POP     H
 1976     FE1D    C9                            RET
 1977                                   ;
 1978                                   ;
 1979                                   ;
 1980                                   ;       I O C H K
 1981                                   ;       =========
 1982                                   ;
 1983                                   ;
 1984                                   ; PODPROGRAM IOCHK ULOZI DO REGISTRU <A> PLATNY I.O-BYT,
 1985                                   ; TJ. OBSAH ADRESY 0003H.
 1986                                   ;
 1987                                   ; POSKOZENE REGISTRY: A
 1988                                   ;
 1989     FE1E    3A 0003               IOCHK:  LDA     IOBYT
 1990     FE21    C9                            RET
 1991                                   ;
 1992                                   ;
 1993                                   ;
 1994                                   ;
 1995                                   ;       I O S E T
 1996                                   ;       =========
 1997                                   ;
 1998                                   ;
 1999                                   ; PODPROGRAM IOSET PROVEDE ULOZENI OBSAHU REGISTRU <C> NA
 2000                                   ; ADRESU 0003H, TJ. UPRAVU STAVAJICIHO I/O-BYTU.
 2001                                   ;
 2002                                   ; POSKOZENE REGISTRY: - - -
 2003                                   ;
 2004     FE22    F5                    IOSET:  PUSH    PSW
 2005     FE23    79                            MOV     A,C     ; NOVY I/O-BYTE
 2006     FE24    32 0003                       STA     IOBYT   ; ULOZENI NOVEHO I/O-BYTU
 2007     FE27    F1                            POP     PSW
 2008     FE28    C9                            RET
 2009                                   ;
 2010                                   ;
 2011                                   ;
 2012                                   ;
 2013                                   ;       L O
 2014                                   ;       ===
 2015                                   ;
 2016                                   ; JDE O SKOK NA SPOJOVACI ADRESU PRO VYSTUP NA TISKARNU.
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-36


 2017                                   ;
 2018                                   ; POSKOZENE REGISTRY: - - -
 2019                                   ;
 2020     FE29    E5                    LO:     PUSH    H       ; UKLID <HL>
 2021     FE2A    21 00F3                       LXI     H,LSTOUT
 2022     FE2D    C3 F9A8                       JMP     JADR    ; SKOK NA SPOJOVACI ADRESU
 2023                                   ;
 2024                                   ;
 2025                                   ;
 2026                                   ;
 2027                                   ;       P O
 2028                                   ;       ===
 2029                                   ;
 2030                                   ; JDE O SKOK NA SPOJOVACI ADRESU PRO SERIOVY VYSTUP.
 2031                                   ;
 2032                                   ; POSKOZENE REGISTRY: - - -
 2033                                   ;
 2034     FE30    E5                    PO:     PUSH    H       ; UKLID <HL>
 2035     FE31    21 00BC                       LXI     H,PUNOUT
 2036     FE34    C3 F9A8                       JMP     JADR    ; SKOK NA SPOJOVACI ADRESU
 2037                                   ;
 2038                                   ;
 2039                                   ;
 2040                                   ;       R I
 2041                                   ;       ===
 2042                                   ;
 2043                                   ;
 2044                                   ; JDE O SKOK NA SPOJOVACI ADRESU PRO SERIOVY VSTUP.
 2045                                   ;
 2046                                   ; POSKOZENE REGISTRY: - - -
 2047                                   ;
 2048     FE37    E5                    RI:     PUSH    H       ; UKLID <HL>
 2049     FE38    21 00B6                       LXI     H,READIN
 2050     FE3B    C3 F9A8                       JMP     JADR    ; SKOK NA SPOJOVACI ADRESU
 2051                                   ;
 2052                                   ;
 2053                                   ;
 2054                                   ;       I O D E F
 2055                                   ;       =========
 2056                                   ;
 2057                                   ; PODPROGRAM IODEF UMOZNUJE NASTAVIT UZIVATELSKE ADRESY
 2058                                   ; PRO ZARIZENI. DRUH ZARIZENI JE URCEN OBSAHEM REGISTRU
 2059                                   ; <C> NASLEDOVNE:
 2060                                   ;         0 ... CI
 2061                                   ;         1 ... CO
 2062                                   ;         2 ... RI
 2063                                   ;         3 ... DUMMY
 2064                                   ;         4 ... PO
 2065                                   ;         5 ... DUMMY
 2066                                   ;         6 ... LO
 2067                                   ;         7 ... CSTS
 2068                                   ; ADRESA UZIVATELSKEHO PROGRAMU JE V REGISTRU <DE>.
 2069                                   ;
 2070                                   ; POSKOZENE REGISTRY: A,F
 2071                                   ;
 2072     FE3E    E5                    IODEF:  PUSH    H
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-37


 2073     FE3F    C5                            PUSH    B
 2074     FE40    21 0004                       LXI     H,RAMEND        ; BUNKA S KONCEM RAM
 2075     FE43    79                            MOV     A,C             ; ZARIZENI
 2076     FE44    FE 08                         CPI     8               ; CHYBA?
 2077     FE46    D2 F931                       JNC     ERROR
 2078     FE49    FE 05                         CPI     5
 2079     FE4B    21 00B0                       LXI     H,CONINP        ; ADRESA PRO PRVNI 4 ZARIZENI
 2080     FE4E    DA FE57                       JC      IODEF1
 2081     FE51    D6 05                         SUI     5               ; OPRAVA CISLA ZARIZENI PRO DRUHY BLOK
 2082     FE53    4F                            MOV     C,A
 2083     FE54    21 00F0                       LXI     H,USRPO         ; ADRESA PRO ZBYLE 4 ZARIZENI
 2084     FE57    81                    IODEF1: ADD     C               ; <C> * 3 --> <C>
 2085     FE58    81                            ADD     C
 2086     FE59    4F                            MOV     C,A
 2087     FE5A    06 00                         MVI     B,0
 2088     FE5C    CD FA01                       CALL    GETADR          ; VYPOCET FYZICKYCH SPOJOVACICH ADRES
 2089     FE5F    09                            DAD     B               ; PRICTENI OFFSETU
 2090     FE60    36 C3                         MVI     M,0C3H          ; INSTRUKCE SKOKU
 2091     FE62    23                            INX     H
 2092     FE63    73                            MOV     M,E             ; DOLNI BYTE ADRESY SKOKU
 2093     FE64    23                            INX     H
 2094     FE65    72                            MOV     M,D             ; HORNI BYTE ADRESY SKOKU
 2095     FE66    C1                            POP     B
 2096     FE67    E1                            POP     H
 2097     FE68    C9                            RET
 2098                                   ;
 2099                                   ;
 2100                                   ;
 2101                                   ;       C S T S
 2102                                   ;       =======
 2103                                   ;
 2104                                   ; PODPROGRAM CSTS ZJISTUJE STAV KLAVESNICE:
 2105                                   ; <A> = FFH, FF-Z = 0 ... OBSAHUJE PLATNY ZNAK
 2106                                   ; <A> = 00H, FF-Z = 1 ... NEMA PLATNY ZNAK
 2107                                   ;
 2108                                   ; POSKOZENE REGISTRY: A,F
 2109                                   ;
 2110     FE69    E5                    CSTS:   PUSH    H
 2111     FE6A    21 00F6                       LXI     H,CONSTA        ; ODSTUP SPOJOVACI ADRESY
 2112     FE6D    C3 F9A8                       JMP     JADR            ; SKOK NA SPOJOVACI ADRESU
 2113                                   ;
 2114     FE70    AF                    CSTS1:  XRA     A
 2115     FE71    D3 09                         OUT     ADRPB
 2116     FE73    DB 04                         IN      ADRCIN
 2117     FE75    3C                            INR     A       ; STISKNUTA KLAVESA?
 2118     FE76    C8                            RZ              ; NE
 2119     FE77    3E FF                         MVI     A,0FFH
 2120     FE79    C9                            RET             ; ANO
 2121                                   ;
 2122                                   ;
 2123                                   ;
 2124                                   ;
 2125                                   ;
 2126                                   ;       C I
 2127                                   ;       ===
 2128                                   ;
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-38


 2129                                   ; PODPROGRAM CI UMOZNUJE VSTUP ZNAKU Z KLAVESNICE.
 2130                                   ;
 2131                                   ; POSKOZENE REGISTRY: A,F
 2132                                   ;
 2133     FE7A    E5                    CI:     PUSH    H
 2134     FE7B    21 00B0                       LXI     H,CONINP ; SPOJOVACI ADRESA
 2135     FE7E    C3 F9A8                       JMP     JADR
 2136                                   ;
 2137     FE81    C5                    CI4:    PUSH    B
 2138     FE82    D5                            PUSH    D
 2139     FE83    E5                            PUSH    H
 2140                                   ;
 2141                                   ; INICIALIZACE OBLASTI VZORKU A PROMENNICH
 2142                                   ;
 2143     FE84    CD FFAD               CI1:    CALL    GETKCD  ; ADRESA OBL.VZORKU
 2144     FE87    06 05                         MVI     B,5
 2145     FE89    36 FF                 CI2:    MVI     M,0FFH  ; ZAPLNENA 0FFH
 2146     FE8B    23                            INX     H
 2147     FE8C    05                            DCR     B
 2148     FE8D    F2 FE89                       JP      CI2     ; CELA OBLAST ?
 2149     FE90    36 00                         MVI     M,0     ; UPLO
 2150     FE92    23                            INX     H
 2151     FE93    36 00                         MVI     M,0     ; CTRL
 2152     FE95    23                            INX     H
 2153     FE96    36 00                         MVI     M,0     ; NUM
 2154     FE98    23                            INX     H
 2155     FE99    34                            INR     M       ; CTN
 2156     FE9A    3E 16                         MVI     A,22    ; CIKLUS BLIKANI KURZORU
 2157     FE9C    BE                            CMP     M
 2158     FE9D    CC FD26                       CZ      INVCHR  ; BLIKANI KURZORU
 2159     FEA0    D2 FEA5                       JNC     CI20
 2160     FEA3    36 00                         MVI     M,0
 2161                                   ;
 2162                                   ; VYTVORENI SOUBORU VZORKU
 2163                                   ;
 2164     FEA5    CD FFAD               CI20:   CALL    GETKCD  ; ADRESA OBL. VZORKU
 2165     FEA8    06 DF                         MVI     B,0DFH  ; VYBER RADKU
 2166     FEAA    78                    CI3:    MOV     A,B
 2167     FEAB    0F                            RRC
 2168     FEAC    D2 FEB9                       JNC     CI84    ; VSECHNY RADKY
 2169     FEAF    47                            MOV     B,A
 2170     FEB0    D3 09                         OUT     ADRPB   ; AKTIVACE RADKU
 2171     FEB2    DB 04                         IN      ADRCIN  ; CTENI SLOUPCU
 2172     FEB4    77                            MOV     M,A     ; ULOZENI VZORKU
 2173     FEB5    23                            INX     H
 2174     FEB6    C3 FEAA                       JMP     CI3     ; DALSI VZOREK
 2175                                   ;
 2176                                   ; TEST NA USTALENI KLAVES
 2177                                   ;
 2178     FEB9    0E 40                 CI84:   MVI     C,64    ; POCET TESTU SHODY
 2179     FEBB    0D                    CI5:    DCR     C
 2180     FEBC    CA FED6                       JZ      CI7     ; VSECHNY TESTY
 2181     FEBF    CD FFAD                       CALL    GETKCD  ; ADRESA OBL. VZORKU
 2182     FEC2    06 DF                         MVI     B,0DFH  ; VYBER RADEK
 2183     FEC4    78                    CI6:    MOV     A,B
 2184     FEC5    0F                            RRC
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-39


 2185     FEC6    D2 FEBB                       JNC     CI5     ; VSECHNY RADKY
 2186     FEC9    47                            MOV     B,A
 2187     FECA    D3 09                         OUT     ADRPB   ; AKTIVUJ RADK
 2188     FECC    DB 04                         IN      ADRCIN  ; SLEDUJ SLOUPCE
 2189     FECE    BE                            CMP     M       ; SROVNEJ VZOREK
 2190     FECF    C2 FE84                       JNZ     CI1     ; PRI NESHODE ZNOVU
 2191     FED2    23                            INX     H
 2192     FED3    C3 FEC4                       JMP     CI6     ; DALSI VZOREK
 2193                                   ;
 2194                                   ; VYHODNOCENI VZORKU
 2195                                   ;
 2196     FED6    06 04                 CI7:    MVI     B,4     ; <B> CITAC RADKU
 2197     FED8    CD FFAD                       CALL    GETKCD  ; ADRESA OBL. VZORKU
 2198     FEDB    EB                            XCHG
 2199     FEDC    1A                    CI8:    LDAX    D       ; VZOREK V <A>
 2200     FEDD    13                            INX     D
 2201     FEDE    FE FF                         CPI     0FFH
 2202     FEE0    C4 FF68                       CNZ     CI9     ; PLATNY - DEKODOVAT
 2203     FEE3    05                            DCR     B       ; DALSI KOD
 2204     FEE4    F2 FEDC                       JP      CI8     ; NE-DALSI RADEK
 2205                                   ;
 2206                                   ; GENERACE VYSLEDNEHO KODU ZNAKU
 2207                                   ;
 2208     FEE7    21 0235                       LXI     H,ZNAK
 2209     FEEA    CD FA01                       CALL    GETADR
 2210     FEED    EB                            XCHG
 2211     FEEE    1A                            LDAX    D
 2212     FEEF    FE FF                         CPI     0FFH    ; NEPLATNY ZNAK?
 2213     FEF1    CA FE84                       JZ      CI1     ; ANO - NOVY ZNAK
 2214                                   ;
 2215     FEF4    CD FD26                       CALL    INVCHR  ; UPRAV POZADI
 2216                                   ;
 2217     FEF7    21 0236               CI41:   LXI     H,UPLO  ; POMOCNE ZNAKY
 2218     FEFA    CD FA01                       CALL    GETADR
 2219     FEFD    7E                            MOV     A,M
 2220     FEFE    B7                            ORA     A
 2221     FEFF    CA FF0E                       JZ      CI42
 2222     FF02    1A                            LDAX    D
 2223     FF03    D6 41                         SUI     'A'
 2224     FF05    6F                            MOV     L,A
 2225     FF06    26 00                         MVI     H,0
 2226     FF08    01 FFDC                       LXI     B,TABUP
 2227     FF0B    09                            DAD     B
 2228     FF0C    7E                            MOV     A,M
 2229     FF0D    12                            STAX    D
 2230                                   ;
 2231     FF0E    21 0238               CI42:   LXI     H,NUM   ; CISLICE
 2232     FF11    CD FA01                       CALL    GETADR
 2233     FF14    7E                            MOV     A,M
 2234     FF15    B7                            ORA     A
 2235     FF16    CA FF33                       JZ      CI43
 2236     FF19    0E 30                         MVI     C,30H
 2237     FF1B    21 FFF6                       LXI     H,TABNUM
 2238     FF1E    1A                    CI44:   LDAX    D
 2239     FF1F    BE                            CMP     M
 2240     FF20    C2 FF28                       JNZ     CI45
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-40


 2241     FF23    79                            MOV     A,C
 2242     FF24    12                            STAX    D
 2243     FF25    C3 FF33                       JMP     CI43
 2244     FF28    23                    CI45:   INX     H
 2245     FF29    0C                            INR     C
 2246     FF2A    79                            MOV     A,C
 2247     FF2B    FE 3A                         CPI     3AH
 2248     FF2D    DA FF1E                       JC      CI44
 2249     FF30    C3 FE84                       JMP     CI1     ; CHYBNE KLAVESY
 2250                                   ;
 2251     FF33    21 0237               CI43:   LXI     H,CTRL  ; RIDICI ZNAKY
 2252     FF36    CD FA01                       CALL    GETADR
 2253     FF39    7E                            MOV     A,M
 2254     FF3A    B7                            ORA     A
 2255     FF3B    CA FF42                       JZ      CI40
 2256     FF3E    1A                            LDAX    D
 2257     FF3F    E6 1F                         ANI     1FH
 2258     FF41    12                            STAX    D
 2259                                   ;
 2260     FF42    CD FDEF               CI40:   CALL    BEEPS   ; BEEP
 2261                                   ;
 2262                                   ; TEST UVOLNENI KLAVESY
 2263                                   ;
 2264     FF45    0E 00                 CI15:   MVI     C,0     ; POCET TESTU
 2265     FF47    0D                    CI11:   DCR     C
 2266     FF48    CA FF63                       JZ      CI99    ; OPAKUJ ZNAK
 2267     FF4B    CD FFAD                       CALL    GETKCD  ; ADRESA OBL. VZORKU
 2268     FF4E    06 DF                         MVI     B,0DFH
 2269     FF50    37                            STC
 2270     FF51    78                    CI55:   MOV     A,B
 2271     FF52    0F                            RRC
 2272     FF53    D2 FF47                       JNC     CI11    ; VSECHNY RADKY?
 2273     FF56    47                            MOV     B,A
 2274     FF57    D3 09                         OUT     ADRPB
 2275     FF59    DB 04                         IN      ADRCIN
 2276     FF5B    BE                            CMP     M       ; STEJNY KOD?
 2277     FF5C    C2 FF63                       JNZ     CI99    ; NE - DALSI ZNAK
 2278     FF5F    23                            INX     H
 2279     FF60    C3 FF51                       JMP     CI55
 2280                                   ;
 2281     FF63    1A                    CI99:   LDAX    D
 2282     FF64    E1                            POP     H
 2283     FF65    D1                            POP     D
 2284     FF66    C1                            POP     B
 2285     FF67    C9                            RET
 2286                                   ;
 2287                                   ; PODPROGRAM VYHODNOCENI KODU
 2288                                   ;
 2289     FF68    D5                    CI9:    PUSH    D
 2290     FF69    0E 00                         MVI     C,0     ; CITAC SLOUPCU
 2291     FF6B    0F                    CI14:   RRC
 2292     FF6C    F5                            PUSH    PSW
 2293     FF6D    D4 FF7C                       CNC     CI10   ; AKTIVNI?
 2294     FF70    F1                            POP     PSW
 2295     FF71    57                            MOV     D,A
 2296     FF72    0C                            INR     C
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-41


 2297     FF73    79                            MOV     A,C
 2298     FF74    FE 08                         CPI     8
 2299     FF76    7A                            MOV     A,D
 2300     FF77    DA FF6B                       JC      CI14
 2301     FF7A    D1                            POP     D
 2302     FF7B    C9                            RET
 2303                                   ;
 2304     FF7C    78                    CI10:   MOV     A,B     ; CITAC RADKU
 2305     FF7D    E6 07                         ANI     07H
 2306     FF7F    07                            RLC
 2307     FF80    07                            RLC
 2308     FF81    07                            RLC
 2309     FF82    B1                            ORA     C
 2310     FF83    6F                            MOV     L,A
 2311     FF84    26 00                         MVI     H,0     ; OFFSET
 2312     FF86    11 FFB4                       LXI     D,KTAB  ; TABULKA KODU
 2313     FF89    19                            DAD     D
 2314     FF8A    7E                            MOV     A,M
 2315                                   ;
 2316     FF8B    21 0236               CI30:   LXI     H,UPLO
 2317     FF8E    CD FA01                       CALL    GETADR
 2318     FF91    FE 1D                         CPI     1DH     ; UPLO?
 2319     FF93    C2 FF98                       JNZ     CI31
 2320     FF96    77                            MOV     M,A
 2321     FF97    C9                            RET
 2322                                   ;
 2323     FF98    23                    CI31:   INX     H
 2324     FF99    FE 1E                         CPI     1EH     ; CTRL?
 2325     FF9B    C2 FFA0                       JNZ     CI32
 2326     FF9E    77                            MOV     M,A
 2327     FF9F    C9                            RET
 2328                                   ;
 2329     FFA0    23                    CI32:   INX     H
 2330     FFA1    FE 1F                         CPI     1FH     ; NUM?
 2331     FFA3    C2 FFA8                       JNZ     CI33
 2332     FFA6    77                            MOV     M,A
 2333     FFA7    C9                            RET
 2334                                   ;
 2335     FFA8    2B                    CI33:   DCX     H
 2336     FFA9    2B                            DCX     H
 2337     FFAA    2B                            DCX     H
 2338     FFAB    77                            MOV     M,A     ; ULOZ DO PROM. ZNAK
 2339     FFAC    C9                            RET
 2340                                   ;
 2341     FFAD    21 0230               GETKCD: LXI     H,KEYCD ; VYPOCET
 2342     FFB0    CD FA01                       CALL    GETADR  ; ADRESY OBL. VZORKU
 2343     FFB3    C9                            RET
 2344                                   ;
 2345     FFB4    04                    KTAB:   DB      004H    ; [00H] = '->'
 2346     FFB5    00                            DB      000H    ; [01H] = 'UC/UL'
 2347     FFB6    1D                            DB      01DH    ; [02H] = 'UP/LO'
 2348     FFB7    41                            DB      041H    ; [03H] = 'A'
 2349     FFB8    51                            DB      051H    ; [04H] = 'Q'
 2350     FFB9    1E                            DB      01EH    ; [05H] = 'CTRL'
 2351     FFBA    0D                            DB      00DH    ; [06H] = 'CR'
 2352     FFBB    50                            DB      050H    ; [07H] = 'P'
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-42


 2353     FFBC    08                            DB      008H    ; [08H] = '<-'
 2354     FFBD    1F                            DB      01FH    ; [09H] = '0-9'
 2355     FFBE    58                            DB      058H    ; [0AH] = 'X'
 2356     FFBF    44                            DB      044H    ; [0BH] = 'D'
 2357     FFC0    45                            DB      045H    ; [0CH] = 'E'
 2358     FFC1    4D                            DB      04DH    ; [0DH] = 'M'
 2359     FFC2    4B                            DB      04BH    ; [0EH] = 'K'
 2360     FFC3    49                            DB      049H    ; [0FH] = 'I'
 2361     FFC4    FF                            DB      0FFH    ; [10H] = 'DUMMY'
 2362     FFC5    FF                            DB      0FFH    ; [11H] = 'DUMMY'
 2363     FFC6    56                            DB      056H    ; [12H] = 'V'
 2364     FFC7    47                            DB      047H    ; [13H] = 'G'
 2365     FFC8    54                            DB      054H    ; [14H] = 'T'
 2366     FFC9    42                            DB      042H    ; [15H] = 'B'
 2367     FFCA    48                            DB      048H    ; [16H] = 'H'
 2368     FFCB    59                            DB      059H    ; [17H] = 'Y'
 2369     FFCC    20                            DB      020H    ; [18H] = ' '
 2370     FFCD    FF                            DB      0FFH    ; [19H] = 'DUMMY'
 2371     FFCE    43                            DB      043H    ; [1AH] = 'C'
 2372     FFCF    46                            DB      046H    ; [1BH] = 'F'
 2373     FFD0    52                            DB      052H    ; [1CH] = 'R'
 2374     FFD1    4E                            DB      04EH    ; [1DH] = 'N'
 2375     FFD2    4A                            DB      04AH    ; [1EH] = 'J'
 2376     FFD3    55                            DB      055H    ; [1FH] = 'U'
 2377     FFD4    18                            DB      018H    ; [20H] = 'DOWN'
 2378     FFD5    1B                            DB      01BH    ; [21H] = 'CS'
 2379     FFD6    5A                            DB      05AH    ; [22H] = 'Z'
 2380     FFD7    53                            DB      053H    ; [23H] = 'S'
 2381     FFD8    57                            DB      057H    ; [24H] = 'W'
 2382     FFD9    05                            DB      005H    ; [25H] = 'UP'
 2383     FFDA    4C                            DB      04CH    ; [26H] = 'L'
 2384     FFDB    4F                            DB      04FH    ; [27H] = 'O'
 2385                                   ;
 2386     FFDC    2D                    TABUP:  DB      02DH    ; '-' ... A
 2387     FFDD    3F                            DB      03FH    ; '?' ... B
 2388     FFDE    3A                            DB      03AH    ; ':' ... C
 2389     FFDF    3D                            DB      03DH    ; '=' ... D
 2390     FFE0    23                            DB      023H    ; '#' ... E
 2391     FFE1    5E                            DB      05EH    ; '^' ... F
 2392     FFE2    5F                            DB      05FH    ; '_' ... G
 2393     FFE3    3C                            DB      03CH    ; '<' ... H
 2394     FFE4    28                            DB      028H    ; '(' ... I
 2395     FFE5    3E                            DB      03EH    ; '>' ... J
 2396     FFE6    5B                            DB      05BH    ; '[' ... K
 2397     FFE7    5D                            DB      05DH    ; ']' ... L
 2398     FFE8    2E                            DB      02EH    ; '.' ... M
 2399     FFE9    2C                            DB      02CH    ; ',' ... N
 2400     FFEA    29                            DB      029H    ; ')' ... O
 2401     FFEB    40                            DB      040H    ; '@' ... P
 2402     FFEC    21                            DB      021H    ; 'VYKRICNIK' ... Q
 2403     FFED    24                            DB      024H    ; '$' ... R
 2404     FFEE    2B                            DB      02BH    ; '+' ... S
 2405     FFEF    25                            DB      025H    ; '%' ... T
 2406     FFF0    27                            DB      027H    ; ''' ... U
 2407     FFF1    3B                            DB      03BH    ; ';' ... V
 2408     FFF2    22                            DB      022H    ; '"' ... W
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    1-43


 2409     FFF3    2F                            DB      02FH    ; '/' ... X
 2410     FFF4    26                            DB      026H    ; '&' ... Y
 2411     FFF5    2A                            DB      02AH    ; '*' ... Z
 2412                                   ;
 2413     FFF6    50                    TABNUM: DB      'P'     ; 0
 2414     FFF7    51                            DB      'Q'     ; 1
 2415     FFF8    57                            DB      'W'     ; 2
 2416     FFF9    45                            DB      'E'     ; 3
 2417     FFFA    52                            DB      'R'     ; 4
 2418     FFFB    54                            DB      'T'     ; 5
 2419     FFFC    59                            DB      'Y'     ; 6
 2420     FFFD    55                            DB      'U'     ; 7
 2421     FFFE    49                            DB      'I'     ; 8
 2422     FFFF    4F                            DB      'O'     ; 9
 2423                                   ;
 2424                                   ;*****************************************************************
 2425                                   ;
 2426                                           .DEPHASE
 2427                                           END
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    S


Macros:

Symbols:
E000    ADRBAS          0010    ADRBIP          0004    ADRCIN
0000    ADRCST          000B    ADRCT           0018    ADRES
003D    ADRHI           F9E6    ADRK1           F9DE    ADRK2
F9D2    ADRKUP          003C    ADRLO           0014    ADRMSK
0000    ADROUT          0008    ADRPA           0009    ADRPB
000A    ADRPC           F000    ADRTPR          001F    ADSET
F9F5    ANAL            007B    AREG            FACF    ASHE0
FAC1    ASHEX           FDB4    BAC0            FDC6    BAC1
FDBB    BAC2            FDA7    BACST           E000    BASIC
FDF3    BEEP0           FDF5    BEEP1           0060    BEEPFQ
0050    BEEPLN          FDEF    BEEPS           0007    BELL
0000    BLANK           0070    BRADR           0072    BRCODE
0079    BREG            0008    BS              FB02    CARRET
0036    CHARCO          0038    CHARNO          FBCF    CHKTPR
FE7A    CI              FE84    CI1             FF7C    CI10
FF47    CI11            FF6B    CI14            FF45    CI15
FE89    CI2             FEA5    CI20            FEAA    CI3
FF8B    CI30            FF98    CI31            FFA0    CI32
FFA8    CI33            FE81    CI4             FF42    CI40
FEF7    CI41            FF0E    CI42            FF33    CI43
FF1E    CI44            FF28    CI45            FEBB    CI5
FF51    CI55            FEC4    CI6             FED6    CI7
FEDC    CI8             FEB9    CI84            FF68    CI9
FF63    CI99            F9F2    CINCR           FA21    CO
FA68    CO0             FA28    CO2             F8D2    COLD0
F8B2    COLD2           F85A    COLDST          FDE9    COMP
00B0    CONINP          E003    CONIT           00B3    CONOUT
00F6    CONSTA          000D    CR              007A    CREG
FB0C    CRLF            FE69    CSTS            FE70    CSTS1
F941    CTABL           0017    CTEND           0239    CTN
0237    CTRL            0090    CTRLWD          FA0C    DADR
FA1E    DBYT0           FA11    DBYTE           007F    DEL
FDD9    DELL0           FDC9    DELLIN          FD97    DELS0
FD89    DELSCR          FC67    DISP0           FC77    DISP1
FC83    DISP2           FC94    DISP3           FCA1    DISP4
FCAD    DISP5           FCAF    DISP6           FC61    DISPL
001E    DL              0077    DREG            001F    DSCR
FA6B    ECHO            FA7F    EDADR           0003    EOT
FA82    EQUATE          0078    EREG            F931    ERROR
001B    ESC             00A0    ETX             FA8A    EXPR
FA8B    EXPR0           FA92    EXPR1           FAAA    EXPR2
FAB8    EXPR3           000C    FF              FCBD    FILL
FCC0    FILL0           FD86    FORFI           007C    FREG
FA01    GETADR          F9B6    GETC0           F9B3    GETCHR
F975    GETD0           F96F    GETDIS          FFAD    GETKCD
F9AD    GETLIN          F9C1    GETSPR          F9BB    GETSTK
F937    GETTAB          FD7A    GHOME           FC1A    GOTO
FC47    GOTO0           FC50    GOTO1           FDE4    HILO
001D    HOME            0075    HREG            0009    HT
FAD3    HXASC           FD16    IMTEXT          FD17    IMTX0
FCC8    INADR           007D    INOUT           FD0F    INPU0
FCF7    INPUT           0038    INTADR          FB12    INTER
'PLAN 80A MONITOR V.2.Q'       MACRO-80 3.44   09-Dec-81       PAGE    S-1


FB70    INTER0          FBC3    INTER1          FB23    INTER2
FB34    INTER3          FD31    INVC0           FD26    INVCHR
0003    IOBYT           FE1E    IOCHK           FE3E    IODEF
FE57    IODEF1          FE22    IOSET           F9A8    JADR
0000    JMPMON          00C3    KEYBAS          0230    KEYCD
0055    KEYTPR          FFB4    KTAB            000A    LF
FAF1    LINE0           FAFA    LINE1           FAFE    LINE2
0035    LINECO          FADD    LINEF           0037    LINENO
FE29    LO              0076    LREG            00F3    LSTOUT
FE13    MEMCK           F800    MONIT           FCD0    MOVE
FCD3    MOVE0           0008    MSKWD           0033    MSTACK
0130    NAME1           0170    NAME2           F8E4    NEXT
F929    NEXT2           F928    NEXT4           F93C    NEXT6
0238    NUM             F9A2    NUMCHR          F99E    NUML0
F99B    NUMLIN          FCF6    OUTP0           FCDD    OUTPT
01B6    PBLKC           0000    PC0RES          0001    PC0SET
0002    PC1RES          0003    PC1SET          0009    PC4RES
0008    PC4SET          01B7    PFILC           01B0    PNADR
01B2    PNPOI           01BA    PNSTS           FE30    PO
00BC    PUNOUT          0000    RAMBEG          0004    RAMEND
01B8    RBLKC           01B3    RDADR           01B5    RDPOI
01BB    RDSTS           0008    RDYCIN          0002    RDYRE1
0001    RDYRE2          00B6    READIN          0004    REPCIN
01B9    RFILC           FE37    RI              FD37    ROLL
FD56    ROLL0           FD63    ROLL1           FD73    ROLL2
FA76    SDADR           000E    SO              FA79    SPACE
0020    SPC             0073    SPREG           0040    STCKLN
F9CA    STJMA           F9CD    STJMB           F9C7    STJMP
001A    SUBS            FBDD    SUBS0           FBE7    SUBS1
FBF8    SUBS2           FC12    SUBS3           FC13    SUBS4
FBD5    SUBST           FFF6    TABNUM          FFDC    TABUP
F00D    TAPP            F000    TAPREC          F028    TCLOS
F013    TDIR            F025    TEOF            FE04    TIME0
FE06    TIME1           FE02    TIMER           F001    TINIT
F004    TJOIN           F019    TKI             F01C    TKO
F010    TLOAD           01F0    TMPAR           F00A    TPUT
F007    TQUAF           F022    TRD             F016    TUNNA
F01F    TWR             0236    UPLO            0031    UREND
00F0    USRPO           000B    VT              FA85    WQUA0
0235    ZNAK



No Fatal error(s)



ADRBAS    445#    595     629
ADRBIP    466#   1929
ADRCIN    449#   2116    2171    2188    2275
ADRCST    450#
ADRCT     458#    593
ADRES     470#    545
ADRHI     402#
ADRK1     875     878#
ADRK2     874#    877
ADRKUP    506     868#   1006    1694    1877
ADRLO     401#
ADRMSK    469#    587
ADROUT    467#
ADRPA     455#
ADRPB     456#   2115    2170    2187    2274
ADRPC     457#
ADRTPR    447#   1377
ADSET     471#    546
ANAL      906#   1115    1517
AREG      412#
ASHE0    1146    1149#
ASHEX     498    1105    1141#   1416    1422
BAC0     1842    1845#
BAC1     1844    1847    1855#
BAC2     1848#
BACST     512     993    1838#
BASIC     353#    445     597     673
BEEP0    1925#   1930
BEEP1    1926#   1927
BEEPFQ    473#   1925
BEEPLN    472#   1924
BEEPS    1003    1922#   2260
BELL      388#    579    1002
BLANK     389#
BRADR     403#   1301    1308    1470
BRCODE    404#   1315    1458
BREG      410#
BS        382#    992
CARRET    988    1224#   1241
CHARCO    398#    805
CHARNO    400#    767
CHKTPR    589     626    1377#
CI        484    1029    1516    1519    2133#
CI1      2143#   2190    2213    2249
CI10     2293    2304#
CI11     2265#   2272
CI14     2291#   2300
CI15     2264#

CI2      2145#   2148
CI20     2159    2164#
CI3      2166#   2174
CI30     2316#
CI31     2319    2323#
CI32     2325    2329#
CI33     2331    2335#
CI4       559    2137#
CI40     2255    2260#
CI41     2217#
CI42     2221    2231#
CI43     2235    2243    2251#
CI44     2238#   2248
CI45     2240    2244#
CI5      2179#   2185
CI55     2270#   2279
CI6      2183#   2192
CI7      2180    2196#
CI8      2199#   2204
CI84     2168    2178#
CI9      2202    2289#
CI99     2266    2277    2281#
CINCR     504     905#   1413    1420
CO        486     582     609     978#   1031    1082    1359    1361    1546    1671
CO0       985    1013#
CO2       561     982#
COLD0     589#
COLD2     575#
COLDST    483     524#    604
COMP     1905#
CONINP    415#    558    2079    2134
CONIT     354#    674
CONOUT    416#    979
CONSTA    421#    563    2111
CR        381#    910     987
CREG      411#
CRLF      495     607    1012    1241#   1286    1343    1407    1436    1520
CSTS      489    1514    2110#
CSTS1     564    2114#
CTABL     614     672#    695
CTEND     613     695#
CTN       440#
CTRL      438#   2251
CTRLWD    459#    592
DADR      499     951#   1045    1069    1342    1355
DBYT0     960     963#
DBYTE     500     952     954#   1299    1332    1411    1526    1646
DEL       384#
DELL0    1878#   1881

DELLIN    999    1204    1816    1868#
DELS0    1816#   1819
DELSCR   1001    1808#
DISP0    1514#   1551
DISP1    1515    1520#
DISP2    1525#   1531
DISP3    1529    1532#
DISP4    1539#   1550
DISP5    1542    1545#
DISP6    1544    1546#
DISPL     675    1510#
DL        386#    998
DREG      408#
DSCR      387#   1000
ECHO      511     610     905    1028#   1101
EDADR    1069#   1297    1330    1340
EOT       375#
EQUATE   1080#   1099    1362    1645
EREG      409#
ERROR     497     616     618     627     643#    679     685     693    1117    1417    1423    2077
ESC       377#   1102
ETX       374#
EXPR      496    1097#   1118    1406    1462    1468    1510    1572    1604    1632
EXPR0    1098#   1123
EXPR1    1101#   1113
EXPR2    1106    1114#
EXPR3    1116    1119#
FF        380#    576     994
FILL      677    1562#
FILL0    1563#   1565
FORFI     995    1796#
FREG      413#   1268
GETADR    509     535     754     780     806     847     930#   1269    1302    1309    1316    1459
         1471    1608    1635    2088    2209    2218    2232    2252    2317    2342
GETC0     794     806#    821     833    1972
GETCHR    805#    880    1008    1226    1536    1840    1849    1871
GETD0     716#    721
GETDIS    526     714#
GETKCD   2143    2164    2181    2197    2267    2341#
GETLIN    793#    871    1193    1815    1845
GETSPR    568     832#   1477
GETSTK    599     820#
GETTAB    619     657#
GHOME     997    1778#   1796    1814    1820
GOTO      678    1457#
GOTO0    1463    1477#
GOTO1    1483#   1488
HILO      501    1528    1547    1564    1592    1900#
HOME      385#    996

HREG      406#
HT        379#
HXASC     507     963    1164#
IMTEXT    505     575    1667#
IMTX0    1668#   1675
INADR    1562    1571#   1588
INOUT     414#   1607    1634
INPU0    1642    1645#
INPUT     680    1631#
INTADR    394#   1464
INTER     494    1261#   1465
INTER0   1306    1313    1320#
INTER1   1290    1328    1336    1345    1349    1353    1358#
INTER2   1271#   1276
INTER3   1286#
INVC0    1697    1699#
INVCHR   1692#   2158    2215
IOBYT     392#   1989    2006
IOCHK     490    1989#
IODEF     493     584    2072#
IODEF1   2080    2084#
IOSET     491    2004#
JADR      780#    980    2022    2036    2050    2112    2135
JMPMON    391#    603
KEYBAS    444#    596     630
KEYCD     435#   2341
KEYTPR    446#   1378
KTAB     2312    2345#
LF        383#    989
LINE0    1198    1203#
LINE1    1197    1206#
LINE2    1205    1210#
LINECO    397#    793
LINEF     990    1191#   1242
LINENO    399#    753
LO        488    2020#
LREG      407#
LSTOUT    420#   2021
MEMCK     492    1970#
MONIT     351#    477     622
MOVE      684    1588#
MOVE0    1589#   1593
MSKWD     468#    586
MSTACK    396#    820
NAME1     422#
NAME2     423#
NEXT      502     599#    611    1103    1356
NEXT2     625     629#
NEXT4     623     628#    631

NEXT6     600     661#   1341
NUM       439#   2231
NUMCHR    767#   1010    1723    1756    1851    1874
NUML0     754#    768
NUMLIN    753#   1195    1725    1779    1812
OUTP0    1615    1619#
OUTPT     686    1604#
PBLKC     428#
PC0RES    461#
PC0SET    460#
PC1RES    463#
PC1SET    462#
PC4RES    465#
PC4SET    464#
PFILC     430#
PNADR     424#
PNPOI     426#
PNSTS     433#
PO        487    2034#
PUNOUT    418#   2035
RAMBEG    350#
RAMEND    393#    528     872     933    1731    2074
RBLKC     429#
RDADR     425#
RDPOI     427#
RDSTS     432#
RDYCIN    451#
RDYRE1    453#
RDYRE2    454#
READIN    417#   2049
REPCIN    452#
RFILC     431#
RI        485    2048#
ROLL     1203    1719#
ROLL0    1739#   1759
ROLL1    1750#   1755
ROLL2    1730    1760#
SDADR    1045#   1347    1351    1409    1521
SO        372#
SPACE     503    1056#   1323    1333    1412    1522    1527    1534
SPC       373#    908    1057    1878
SPREG     405#    832
STCKLN    442#    530
STJMA     562     605     848#   1466
STJMB     510     536     548     850#   1472
STJMP     560     565     847#
SUBS      376#
SUBS0    1409#   1437
SUBS1    1413#   1418    1424

SUBS2    1420#
SUBS3    1421    1434#
SUBS4    1415    1433    1435#
SUBST     690    1405#
TABNUM   2237    2413#
TABUP    2226    2386#
TAPP      360#    672
TAPREC    352#    356     357     358     359     360     361     362     363     364     365     366
          367     368     369     447     624
TCLOS     369#    682
TDIR      362#    691
TEOF      368#    676
TIME0    1946#   1952
TIME1    1947#   1948
TIMER     508    1944#
TINIT     356#    590
TJOIN     357#    681
TKI       364#
TKO       365#
TLOAD     361#    683
TMPAR     434#
TPUT      359#    687
TQUAF     358#    688
TRD       367#    689
TUNNA     363#    692
TWR       366#    694
UPLO      437#   2217    2316
UREND     395#    534    1971
USRPO     419#   2083
VT        378#
WQUA0     645    1058    1082#
ZNAK      436#   2208



Obsah:



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


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000


8 bity / PLAN-80A

Listing programu PLAN 80A MONITOR V.2.Q



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