Ú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


8 bity / PLAN-80A

Listing programu PLAN80A TINY BASIC V3Q


Obsah:




'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1


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


   57                                           ;*************************************************
   58                                           ;
   59                                           ;       ZAKLADNI ADRESY
   60                                           ;
   61     0006                          UZIRAM  EQU     0006H   ; ZACATEK UZIVATELSKE RAM
   62     0004                          RAMEND  EQU     0004H   ; ADR. OBSAHUJICI KONEC RAM
   63     E000                          BASIC   EQU     0E000H  ; POCATECNI ADRESA TINY BASICU
   64     F028                          TCLOSE  EQU     0F028H  ; UZAVRI SOUBOR
   65     F004                          JOIN0   EQU     0F004H  ; INICIUJ MAGNETOFON
   66     F000                          ADRTPR  EQU     0F000H  ; POCATECNI ADRESA PROGRAMU MAGNETOFONU
   67                                           ;
   68                                           ;       SPOJOVACI ADRESY NA MONITOR
   69                                           ;
   70     F803                          CI      EQU     0F803H  ; VSTUP Z KONZOLY (A)
   71     F809                          COM     EQU     0F809H  ; VYSTUP NA KONZOLU (C)
   72     F806                          RI      EQU     0F806H  ; VSTUP ZE SNIMACE (MAGNETOFONU) (A)
   73     F80C                          PO      EQU     0F80CH  ; VYSTUP NA DEROVAC (MAGNETOFON) (C)
   74     F80F                          LO      EQU     0F80FH  ; VYSTUP NA TISKARNU (C)
   75     F812                          CSTS    EQU     0F812H  ; STAV KONZOLY (A)
   76     F81B                          MEMCHK  EQU     0F81BH  ; KONEC UZIVATELSKE RAM (B,A)
   77     F839                          NEXTM   EQU     0F839H  ; TEPLY START MONITORU
   78     F83C                          SPACE   EQU     0F83CH  ; ZOBRAZ MEZERU
   79     F830                          DADR    EQU     0F830H  ; VYPIS (HL) JAKO ASCII
   80     F833                          DBYTE   EQU     0F833H  ; VYPIS (A) JAKO ASCII
   81     F82D                          ASHEX   EQU     0F82DH  ; ASCII NA HEX NIBBLE
   82     F845                          ADRKUR  EQU     0F845H  ; ADRESA KURZORU (HL)
   83     F84B                          TIMER   EQU     0F84BH  ; PODPROGRAM CEKANI <BC> MS
   84                                           ;
   85                                           ;       DEFINICE KONSTANT
   86                                           ;
   87     000D                          CR      EQU     0DH     ;  CR
   88     000A                          LF      EQU     0AH     ;  LF
   89     0003                          CTRLC   EQU     03H     ; CTRL C
   90     0018                          CTRLX   EQU     18H     ; CTRL X
   91     0004                          CTRLD   EQU     04H     ; CTRL D
   92     0019                          CTRLY   EQU     19H     ; CTRL Y
   93     0013                          CTRLS   EQU     13H     ; CTRL S
   94     0018                          DOWN    EQU     18H     ; SIPKA DOLU
   95     0008                          LEFT    EQU     08H     ; SIPKA VLEVO
   96     0004                          RIGHT   EQU     04H     ; SIPKA VPRAVO
   97     007F                          RUB     EQU     7FH     ; VYMAZ (DEL)
   98     001A                          SUBS    EQU     1AH     ; SUB
   99     0008                          BS      EQU     08H     ; ZPETNY POSUV
  100     0200                          KILO    EQU     512     ; KONSTANTA PRO RAM < 1 KBYTE
  101     000C                          FF      EQU     0CH     ; NOVA STRANKA
  102     0007                          BELL    EQU     07H     ; ZVONEK
  103     001B                          ESC     EQU     1BH     ; CTRL [
  104     001D                          HOME    EQU     1DH     ; LEVY HORNI ROH OBRAZOVKY
  105     001E                          DL      EQU     1EH     ; VYMAZ RADKY
  106     001F                          DSCR    EQU     1FH     ; VYMAZ OBRAZOVKY
  107     001A                          SUBS    EQU     1AH     ; CTRL Z
  108     0035                          LINECO  EQU     35H     ; CITAC LINEK
  109     0055                          KEYTPR  EQU     55H     ; PRIZNAK MAGNETOFONU
  110                                           ;
  111                                           ;*************************************************
  112                                           ;
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-2


  113                                           ;
  114                                           .PHASE  BASIC
  115                                           ;
  116     E000    C3 E01B               BASPET: JMP     START   ; STUDENY START BASIC
  117     E003    C3 E03E                       JMP     RSTART  ; TEPLY START BASIC
  118                                           ;
  119     E006    33                    INTSTA: INX     SP      ; START PO BREAKU - RST 7
  120     E007    33                            INX     SP      ; OBNOVENI SP
  121     E008    C3 E03E                       JMP     RSTART
  122                                           ;
  123     E00B    2A 003B               TOP:    LHLD    TXTUNF
  124     E00E    23                            INX     H
  125     E00F    C9                            RET
  126                                           ;
  127     E010    2A 0006               LENGHT: LHLD    LEGT
  128     E013    2B                            DCX     H
  129     E014    C9                            RET
  130                                           ;
  131     E015    CD E7CF               BEND:   CALL    ENDCHK
  132     E018    C3 E03E                       JMP     RSTART
  133                                           ;
  134                                           ;       START
  135                                           ;
  136     E01B    F3                    START:  DI
  137     E01C    2A 0004                       LHLD    RAMEND  ; KONEC PROGRAMOVE RAM V <HL>
  138     E01F    2B                            DCX     H
  139     E020    2B                            DCX     H
  140     E021    F9                            SPHL            ; NASTAV SP
  141     E022    CD EB81                       CALL    DISP    ; CO:=CO
  142     E025    AF                            XRA     A       ; A:=0
  143     E026    32 0026                       STA     MODE    ; FORMAT ZNAKU:= OBYCEJNY
  144     E029    11 E0D8                       LXI     D,MSG1
  145     E02C    CD E893                       CALL    PRTSTG  ; OHLASENI BASICU
  146     E02F    21 009B                       LXI     H,TXTBGN
  147     E032    22 003B                       SHLD    TXTUNF  ; INICIACE UKAZATELE KONCE PROGRAMU
  148     E035    CD E0CF                       CALL    USREND  ; V <HL> KONEC UZIVATELSKE OBLASTI RAM
  149     E038    C3 E9F5                       JMP     RAM1    ; NASTAV RAM V BASICU
  150     E03B    22 0027               START1: SHLD    TXTEND
  151                                           ;
  152                                           ;       RSTART - PRIHRATY START
  153                                           ;
  154     E03E    CD E974               RSTART: CALL    CRLF
  155     E041    2A 0004               RSTAR1: LHLD    RAMEND
  156     E044    2B                            DCX     H
  157     E045    2B                            DCX     H       ; V <HL> (KONEC PROGRAMOVE RAM -2)
  158     E046    F9                            SPHL            ; NASTAV SP
  159     E047    3E C3                         MVI     A,0C3H  ; OBSLUHA RST 7 TO RAM
  160     E049    32 0038                       STA     RST7RA
  161     E04C    21 E006                       LXI     H,INTSTA
  162     E04F    22 0039                       SHLD    RST7RA+1
  163     E052    11 E33D                       LXI     D,OK            ; DE:=ADR TEXTU 'READY'
  164     E055    97                            SUB     A               ; A:=0
  165     E056    32 0026                       STA     MODE
  166     E059    2F                            CMA                     ; A:=0FFH
  167     E05A    32 000F                       STA     MASKIN
  168     E05D    CD E893                       CALL    PRTSTG          ; 'READY' NA OBRAZOVKU
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-3


  169     E060    21 E067                       LXI     H,ST2+1
  170     E063    22 0010                       SHLD    CURRNT
  171     E066    21 0000               ST2:    LXI     H,0
  172     E069    22 0018                       SHLD    LOPVAR  ;  POINTER PRO 'FOR':=0
  173     E06C    22 0012                       SHLD    STKGOS
  174     E06F    06 5C                 ST3:    MVI     B,5CH   ;  5CH JAKO PROMT NA ZACATKU RADKU
  175     E071    CD E811                       CALL    GETLN   ;  PREVEZMI RADEK BASIC Z KLAVESNICE
  176     E074    D5                    ST5:    PUSH    D       ;  V <DE> ADRESA POSL. ZNAKU + 1
  177     E075    CD E9D8                       CALL    DBUFF   ;  V <DE> ADRESA BUFFERU
  178     E078    CD E307                       CALL    TSTNUM  ;  VSTUP CISLA DO <HL>, V <DE> ADR. DAL. ZN.
  179     E07B    CD E2B0                       CALL    IGNB    ;  VYNECH MEZERY
  180     E07E    7C                            MOV     A,H
  181     E07F    B5                            ORA     L       ;  JE CISLO NULOVE
  182     E080    C1                            POP     B       ;  V <BC> ADRESA POSL. ZNAKU + 1
  183     E081    CA E9A5                       JZ      DIRECT  ;  PRI NULOVEM CISLE PROVED IHNED
  184     E084    1B                            DCX     D
  185     E085    7C                            MOV     A,H
  186     E086    12                            STAX    D
  187     E087    1B                            DCX     D
  188     E088    7D                            MOV     A,L
  189     E089    12                            STAX    D       ;  ZAPIS CISLO RADKU BINARNE
  190     E08A    C5                    EDIST:  PUSH    B
  191     E08B    D5                            PUSH    D
  192     E08C    79                            MOV     A,C
  193     E08D    93                            SUB     E
  194     E08E    F5                            PUSH    PSW     ;  V <A> POCET ZNAKU
  195     E08F    CD E869                       CALL    FNDLN   ;  NAJDI ADRESU RADKU <HL>
  196     E092    D5                            PUSH    D
  197     E093    C2 E0A6                       JNZ     ST4     ;  TAKOVY RADEK JESTE NENI - SKOC
  198     E096    D5                            PUSH    D
  199     E097    CD E887                       CALL    FNDNXT  ;  NAJDI ADRESU DALSIHO RADKU
  200     E09A    C1                            POP     B
  201     E09B    2A 003B                       LHLD    TXTUNF  ;  V <HL> ADRESA KONCE PROGRAMU
  202     E09E    CD E90F                       CALL    MVUP    ;  STARY RADEK ZNIC
  203     E0A1    60                            MOV     H,B
  204     E0A2    69                            MOV     L,C
  205     E0A3    22 003B                       SHLD    TXTUNF  ;  NOVY KONEC PROGRAMU
  206     E0A6    C1                    ST4:    POP     B
  207     E0A7    2A 003B                       LHLD    TXTUNF
  208     E0AA    F1                            POP     PSW     ;  V <A> POCET ZNAKU
  209     E0AB    E5                            PUSH    H
  210     E0AC    FE 03                         CPI     3       ;  PRAZDNY RADEK ?
  211     E0AE    CA E03E                       JZ      RSTART  ;  ANO - RESTART
  212     E0B1    85                            ADD     L
  213     E0B2    6F                            MOV     L,A
  214     E0B3    3E 00                         MVI     A,0
  215     E0B5    8C                            ADC     H
  216     E0B6    67                            MOV     H,A     ;  NOVY KONEC PROGRAMU V <HL>
  217     E0B7    CD E9E0                       CALL    DTXTE   ;  MAXIMALNI ADRESA V <DE>
  218     E0BA    CD E2AA                       CALL    COMP    ;  PRETECENI ?
  219     E0BD    D2 E80A                       JNC     QSORRY  ;  ANO - CHYBA
  220     E0C0    22 003B                       SHLD    TXTUNF  ;  NOVY KONEC PROGRAMU V <HL>
  221     E0C3    D1                            POP     D       ;  ADRESA RADKU V <DE>
  222     E0C4    CD E91A                       CALL    MVDOWN  ;  VLOZ RADEK
  223     E0C7    D1                            POP     D
  224     E0C8    E1                            POP     H
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-4


  225     E0C9    CD E90F                       CALL    MVUP
  226     E0CC    C3 E06F                       JMP     ST3
  227                                           ;
  228                                           ;       ZJISTENI KONCE UZIVATELSKE OBLASTI PAMETI RAM
  229                                           ;
  230     E0CF    C5                    USREND: PUSH    B
  231     E0D0    CD F81B                       CALL    MEMCHK
  232     E0D3    60                            MOV     H,B
  233     E0D4    6F                            MOV     L,A
  234     E0D5    2B                            DCX     H
  235     E0D6    C1                            POP     B
  236     E0D7    C9                            RET
  237                                           ;
  238     E0D8    20 20 54 49           MSG1:   DB      '  TINY BASIC V3Q',0
  239     E0DC    4E 59 20 42
  240     E0E0    41 53 49 43
  241     E0E4    20 56 33 51
  242     E0E8    00
  243                                           ;
  244                                           ;       TABULKA KLICOVICH SLOV
  245                                           ;
  246     E0E9    4C 49 53 54           TAB1:   DB      'LIST',0
  247     E0ED    00
  248     E0EE    E39B                          DW      LIST
  249     E0F0    4C 4C 49 53                   DB      'LLIST',0
  250     E0F4    54 00
  251     E0F6    E398                          DW      LLIST
  252     E0F8    52 55 4E 00                   DB      'RUN',0
  253     E0FC    E358                          DW      RUN
  254     E0FE    4E 45 57 00                   DB      'NEW',0
  255     E102    E34F                          DW      NEW
  256     E104    4D 4F 4E 49           TXMON:  DB      'MONITOR',0
  257     E108    54 4F 52 00
  258     E10C    EBB1                          DW      MONIT
  259     E10E    52 41 4D 00                   DB      'RAM',0
  260     E112    E9F2                          DW      RAM
  261     E114    4C 4F 41 44                   DB      'LOAD',0
  262     E118    00
  263     E119    EEEC                          DW      LOAD
  264     E11B    53 41 56 45                   DB      'SAVE',0
  265     E11F    00
  266     E120    EF1E                          DW      SAVE
  267     E122    4E 45 58 54           TAB2:   DB      'NEXT',0
  268     E126    00
  269     E127    E4ED                          DW      NEXT
  270     E129    4C 45 54 00                   DB      'LET',0
  271     E12D    E5FE                          DW      LET
  272     E12F    43 4C 53 00                   DB      'CLS',0
  273     E133    E991                          DW      CLS
  274     E135    43 4C 45 41                   DB      'CLEAR',0
  275     E139    52 00
  276     E13B    E55D                          DW      CLEAR
  277     E13D    48 41 52 44                   DB      'HARD',0
  278     E141    00
  279     E142    E38C                          DW      HARD
  280     E144    44 49 53 50                   DB      'DISPL',0
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-5


  281     E148    4C 00
  282     E14A    E392                          DW      DISPL
  283     E14C    49 46 00                      DB      'IF',0
  284     E14F    E571                          DW      IFF
  285     E151    47 4F 54 4F                   DB      'GOTO',0
  286     E155    00
  287     E156    E37B                          DW      GOTO
  288     E158    47 4F 53 55                   DB      'GOSUB',0
  289     E15C    42 00
  290     E15E    E44B                          DW      GOSUB
  291     E160    52 45 54 55                   DB      'RETURN',0
  292     E164    52 4E 00
  293     E167    E46D                          DW      RETURN
  294     E169    52 45 4D 00                   DB      'REM',0
  295     E16D    E54E                          DW      REM
  296     E16F    46 4F 52 00                   DB      'FOR',0
  297     E173    E488                          DW      FOR
  298     E175    49 4E 50 55                   DB      'INPUT',0
  299     E179    54 00
  300     E17B    E58C                          DW      INPUT
  301     E17D    50 52 49 4E                   DB      'PRINT',0
  302     E181    54 00
  303     E183    E3E9                          DW      PRINT
  304     E185    4C 50 52 49                   DB      'LPRINT',0
  305     E189    4E 54 00
  306     E18C    E3E6                          DW      LPRINT
  307     E18E    45 4E 44 00                   DB      'END',0
  308     E192    E015                          DW      BEND
  309     E194    53 54 4F 50                   DB      'STOP',0
  310     E198    00
  311     E199    EB65                          DW      STOP
  312     E19B    43 41 4C 4C                   DB      'CALL',0
  313     E19F    00
  314     E1A0    EA18                          DW      BCALL
  315     E1A2    4F 55 54 43                   DB      'OUTCHAR',0
  316     E1A6    48 41 52 00
  317     E1AA    EB13                          DW      OUTCHR
  318     E1AC    4F 55 54 00                   DB      'OUT',0
  319     E1B0    EA25                          DW      BOUT
  320     E1B2    4F 24 00                      DB      'O$',0
  321     E1B5    EA84                          DW      O
  322     E1B7    49 24 00                      DB      'I$',0
  323     E1BA    EA91                          DW      I
  324     E1BC    57 41 49 54                   DB      'WAIT',0
  325     E1C0    00
  326     E1C1    EBB4                          DW      WAIT
  327     E1C3    42 45 45 50                   DB      'BEEP',0
  328     E1C7    00
  329     E1C8    EBC1                          DW      BEEP
  330     E1CA    50 4F 4B 45                   DB      'POKE',0
  331     E1CE    00
  332     E1CF    EAC9                          DW      POKE
  333     E1D1    4D 41 53 4B                   DB      'MASK',0
  334     E1D5    00
  335     E1D6    E9E8                          DW      MASK
  336     E1D8    54 41 42 00                   DB      'TAB',0
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-6


  337     E1DC    EA4B                          DW      TAB
  338     E1DE    42 59 54 45                   DB      'BYTE',0
  339     E1E2    00
  340     E1E3    EADE                          DW      BYTE
  341     E1E5    57 4F 52 44                   DB      'WORD',0
  342     E1E9    00
  343     E1EA    EAE8                          DW      WORD
  344     E1EC    50 55 54 00                   DB      'PUT',0
  345     E1F0    EF5D                          DW      PUT
  346     E1F2    43 4C 4F 53                   DB      'CLOSE',0
  347     E1F6    45 00
  348     E1F8    EF70                          DW      CLOSE
  349     E1FA    49 4E 49 54                   DB      'INIT',0
  350     E1FE    00
  351     E1FF    EF80                          DW      INIT
  352     E201    50 4C 4F 54                   DB      'PLOT',0
  353     E205    00
  354     E206    EBE6                          DW      PLOT
  355     E208    44 52 41 57                   DB      'DRAW',0
  356     E20C    00
  357     E20D    EC92                          DW      DRAW
  358     E20F    4D 4F 56 45                   DB      'MOVE',0
  359     E213    00
  360     E214    ED6F                          DW      MOVE
  361     E216    43 55 52 53                   DB      'CURS',0
  362     E21A    00
  363     E21B    ED95                          DW      CURS
  364     E21D    45 44 49 54                   DB      'EDIT',0
  365     E221    00
  366     E222    EDC3                          DW      EDIT
  367     E224    00                            DB      0
  368     E225    E5F8                          DW      DEFLT
  369     E227    52 4E 44 00           TAB4:   DB      'RND',0
  370     E22B    E71C                          DW      RND
  371     E22D    41 42 53 00                   DB      'ABS',0
  372     E231    E74F                          DW      ABS
  373     E233    53 49 5A 45                   DB      'SIZE',0
  374     E237    00
  375     E238    E758                          DW      SIZE
  376     E23A    50 45 45 4B                   DB      'PEEK',0
  377     E23E    00
  378     E23F    EAC2                          DW      PEEK
  379     E241    49 4E 43 48                   DB      'INCHAR',0
  380     E245    41 52 00
  381     E248    EB1D                          DW      INCHAR
  382     E24A    48 45 58 00                   DB      'HEX',0
  383     E24E    EB29                          DW      HEX
  384     E250    49 4E 4D 00                   DB      'INM',0
  385     E254    EA61                          DW      INM
  386     E256    49 4E 00                      DB      'IN',0
  387     E259    EA5C                          DW      BIN
  388     E25B    27 00                         DB      27H,0   ;  UVOZOVKA '
  389     E25D    EB05                          DW      QUOTE
  390     E25F    54 4F 50 00                   DB      'TOP',0
  391     E263    E00B                          DW      TOP
  392     E265    41 52 45 4D                   DB      'AREM',0
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-7


  393     E269    00
  394     E26A    E559                          DW      AREM
  395     E26C    4C 45 4E 00                   DB      'LEN',0
  396     E270    E010                          DW      LENGHT
  397     E272    47 45 54 00                   DB      'GET',0
  398     E276    EF54                          DW      GET
  399     E278    00                            DB      0
  400     E279    E6FA                          DW      XP40
  401     E27B    54 4F 00              TAB5:   DB      'TO',0
  402     E27E    E498                          DW      FR1
  403     E280    00                            DB      0
  404     E281    E7D5                          DW      QWHAT
  405     E283    53 54 45 50           TAB6:   DB      'STEP',0
  406     E287    00
  407     E288    E4A4                          DW      FR2
  408     E28A    00                            DB      0
  409     E28B    E4AA                          DW      FR3
  410     E28D    3E 3D 00              TAB8:   DB      '>=',0
  411     E290    E616                          DW      XP11
  412     E292    23 00                         DB      '#',0
  413     E294    E61C                          DW      XP12
  414     E296    3E 00                         DB      '>',0
  415     E298    E622                          DW      XP13
  416     E29A    3D 00                         DB      '=',0
  417     E29C    E631                          DW      XP15
  418     E29E    3C 3D 00                      DB      '<=',0
  419     E2A1    E629                          DW      XP14
  420     E2A3    3C 00                         DB      '<',0
  421     E2A5    E637                          DW      XP16
  422     E2A7    00                            DB      0
  423     E2A8    E63D                          DW      XP17
  424                                           ;
  425                                           ;  COMP  POROVNANI <HL> A <DE>
  426                                           ;  <HL> < <DE> ... CARRY
  427                                           ;  <HL> = <DE> ... ZERO
  428                                           ;
  429     E2AA    7C                    COMP:   MOV     A,H
  430     E2AB    BA                            CMP     D
  431     E2AC    C0                            RNZ
  432     E2AD    7D                            MOV     A,L
  433     E2AE    BB                            CMP     E
  434     E2AF    C9                            RET
  435                                           ;
  436                                           ;  IGNB  VYNECHANI MAEZER PODLE <DE>
  437                                           ;
  438     E2B0    1A                    IGNB:   LDAX    D
  439     E2B1    FE 20                         CPI     ' '
  440     E2B3    C0                            RNZ
  441     E2B4    13                            INX     D
  442     E2B5    C3 E2B0                       JMP     IGNB
  443                                           ;
  444                                           ;  FINI
  445                                           ;
  446     E2B8    F1                    FINI:   POP     PSW
  447     E2B9    CD E7BC                       CALL    FIN
  448     E2BC    C3 E7D5                       JMP     QWHAT
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-8


  449                                           ;
  450                                           ;  INDEXOVANA PROMENA
  451                                           ;
  452     E2BF    CD E2B0               TSTV:   CALL    IGNB
  453     E2C2    D6 40                         SUI     40H
  454     E2C4    D8                            RC
  455     E2C5    C2 E2E3                       JNZ     TV1
  456     E2C8    13                            INX     D
  457     E2C9    CD E70B                       CALL    PARN
  458     E2CC    29                            DAD     H
  459     E2CD    DA E331                       JC      QHOW
  460     E2D0    D5                            PUSH    D
  461     E2D1    EB                            XCHG
  462     E2D2    CD E758                       CALL    SIZE
  463     E2D5    CD E2AA                       CALL    COMP
  464     E2D8    DA E80B                       JC      ASORRY
  465     E2DB    2A 0027                       LHLD    TXTEND
  466     E2DE    CD E77B                       CALL    SUBDE
  467     E2E1    D1                            POP     D
  468     E2E2    C9                            RET
  469                                           ;
  470                                           ;  VYPOCET ADRESY ULOZENI PROMENE
  471                                           ;
  472     E2E3    FE 1B                 TV1:    CPI     1BH
  473     E2E5    3F                            CMC
  474     E2E6    D8                            RC
  475     E2E7    13                            INX     D
  476     E2E8    21 0065                       LXI     H,VARBGN
  477     E2EB    07                            RLC
  478     E2EC    85                            ADD     L
  479     E2ED    6F                            MOV     L,A
  480     E2EE    3E 00                         MVI     A,0
  481     E2F0    8C                            ADC     H
  482     E2F1    67                            MOV     H,A
  483     E2F2    C9                            RET
  484                                           ;
  485                                           ;  TSTC   POROVNANI TEXTU PODLE <DE> SE ZNAKEM
  486                                           ;  KTERY JE ZA CALL+3. JE-LI SHODNY POKRACUJE
  487                                           ;  SE NA CALL+5, JINAK NA ADRESE CALL+N+2.
  488                                           ;  N JE NA ADRESE CALL...+4
  489                                           ;
  490     E2F3    E3                    TSTC:   XTHL
  491     E2F4    CD E2B0                       CALL    IGNB
  492     E2F7    BE                            CMP     M
  493     E2F8    23                            INX     H
  494     E2F9    CA E303                       JZ      TC2
  495     E2FC    C5                            PUSH    B
  496     E2FD    4E                            MOV     C,M
  497     E2FE    06 00                         MVI     B,0
  498     E300    09                            DAD     B
  499     E301    C1                            POP     B
  500     E302    1B                            DCX     D
  501     E303    13                    TC2:    INX     D
  502     E304    23                            INX     H
  503     E305    E3                            XTHL
  504     E306    C9                            RET
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-9


  505                                           ;
  506                                           ;  TSTNUM   PREVOD ASCII CISLA Z BUFFERU
  507                                           ;  NA BINARNI CISLO V <HL>, V <DE> ADRESA DALSIHO ZNAKU.
  508                                           ;
  509     E307    21 0000               TSTNUM: LXI     H,0
  510     E30A    44                            MOV     B,H
  511     E30B    CD E2B0                       CALL    IGNB    ;  VYNECH MEZERY
  512     E30E    FE 30                 TN1:    CPI     '0'     ;  NULA ?
  513     E310    D8                            RC
  514     E311    FE 3A                         CPI     3AH
  515     E313    D0                            RNC
  516     E314    3E F0                         MVI     A,0F0H
  517     E316    A4                            ANA     H
  518     E317    C2 E331                       JNZ     QHOW
  519     E31A    04                            INR     B
  520     E31B    C5                            PUSH    B
  521     E31C    44                            MOV     B,H
  522     E31D    4D                            MOV     C,L
  523     E31E    29                            DAD     H
  524     E31F    29                            DAD     H
  525     E320    09                            DAD     B
  526     E321    29                            DAD     H
  527     E322    1A                            LDAX    D
  528     E323    13                            INX     D
  529     E324    E6 0F                         ANI     0FH
  530     E326    85                            ADD     L
  531     E327    6F                            MOV     L,A
  532     E328    3E 00                         MVI     A,0
  533     E32A    8C                            ADC     H
  534     E32B    67                            MOV     H,A
  535     E32C    C1                            POP     B
  536     E32D    1A                            LDAX    D
  537     E32E    F2 E30E                       JP      TN1
  538                                           ;
  539                                           ;  QHOW  OTAZKA HOW
  540                                           ;
  541     E331    D5                    QHOW:   PUSH    D
  542     E332    11 E338               AHOW:   LXI     D,HOW
  543     E335    C3 E7D9                       JMP     ERROR
  544                                           ;
  545                                           ;  TEXTY OTAZEK
  546                                           ;
  547     E338    48 4F 57 3F           HOW:    DB      'HOW?',CR
  548     E33C    0D
  549     E33D    52 45 41 44           OK:     DB      'READY',CR
  550     E341    59 0D
  551     E343    57 48 41 54           WHAT:   DB      'WHAT?',CR
  552     E347    3F 0D
  553     E349    53 4F 52 52           SORRY:  DB      'SORRY',CR
  554     E34D    59 0D
  555                                           ;
  556                                           ;  NEW
  557                                           ;
  558     E34F    CD E7CF               NEW:    CALL    ENDCHK
  559     E352    21 009B                       LXI     H,TXTBGN
  560     E355    22 003B                       SHLD    TXTUNF
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-10


  561                                           ;
  562                                           ;  RUN
  563                                           ;
  564     E358    CD E7CF               RUN:    CALL    ENDCHK
  565     E35B    11 009B                       LXI     D,TXTBGN
  566     E35E    21 0000               RUNNXL: LXI     H,0
  567     E361    CD E871                       CALL    FNDLP
  568     E364    DA E03E                       JC      RSTART
  569     E367    EB                    RUNTSL: XCHG
  570     E368    22 0010                       SHLD    CURRNT
  571     E36B    EB                            XCHG
  572     E36C    13                            INX     D
  573     E36D    13                            INX     D
  574     E36E    AF                    RUNSML: XRA     A
  575     E36F    32 0026                       STA     MODE    ;  NORMALNI ZNAK
  576     E372    CD EB57                       CALL    CONT
  577     E375    21 E121                       LXI     H,TAB2-1
  578     E378    C3 E9A8                       JMP     EXEC
  579                                           ;
  580                                           ;  GOTO
  581                                           ;
  582     E37B    CD E60C               GOTO:   CALL    EXPR
  583     E37E    D5                            PUSH    D
  584     E37F    CD E7CF                       CALL    ENDCHK
  585     E382    CD E869                       CALL    FNDLN
  586     E385    C2 E332                       JNZ     AHOW
  587     E388    F1                            POP     PSW
  588     E389    C3 E367                       JMP     RUNTSL
  589                                           ;
  590                                           ;  HARD
  591                                           ;
  592     E38C    CD EB7A               HARD:   CALL    PRNTST
  593     E38F    CD E2B8                       CALL    FINI
  594                                           ;
  595                                           ;  DISPL
  596                                           ;
  597     E392    CD EB81               DISPL:  CALL    DISP
  598     E395    CD E2B8                       CALL    FINI
  599                                           ;
  600                                           ;  LIST
  601                                           ;
  602     E398    CD EB7A               LLIST:  CALL    PRNTST
  603     E39B    CD E307               LIST:   CALL    TSTNUM
  604     E39E    3E FF                         MVI     A,0FFH
  605     E3A0    32 000B                       STA     LISTC
  606     E3A3    CD E2B0                       CALL    IGNB
  607     E3A6    FE 0D                         CPI     CR
  608     E3A8    C2 E3C9                       JNZ     LS4
  609     E3AB    CD E869               LS0:    CALL    FNDLN
  610     E3AE    DA E3E0               LS1:    JC      LS6
  611     E3B1    3A 000B                       LDA     LISTC
  612     E3B4    FE FF                         CPI     0FFH
  613     E3B6    CA E3BD                       JZ      LS5
  614     E3B9    3D                            DCR     A
  615     E3BA    CA E03E                       JZ      RSTART
  616     E3BD    32 000B               LS5:    STA     LISTC
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-11


  617     E3C0    CD E8FA               LS3:    CALL    PRTLN
  618     E3C3    CD E871                       CALL    FNDLP
  619     E3C6    C3 E3AE                       JMP     LS1
  620     E3C9    FE 2B                 LS4:    CPI     '+'
  621     E3CB    C2 E3AB                       JNZ     LS0
  622     E3CE    13                            INX     D
  623     E3CF    CD E2B0                       CALL    IGNB
  624     E3D2    E5                            PUSH    H
  625     E3D3    CD E307                       CALL    TSTNUM
  626     E3D6    7D                            MOV     A,L
  627     E3D7    3C                            INR     A
  628     E3D8    3C                            INR     A
  629     E3D9    32 000B                       STA     LISTC
  630     E3DC    E1                            POP     H
  631     E3DD    C3 E3AB                       JMP     LS0
  632     E3E0    CD EB81               LS6:    CALL    DISP
  633     E3E3    C3 E041                       JMP     RSTAR1
  634                                           ;
  635                                           ;  PRINT
  636                                           ;
  637     E3E6    CD EB7A               LPRINT: CALL    PRNTST
  638     E3E9    0E 08                 PRINT:  MVI     C,8
  639     E3EB    CD E2F3                       CALL    TSTC    ;  JDE O ":" ?
  640     E3EE    3A                            DB      ':'
  641     E3EF    09                            DB      9
  642     E3F0    CD E974                       CALL    CRLF    ;  ANO - VICENASOBNY PRIKAZ
  643     E3F3    CD EB81                       CALL    DISP
  644     E3F6    C3 E36E                       JMP     RUNSML
  645     E3F9    CD E2F3               PR1:    CALL    TSTC    ;  JDE O CR ?
  646     E3FC    0D                            DB      CR
  647     E3FD    09                            DB      9
  648     E3FE    CD E974                       CALL    CRLF    ;  ANO - KONEC PRIKAZU
  649     E401    CD EB81               PR6:    CALL    DISP
  650     E404    C3 E35E                       JMP     RUNNXL
  651     E407    CD E2F3               PR0:    CALL    TSTC    ;  JDE O "*" ?
  652     E40A    2A                            DB      '*'
  653     E40B    0E                            DB      14
  654     E40C    CD E60C                       CALL    EXPR    ;  ANO - VSTUP PARAMETRU ZOBRAZENI
  655     E40F    7D                            MOV     A,L
  656     E410    0F                            RRC
  657     E411    0F                            RRC
  658     E412    E6 C0                         ANI     0C0H
  659     E414    32 0026                       STA     MODE    ;  NASTAV REZIM ZOBRAZENI (0-NORM, 1-INVER)
  660     E417    C3 E42C                       JMP     PR3
  661     E41A    CD E2F3                       CALL    TSTC    ;  JDE O "#" ?
  662     E41D    23                            DB      '#'
  663     E41E    07                            DB      7
  664     E41F    CD E60C                       CALL    EXPR    ;  ANO - VSTUP PARAMETU IND. PROMENNE
  665     E422    4D                            MOV     C,L
  666     E423    C3 E42C                       JMP     PR3
  667     E426    CD E8A1                       CALL    QTSTG
  668     E429    C3 E440                       JMP     PR8
  669     E42C    CD E2F3               PR3:    CALL    TSTC    ;  JDE O "," ?
  670     E42F    2C                            DB      ','
  671     E430    06                            DB      6
  672     E431    CD E7BC                       CALL    FIN     ;  ANO - DALSI ARGUMENT
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-12


  673     E434    C3 E407                       JMP     PR0
  674     E437    CD E974                       CALL    CRLF
  675     E43A    CD EB81                       CALL    DISP
  676     E43D    CD E2B8                       CALL    FINI
  677     E440    CD E60C               PR8:    CALL    EXPR    ;  ZOBRAZ CISLO
  678     E443    C5                            PUSH    B
  679     E444    CD E8B6                       CALL    PRTNUM
  680     E447    C1                            POP     B
  681     E448    C3 E42C                       JMP     PR3
  682                                           ;
  683                                           ;  GOSUB
  684                                           ;
  685     E44B    CD E945               GOSUB:  CALL    PUSHA
  686     E44E    CD E60C                       CALL    EXPR
  687     E451    D5                            PUSH    D
  688     E452    CD E869                       CALL    FNDLN
  689     E455    C2 E332                       JNZ     AHOW
  690     E458    2A 0010                       LHLD    CURRNT
  691     E45B    E5                            PUSH    H
  692     E45C    2A 0012                       LHLD    STKGOS
  693     E45F    E5                            PUSH    H
  694     E460    21 0000                       LXI     H,0
  695     E463    22 0018                       SHLD    LOPVAR
  696     E466    39                            DAD     SP
  697     E467    22 0012                       SHLD    STKGOS
  698     E46A    C3 E367                       JMP     RUNTSL
  699                                           ;
  700                                           ;  RETURN
  701                                           ;
  702     E46D    CD E7CF               RETURN: CALL    ENDCHK
  703     E470    2A 0012                       LHLD    STKGOS
  704     E473    7C                            MOV     A,H
  705     E474    B5                            ORA     L
  706     E475    CA E7D5                       JZ      QWHAT
  707     E478    F9                            SPHL
  708     E479    E1                            POP     H
  709     E47A    22 0012                       SHLD    STKGOS
  710     E47D    E1                            POP     H
  711     E47E    22 0010                       SHLD    CURRNT
  712     E481    D1                            POP     D
  713     E482    CD E929                       CALL    POPA
  714     E485    CD E2B8                       CALL    FINI
  715                                           ;
  716                                           ;  FOR
  717                                           ;
  718     E488    CD E945               FOR:    CALL    PUSHA
  719     E48B    CD E7A3                       CALL    SETVAL
  720     E48E    2B                            DCX     H
  721     E48F    22 0018                       SHLD    LOPVAR
  722     E492    21 E27A                       LXI     H,TAB5-1
  723     E495    C3 E9A8                       JMP     EXEC
  724                                           ;
  725     E498    CD E60C               FR1:    CALL    EXPR
  726     E49B    22 001C                       SHLD    LOPLMT
  727     E49E    21 E282                       LXI     H,TAB6-1
  728     E4A1    C3 E9A8                       JMP     EXEC
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-13


  729                                           ;
  730     E4A4    CD E60C               FR2:    CALL    EXPR
  731     E4A7    C3 E4AD                       JMP     FR4
  732                                           ;
  733     E4AA    21 0001               FR3:    LXI     H,1
  734     E4AD    22 001A               FR4:    SHLD    LOPINC
  735     E4B0    2A 0010                       LHLD    CURRNT
  736     E4B3    22 001E                       SHLD    LOPLN
  737     E4B6    EB                            XCHG
  738     E4B7    22 0020                       SHLD    LOPPT
  739     E4BA    01 000A                       LXI     B,LF
  740     E4BD    2A 0018                       LHLD    LOPVAR
  741     E4C0    EB                            XCHG
  742     E4C1    60                            MOV     H,B
  743     E4C2    68                            MOV     L,B
  744     E4C3    39                            DAD     SP
  745     E4C4    3E                            DB      3EH
  746     E4C5    09                    FR7:    DAD     B
  747     E4C6    7E                            MOV     A,M
  748     E4C7    23                            INX     H
  749     E4C8    B6                            ORA     M
  750     E4C9    CA E4E6                       JZ      FR8
  751     E4CC    7E                            MOV     A,M
  752     E4CD    2B                            DCX     H
  753     E4CE    BA                            CMP     D
  754     E4CF    C2 E4C5                       JNZ     FR7
  755     E4D2    7E                            MOV     A,M
  756     E4D3    BB                            CMP     E
  757     E4D4    C2 E4C5                       JNZ     FR7
  758     E4D7    EB                            XCHG
  759     E4D8    21 0000                       LXI     H,0
  760     E4DB    39                            DAD     SP
  761     E4DC    44                            MOV     B,H
  762     E4DD    4D                            MOV     C,L
  763     E4DE    21 000A                       LXI     H,LF
  764     E4E1    19                            DAD     D
  765     E4E2    CD E91A                       CALL    MVDOWN
  766     E4E5    F9                            SPHL
  767     E4E6    2A 0020               FR8:    LHLD    LOPPT
  768     E4E9    EB                            XCHG
  769     E4EA    CD E2B8                       CALL    FINI
  770                                           ;
  771                                           ;  NEXT
  772                                           ;
  773     E4ED    CD E2BF               NEXT:   CALL    TSTV
  774     E4F0    DA E7D5                       JC      QWHAT
  775     E4F3    22 0014                       SHLD    VARNXT
  776     E4F6    D5                    NX0:    PUSH    D
  777     E4F7    EB                            XCHG
  778     E4F8    2A 0018                       LHLD    LOPVAR
  779     E4FB    7C                            MOV     A,H
  780     E4FC    B5                            ORA     L
  781     E4FD    CA E7D6                       JZ      AWHAT
  782     E500    CD E2AA                       CALL    COMP
  783     E503    CA E510                       JZ      NX3
  784     E506    D1                            POP     D
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-14


  785     E507    CD E929                       CALL    POPA
  786     E50A    2A 0014                       LHLD    VARNXT
  787     E50D    C3 E4F6                       JMP     NX0
  788     E510    5E                    NX3:    MOV     E,M
  789     E511    23                            INX     H
  790     E512    56                            MOV     D,M
  791     E513    2A 001A                       LHLD    LOPINC
  792     E516    E5                            PUSH    H
  793     E517    7C                            MOV     A,H
  794     E518    AA                            XRA     D
  795     E519    7A                            MOV     A,D
  796     E51A    19                            DAD     D
  797     E51B    FA E522                       JM      NX4
  798     E51E    AC                            XRA     H
  799     E51F    FA E546                       JM      NX5
  800     E522    EB                    NX4:    XCHG
  801     E523    2A 0018                       LHLD    LOPVAR
  802     E526    73                            MOV     M,E
  803     E527    23                            INX     H
  804     E528    72                            MOV     M,D
  805     E529    2A 001C                       LHLD    LOPLMT
  806     E52C    F1                            POP     PSW
  807     E52D    B7                            ORA     A
  808     E52E    F2 E532                       JP      NX1
  809     E531    EB                            XCHG
  810     E532    CD E79A               NX1:    CALL    CKHLDE
  811     E535    D1                            POP     D
  812     E536    DA E548                       JC      NX2
  813     E539    2A 001E                       LHLD    LOPLN
  814     E53C    22 0010                       SHLD    CURRNT
  815     E53F    2A 0020                       LHLD    LOPPT
  816     E542    EB                            XCHG
  817     E543    CD E2B8                       CALL    FINI
  818     E546    E1                    NX5:    POP     H
  819     E547    D1                            POP     D
  820     E548    CD E929               NX2:    CALL    POPA
  821     E54B    CD E2B8                       CALL    FINI
  822                                           ;
  823                                           ;  REM
  824                                           ;
  825     E54E    EB                    REM:    XCHG
  826     E54F    22 0024                       SHLD    ARMM
  827     E552    EB                            XCHG
  828     E553    21 0000                       LXI     H,0
  829     E556    C3 E574                       JMP     IFFR
  830                                           ;
  831                                           ;  AREM
  832                                           ;
  833     E559    2A 0024               AREM:   LHLD    ARMM
  834     E55C    C9                            RET
  835                                           ;
  836                                           ;
  837                                           ;  CLEAR
  838                                           ;
  839     E55D    21 0065               CLEAR:  LXI     H,VARBGN
  840     E560    D5                            PUSH    D
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-15


  841     E561    11 0036                       LXI     D,54
  842     E564    36 00                 NULD20: MVI     M,0     ; ZAPLN PROSTOR PRO PROMENNE 0
  843     E566    23                            INX     H
  844     E567    1B                            DCX     D
  845     E568    7A                            MOV     A,D
  846     E569    B3                            ORA     E
  847     E56A    C2 E564                       JNZ     NULD20
  848     E56D    D1                            POP     D
  849     E56E    CD E2B8                       CALL    FINI
  850                                           ;
  851                                           ;  IF
  852                                           ;
  853     E571    CD E60C               IFF:    CALL    EXPR
  854     E574    7C                    IFFR:   MOV     A,H
  855     E575    B5                            ORA     L
  856     E576    C2 E36E                       JNZ     RUNSML
  857     E579    CD E889                       CALL    FNDSKP
  858     E57C    D2 E367                       JNC     RUNTSL
  859     E57F    C3 E03E                       JMP     RSTART
  860                                           ;
  861                                           ;  CHYBA VSTUPU
  862                                           ;
  863     E582    2A 0016               INPERR: LHLD    STKINP
  864     E585    F9                            SPHL
  865     E586    E1                            POP     H
  866     E587    22 0010                       SHLD    CURRNT
  867     E58A    D1                            POP     D
  868     E58B    D1                            POP     D
  869                                           ;
  870                                           ;  INPUT
  871                                           ;
  872     E58C                          INPUT:
  873     E58C    D5                    IP1:    PUSH    D
  874     E58D    CD E8A1                       CALL    QTSTG
  875     E590    C3 E59C                       JMP     IP2
  876     E593    CD E2BF                       CALL    TSTV
  877     E596    DA E5EC                       JC      IP4
  878     E599    C3 E5AE                       JMP     IP3
  879     E59C    D5                    IP2:    PUSH    D
  880     E59D    CD E2BF                       CALL    TSTV
  881     E5A0    DA E7D5                       JC      QWHAT
  882     E5A3    1A                            LDAX    D
  883     E5A4    4F                            MOV     C,A
  884     E5A5    97                            SUB     A
  885     E5A6    12                            STAX    D
  886     E5A7    D1                            POP     D
  887     E5A8    CD E893                       CALL    PRTSTG
  888     E5AB    79                            MOV     A,C
  889     E5AC    1B                            DCX     D
  890     E5AD    12                            STAX    D
  891     E5AE    D5                    IP3:    PUSH    D
  892     E5AF    EB                            XCHG
  893     E5B0    2A 0010                       LHLD    CURRNT
  894     E5B3    E5                            PUSH    H
  895     E5B4    21 E58C                       LXI     H,IP1
  896     E5B7    22 0010                       SHLD    CURRNT
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-16


  897     E5BA    21 0000                       LXI     H,0
  898     E5BD    39                            DAD     SP
  899     E5BE    22 0016                       SHLD    STKINP
  900     E5C1    D5                            PUSH    D
  901     E5C2    06 3A                         MVI     B,':'
  902     E5C4    CD E811                       CALL    GETLN   ; VYTISKNI NA OBRAZOVKU ':'
  903                                                           ; A PREVZEMI Z KLAVESNICE RADEK
  904     E5C7    CD E9D8                       CALL    DBUFF   ; DE:=ADR. ZACATKU RADKU S REAKCI
  905                                                           ; NA INPUT
  906     E5CA    1A                            LDAX    D       ; A:=PRVNI ZNAK REAKCE
  907     E5CB    FE 1B                         CPI     ESC     ; IF <>ESC THEN
  908     E5CD    C2 E5DC                       JNZ     NOBRK   ; VYHODNOCENI VYRAZU
  909     E5D0    D1                            POP     D       ; ELSE OBNOV DE
  910     E5D1    EB                            XCHG            ; HL:=DE
  911     E5D2    73                            MOV     M,E     ; ULOZ
  912     E5D3    23                            INX     H
  913     E5D4    72                            MOV     M,D
  914     E5D5    E1                            POP     H       ; HL:=CURRNT
  915     E5D6    22 0010                       SHLD    CURRNT  ; ULOZ
  916     E5D9    C3 EB6B                       JMP     BREAK1  ; BREAK
  917     E5DC    CD E60C               NOBRK:  CALL    EXPR    ; VYHODNOCENI VYRAZU
  918     E5DF    D1                            POP     D
  919     E5E0    EB                            XCHG
  920     E5E1    73                            MOV     M,E
  921     E5E2    23                            INX     H
  922     E5E3    72                            MOV     M,D
  923     E5E4    E1                            POP     H
  924     E5E5    22 0010                       SHLD    CURRNT
  925     E5E8    CD EB57                       CALL    CONT
  926     E5EB    D1                            POP     D
  927     E5EC    F1                    IP4:    POP     PSW
  928     E5ED    CD E2F3                       CALL    TSTC
  929     E5F0    2C                            DB      ','
  930     E5F1    03                            DB      3
  931     E5F2    C3 E58C                       JMP     IP1
  932     E5F5    CD E2B8                       CALL    FINI
  933                                           ;
  934                                           ;
  935                                           ;
  936     E5F8    1A                    DEFLT:  LDAX    D
  937     E5F9    FE 0D                         CPI     CR
  938     E5FB    CA E609                       JZ      LT1
  939                                           ;
  940                                           ;  LET
  941                                           ;
  942     E5FE    CD E7A3               LET:    CALL    SETVAL
  943     E601    CD E2F3                       CALL    TSTC
  944     E604    2C                            DB      ','
  945     E605    03                            DB      3
  946     E606    C3 E5FE                       JMP     LET
  947     E609    CD E2B8               LT1:    CALL    FINI
  948                                           ;
  949                                           ;       EXPR  VYHODNOCENI VYRAZU
  950                                           ;
  951     E60C    CD E654               EXPR:   CALL    EXPR2
  952     E60F    E5                            PUSH    H
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-17


  953     E610    21 E28C               EXPR1:  LXI     H,TAB8-1
  954     E613    C3 E9A8                       JMP     EXEC
  955     E616    CD E63F               XP11:   CALL    XP18
  956     E619    D8                            RC
  957     E61A    6F                            MOV     L,A
  958     E61B    C9                            RET
  959     E61C    CD E63F               XP12:   CALL    XP18
  960     E61F    C8                            RZ
  961     E620    6F                            MOV     L,A
  962     E621    C9                            RET
  963     E622    CD E63F               XP13:   CALL    XP18
  964     E625    C8                            RZ
  965     E626    D8                            RC
  966     E627    6F                            MOV     L,A
  967     E628    C9                            RET
  968     E629    CD E63F               XP14:   CALL    XP18
  969     E62C    6F                            MOV     L,A
  970     E62D    C8                            RZ
  971     E62E    D8                            RC
  972     E62F    6C                            MOV     L,H
  973     E630    C9                            RET
  974     E631    CD E63F               XP15:   CALL    XP18
  975     E634    C0                            RNZ
  976     E635    6F                            MOV     L,A
  977     E636    C9                            RET
  978     E637    CD E63F               XP16:   CALL    XP18
  979     E63A    D0                            RNC
  980     E63B    6F                            MOV     L,A
  981     E63C    C9                            RET
  982     E63D    E1                    XP17:   POP     H
  983     E63E    C9                            RET
  984     E63F    79                    XP18:   MOV     A,C
  985     E640    E1                            POP     H
  986     E641    C1                            POP     B
  987     E642    E5                            PUSH    H
  988     E643    C5                            PUSH    B
  989     E644    4F                            MOV     C,A
  990     E645    CD E654                       CALL    EXPR2
  991     E648    EB                            XCHG
  992     E649    E3                            XTHL
  993     E64A    CD E79A                       CALL    CKHLDE
  994     E64D    D1                            POP     D
  995     E64E    21 0000                       LXI     H,0
  996     E651    3E 01                         MVI     A,1
  997     E653    C9                            RET
  998     E654    CD E2F3               EXPR2:  CALL    TSTC
  999     E657    2D                            DB      '-'
 1000     E658    06                            DB      6
 1001     E659    21 0000                       LXI     H,0
 1002     E65C    C3 E686                       JMP     XP26
 1003     E65F    CD E2F3                       CALL    TSTC
 1004     E662    2B                            DB      '+'
 1005     E663    00                            DB      0
 1006     E664    CD E690                       CALL    EXPR3
 1007     E667    CD E2F3               XP23:   CALL    TSTC
 1008     E66A    2B                            DB      '+'
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-18


 1009     E66B    15                            DB      15H
 1010     E66C    E5                            PUSH    H
 1011     E66D    CD E690                       CALL    EXPR3
 1012     E670    EB                    XP24:   XCHG
 1013     E671    E3                            XTHL
 1014     E672    7C                            MOV     A,H
 1015     E673    AA                            XRA     D
 1016     E674    7A                            MOV     A,D
 1017     E675    19                            DAD     D
 1018     E676    D1                            POP     D
 1019     E677    FA E667                       JM      XP23
 1020     E67A    AC                            XRA     H
 1021     E67B    F2 E667                       JP      XP23
 1022     E67E    C3 E331                       JMP     QHOW
 1023     E681    CD E2F3                       CALL    TSTC
 1024     E684    2D                            DB      '-'
 1025     E685    92                            DB      92H
 1026     E686    E5                    XP26:   PUSH    H
 1027     E687    CD E690                       CALL    EXPR3
 1028     E68A    CD E785                       CALL    CHGSGN
 1029     E68D    C3 E670                       JMP     XP24
 1030     E690    CD E6F4               EXPR3:  CALL    EXPR4
 1031     E693    CD E2F3               XP31:   CALL    TSTC
 1032     E696    2A                            DB      '*'
 1033     E697    2D                            DB      2DH
 1034     E698    E5                            PUSH    H
 1035     E699    CD E6F4                       CALL    EXPR4
 1036     E69C    06 00                         MVI     B,0
 1037     E69E    CD E782                       CALL    CHKSGN
 1038     E6A1    E3                            XTHL
 1039     E6A2    CD E782                       CALL    CHKSGN
 1040     E6A5    EB                            XCHG
 1041     E6A6    E3                            XTHL
 1042     E6A7    7C                            MOV     A,H
 1043     E6A8    B7                            ORA     A
 1044     E6A9    CA E6B2                       JZ      XP32
 1045     E6AC    7A                            MOV     A,D
 1046     E6AD    B2                            ORA     D
 1047     E6AE    EB                            XCHG
 1048     E6AF    C2 E332                       JNZ     AHOW
 1049     E6B2    7D                    XP32:   MOV     A,L
 1050     E6B3    21 0000                       LXI     H,0
 1051     E6B6    B7                            ORA     A
 1052     E6B7    CA E6E6                       JZ      XP35
 1053     E6BA    19                    XP33:   DAD     D
 1054     E6BB    DA E332                       JC      AHOW
 1055     E6BE    3D                            DCR     A
 1056     E6BF    C2 E6BA                       JNZ     XP33
 1057     E6C2    C3 E6E6                       JMP     XP35
 1058     E6C5    CD E2F3                       CALL    TSTC
 1059     E6C8    2F                            DB      '/'
 1060     E6C9    4E                            DB      4EH
 1061     E6CA    E5                            PUSH    H
 1062     E6CB    CD E6F4                       CALL    EXPR4
 1063     E6CE    06 00                         MVI     B,0
 1064     E6D0    CD E782                       CALL    CHKSGN
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-19


 1065     E6D3    E3                            XTHL
 1066     E6D4    CD E782                       CALL    CHKSGN
 1067     E6D7    EB                            XCHG
 1068     E6D8    E3                            XTHL
 1069     E6D9    EB                            XCHG
 1070     E6DA    7A                            MOV     A,D
 1071     E6DB    B3                            ORA     E
 1072     E6DC    CA E332                       JZ      AHOW
 1073     E6DF    C5                            PUSH    B
 1074     E6E0    CD E765                       CALL    DIVIDE
 1075     E6E3    60                            MOV     H,B
 1076     E6E4    69                            MOV     L,C
 1077     E6E5    C1                            POP     B
 1078     E6E6    D1                    XP35:   POP     D
 1079     E6E7    7C                            MOV     A,H
 1080     E6E8    B7                            ORA     A
 1081     E6E9    FA E331                       JM      QHOW
 1082     E6EC    78                            MOV     A,B
 1083     E6ED    B7                            ORA     A
 1084     E6EE    FC E785                       CM      CHGSGN
 1085     E6F1    C3 E693                       JMP     XP31
 1086     E6F4    21 E226               EXPR4:  LXI     H,TAB4-1
 1087     E6F7    C3 E9A8                       JMP     EXEC
 1088     E6FA    CD E2BF               XP40:   CALL    TSTV
 1089     E6FD    DA E705                       JC      XP41
 1090     E700    7E                            MOV     A,M
 1091     E701    23                            INX     H
 1092     E702    66                            MOV     H,M
 1093     E703    6F                            MOV     L,A
 1094     E704    C9                            RET
 1095     E705    CD E307               XP41:   CALL    TSTNUM
 1096     E708    78                            MOV     A,B
 1097     E709    B7                            ORA     A
 1098     E70A    C0                            RNZ
 1099     E70B    CD E2F3               PARN:   CALL    TSTC
 1100     E70E    28                            DB      '('
 1101     E70F    09                            DB      09
 1102     E710    CD E60C                       CALL    EXPR
 1103     E713    CD E2F3                       CALL    TSTC
 1104     E716    29                            DB      ')'
 1105     E717    01                            DB      1
 1106     E718    C9                            RET
 1107     E719    C3 E7D5                       JMP     QWHAT
 1108                                           ;
 1109                                           ;
 1110                                           ;
 1111                                           ;       GENERATOR NAHODNICH CISEL
 1112                                           ;
 1113                                           ;       PRO PRACI POUZIVA PARAMETR RANPNT. PRINCIPEM CINNOSTI
 1114                                           ;       JE GENERACE TOHOTO PARAMETRU NACITANIM OBLASTI PAMETI,
 1115                                           ;       V NIZ JE NAHRAN INTERPRET. NAHODNA HODNOTA JE ZBITKEM
 1116                                           ;       PO DELENI PARAMETRU RANPNT UDANOU MAXIMALNI HODNOTOU.
 1117                                           ;
 1118     E71C    CD E70B               RND:    CALL    PARN    ; HL:=MAX. HODNOTA
 1119     E71F    7C                            MOV     A,H
 1120     E720    B7                            ORA     A
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-20


 1121     E721    FA E331                       JM      QHOW    ; IF ZAPORNA ERROR
 1122     E724    B5                            ORA     L
 1123     E725    D5                            PUSH    D
 1124     E726    23                            INX     H
 1125     E727    E5                            PUSH    H
 1126     E728    C2 E731                       JNZ     RA2     ; IF 0 --> INICIUJ
 1127     E72B    21 E000                       LXI     H,BASPET
 1128     E72E    22 0022                       SHLD    RANPNT
 1129     E731    2A 0022               RA2:    LHLD    RANPNT  ; PARAMETR
 1130     E734    11 EBB1                       LXI     D,MONIT
 1131     E737    CD E2AA                       CALL    COMP    ; PARAMETR MIMO INTERPRET ?
 1132     E73A    DA E740                       JC      RA1
 1133     E73D    21 E000                       LXI     H,BASPET ; ANO - INICIUJ
 1134     E740    5E                    RA1:    MOV     E,M
 1135     E741    23                            INX     H
 1136     E742    56                            MOV     D,M
 1137     E743    22 0022                       SHLD    RANPNT  ; NOVY PARAMETR
 1138     E746    E1                            POP     H       ; MAX. HODNOTA DO <DE>
 1139     E747    EB                            XCHG            ; PSEUDONAHODNE CISLO DO <HL>
 1140     E748    C5                            PUSH    B
 1141     E749    CD E765                       CALL    DIVIDE  ; <HL>/<DE> ... ZBITEK V <HL>
 1142     E74C    C1                            POP     B
 1143     E74D    D1                            POP     D
 1144     E74E    C9                            RET
 1145                                           ;
 1146                                           ;
 1147                                           ;
 1148                                           ;       ABS
 1149                                           ;
 1150     E74F    CD E70B               ABS:    CALL    PARN
 1151     E752    1B                            DCX     D
 1152     E753    CD E782                       CALL    CHKSGN
 1153     E756    13                            INX     D
 1154     E757    C9                            RET
 1155                                           ;
 1156                                           ;  SIZE
 1157                                           ;
 1158     E758    2A 003B               SIZE:   LHLD    TXTUNF
 1159     E75B    D5                            PUSH    D
 1160     E75C    EB                            XCHG
 1161     E75D    2A 0027                       LHLD    TXTEND
 1162     E760    CD E77B                       CALL    SUBDE
 1163     E763    D1                            POP     D
 1164     E764    C9                            RET
 1165                                           ;
 1166                                           ;  DIVIE <HL>/<DE> --> <BC>,  ZBITEK V <HL>
 1167                                           ;
 1168     E765    E5                    DIVIDE: PUSH    H
 1169     E766    6C                            MOV     L,H
 1170     E767    26 00                         MVI     H,0
 1171     E769    CD E770                       CALL    DV1
 1172     E76C    41                            MOV     B,C
 1173     E76D    7D                            MOV     A,L
 1174     E76E    E1                            POP     H
 1175     E76F    67                            MOV     H,A
 1176     E770    0E FF                 DV1:    MVI     C,0FFH
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-21


 1177     E772    0C                    DV2:    INR     C
 1178     E773    CD E77B                       CALL    SUBDE
 1179     E776    D2 E772                       JNC     DV2
 1180     E779    19                            DAD     D
 1181     E77A    C9                            RET
 1182     E77B    7D                    SUBDE:  MOV     A,L
 1183     E77C    93                            SUB     E
 1184     E77D    6F                            MOV     L,A
 1185     E77E    7C                            MOV     A,H
 1186     E77F    9A                            SBB     D
 1187     E780    67                            MOV     H,A
 1188     E781    C9                            RET
 1189                                           ;
 1190     E782    7C                    CHKSGN: MOV     A,H
 1191     E783    B7                            ORA     A
 1192     E784    F0                            RP
 1193     E785    7C                    CHGSGN: MOV     A,H     ; ZMENA ZNAMENKA
 1194     E786    B5                            ORA     L
 1195     E787    C8                            RZ              ; CISLO JE NULA !
 1196     E788    7C                            MOV     A,H
 1197     E789    F5                            PUSH    PSW
 1198     E78A    2F                            CMA
 1199     E78B    67                            MOV     H,A     ; INVERZE HIGH BYTE
 1200     E78C    7D                            MOV     A,L
 1201     E78D    2F                            CMA
 1202     E78E    6F                            MOV     L,A     ; INVERZE LOW BYTE
 1203     E78F    23                            INX     H       ; PRICTENI 1
 1204     E790    F1                            POP     PSW
 1205     E791    AC                            XRA     H
 1206     E792    F2 E331                       JP      QHOW    ; PRETECENI
 1207     E795    78                            MOV     A,B
 1208     E796    EE 80                         XRI     80H     ; INVERZE D7 V <B>
 1209     E798    47                            MOV     B,A
 1210     E799    C9                            RET
 1211                                           ;
 1212     E79A    7C                    CKHLDE: MOV     A,H
 1213     E79B    AA                            XRA     D
 1214     E79C    F2 E7A0                       JP      CK1
 1215     E79F    EB                            XCHG
 1216     E7A0    C3 E2AA               CK1:    JMP     COMP
 1217                                           ;
 1218                                           ;  SETVAL
 1219                                           ;
 1220     E7A3    CD E2BF               SETVAL: CALL    TSTV
 1221     E7A6    DA E7D5                       JC      QWHAT
 1222     E7A9    E5                            PUSH    H
 1223     E7AA    CD E2F3                       CALL    TSTC
 1224     E7AD    3D                            DB      '='
 1225     E7AE    0A                            DB      LF
 1226     E7AF    CD E60C                       CALL    EXPR
 1227     E7B2    44                            MOV     B,H
 1228     E7B3    4D                            MOV     C,L
 1229     E7B4    E1                            POP     H
 1230     E7B5    71                            MOV     M,C
 1231     E7B6    23                            INX     H
 1232     E7B7    70                            MOV     M,B
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-22


 1233     E7B8    C9                            RET
 1234     E7B9    C3 E7D5                       JMP     QWHAT
 1235                                           ;
 1236                                           ;  FIN
 1237                                           ;
 1238     E7BC    CD E2F3               FIN:    CALL    TSTC
 1239     E7BF    3A                            DB      ':'
 1240     E7C0    04                            DB      4
 1241     E7C1    F1                            POP     PSW
 1242     E7C2    C3 E36E                       JMP     RUNSML
 1243     E7C5    CD E2F3                       CALL    TSTC
 1244     E7C8    0D                            DB      CR
 1245     E7C9    04                            DB      4
 1246     E7CA    F1                            POP     PSW
 1247     E7CB    C3 E35E                       JMP     RUNNXL
 1248     E7CE    C9                            RET
 1249                                           ;
 1250                                           ;  ENDCHK
 1251                                           ;
 1252     E7CF    CD E2B0               ENDCHK: CALL    IGNB
 1253     E7D2    FE 0D                         CPI     CR
 1254     E7D4    C8                            RZ
 1255     E7D5    D5                    QWHAT:  PUSH    D
 1256     E7D6    11 E343               AWHAT:  LXI     D,WHAT
 1257     E7D9    97                    ERROR:  SUB     A
 1258     E7DA    32 0026                       STA     MODE    ;  NORMALNI ZOBRAZENI
 1259     E7DD    CD E893                       CALL    PRTSTG
 1260     E7E0    CD EB81                       CALL    DISP
 1261     E7E3    D1                            POP     D
 1262     E7E4    1A                            LDAX    D
 1263     E7E5    F5                            PUSH    PSW
 1264     E7E6    97                            SUB     A
 1265     E7E7    12                            STAX    D
 1266     E7E8    2A 0010                       LHLD    CURRNT
 1267     E7EB    E5                            PUSH    H
 1268     E7EC    7E                            MOV     A,M
 1269     E7ED    23                            INX     H
 1270     E7EE    B6                            ORA     M
 1271     E7EF    D1                            POP     D
 1272     E7F0    CA E03E                       JZ      RSTART
 1273     E7F3    7E                            MOV     A,M
 1274     E7F4    B7                            ORA     A
 1275     E7F5    FA E582                       JM      INPERR
 1276     E7F8    CD E8FA                       CALL    PRTLN
 1277     E7FB    1B                            DCX     D
 1278     E7FC    F1                            POP     PSW
 1279     E7FD    12                            STAX    D
 1280     E7FE    3E 3F                         MVI     A,03FH
 1281     E800    CD E976                       CALL    OUTC
 1282     E803    97                            SUB     A
 1283     E804    CD E893                       CALL    PRTSTG
 1284     E807    C3 E03E                       JMP     RSTART
 1285     E80A    D5                    QSORRY: PUSH    D
 1286     E80B    11 E349               ASORRY: LXI     D,SORRY
 1287     E80E    C3 E7D9                       JMP     ERROR
 1288                                           ;
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-23


 1289                                           ;
 1290                                           ;
 1291                                           ;       GETLN
 1292                                           ;
 1293                                           ;       ULOZ RADEK DO BUFFERU, V <DE> ADRESA POSLRNIHO ZNAKU + 1
 1294                                           ;
 1295     E811    78                    GETLN:  MOV     A,B     ; VYTISKNI (B) - VESMES 5CH
 1296     E812    CD E976                       CALL    OUTC
 1297     E815    CD E9D8                       CALL    DBUFF   ; DE:=UKAZATEL NA ZACATEK
 1298                                                           ; VYROVNAVACI PAMETI RADKU
 1299     E818    CD F803               GL1:    CALL    CI      ; A:= ZNAK Z KLAVESNICE
 1300     E81B    FE 1B                         CPI     ESC
 1301     E81D    CA E818                       JZ      GL1     ; IGNORUJ ZNAK ESC
 1302     E820    FE 7F                         CPI     RUB     ; IF RUB OUT THEN
 1303     E822    CA E841                       JZ      GL3     ; OPRAV POSLEDNI ZNAK
 1304     E825    FE 08                         CPI     BS      ; IF BACK SPACE THEN
 1305     E827    CA E841                       JZ      GL3     ; OPRAV POSLEDNI ZNAK
 1306     E82A    FE 18                         CPI     CTRLX   ; IF CTRL X THEN
 1307     E82C    CA E851                       JZ      GL4     ; ZRUS RADEK
 1308     E82F    CD E976                       CALL    OUTC    ; ECHO ZNAK NA OBRAZOVKU
 1309     E832    12                            STAX    D       ; ULOZ ZNAK DO VYROVNAVACI PAMETI
 1310                                                           ; RADKU
 1311     E833    13                            INX     D       ; INKREMENTUJ UKAZATEL VYROVNAVACI
 1312                                                           ; PAMETI RADKU
 1313     E834    FE 0D                         CPI     CR      ; IF POSLEDNI ZNAK (CR) THEN
 1314     E836    C8                            RZ              ; NAVRAT
 1315     E837    7B                            MOV     A,E     ; ELSE A:=NIZSI BYTE UKAZATELE
 1316                                                           ; VYROVNAVACI PAMETI RADKU
 1317     E838    E5                    CXBUFE: PUSH    H       ; USCHOVEJ HL
 1318     E839    2A 002B                       LHLD    BUFEND  ; HL:=ADR. KONEC VYROVNAVACI
 1319                                                           ; PAMETI RADKU
 1320     E83C    BD                            CMP     L       ; IF UKAZATEL VYROVNAVACI PAMETI <>
 1321                                                           ; ADR. KONCE RADKU THEN
 1322     E83D    E1                            POP     H       ; OBNOV HL
 1323     E83E    C2 E818                       JNZ     GL1     ; PREVEZMI DALSI ZNAK Z KLAVESNICE
 1324                                                           ; ELSE OPRAVUJ POSLEDNI ZNAK A CEKEJ
 1325                                                           ; NA (CR)
 1326                                                           ; OPRAV POSLEDNI ZNAK
 1327     E841    7B                    GL3:    MOV     A,E     ; A:=NIZSI BYTE UKAZATELE VYROVNAVACI
 1328                                                           ; PAMETI RADKU
 1329     E842    E5                    CXBUFA: PUSH    H       ; USCHOVEJ HL
 1330     E843    2A 0029                       LHLD    BUFFER  ; HL:=ADR. ZACATKU VYROVNAVACI PAMETI
 1331                                                           ; RADKU
 1332     E846    BD                            CMP     L       ; IF UKAZATEL NA ZACATKU VYROV. PAMETI
 1333     E847    E1                            POP     H       ; THEN OBNOV HL
 1334     E848    CA E851                       JZ      GL4     ; NASTAV ZACATEK RADKU
 1335     E84B    CD E859                       CALL    GL5     ; ELSE ZRUS POSLEDNI ZNAK
 1336     E84E    C3 E818                       JMP     GL1     ; PREVEZMI DALSI ZNAK Z KLAVESNICE
 1337                                                           ; ZRUS RADEK
 1338     E851    CD E974               GL4:    CALL    CRLF    ; VYTISKNI NA OBRAZOVKU (CR),(LF)
 1339     E854    06 5C                         MVI     B,5CH   ; VYTISKNI 5CH
 1340     E856    C3 E811                       JMP     GETLN   ; PREVEZMI Z KLAVESNICE NOVY RADEK
 1341                                                           ; OPRAV POSLEDNI ZNAK
 1342     E859    1B                    GL5:    DCX     D       ; DEKREMENTUJ UKAZATEL VYROVNAVACI
 1343                                                           ; PAMETI RADKU NA POSLEDNI
 1344                                                           ; PLATNY ZNAK
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-24


 1345     E85A    3E 08                         MVI     A,8     ; A:=BACK SPACE
 1346     E85C    CD E976                       CALL    OUTC    ; POSUN KURZORU O 1 MISTO VLEVO
 1347     E85F    3E 20                         MVI     A,' '   ; A:=MEZERA
 1348     E861    CD E976                       CALL    OUTC    ; VYTISKNI NA MISTO NEPLATNEHO ZNAKU
 1349                                                           ; MEZERU
 1350     E864    3E 08                         MVI     A,8     ; POSUN KURZORU ZPET NA MEZERU
 1351     E866    C3 E976                       JMP     OUTC    ; NAVRAT RETURNEM Z OUTC
 1352                                           ;
 1353                                           ;
 1354                                           ;
 1355                                           ;       FNDLN
 1356                                           ;
 1357                                           ;       NAJDI ADRESU RADKU S CISLEM <HL> A ULOZ JI DO <DE>
 1358                                           ;       NASTAV PRIZNAK FF-Z PRI ROVNOSTI. FF-C PRI NEEXISTENCI
 1359                                           ;
 1360     E869    7C                    FNDLN:  MOV     A,H
 1361     E86A    B7                            ORA     A
 1362     E86B    FA E331                       JM      QHOW
 1363     E86E    11 009B                       LXI     D,TXTBGN
 1364     E871    E5                    FNDLP:  PUSH    H
 1365     E872    2A 003B                       LHLD    TXTUNF
 1366     E875    2B                            DCX     H
 1367     E876    CD E2AA                       CALL    COMP
 1368     E879    E1                            POP     H
 1369     E87A    D8                            RC
 1370     E87B    1A                            LDAX    D
 1371     E87C    95                            SUB     L
 1372     E87D    47                            MOV     B,A
 1373     E87E    13                            INX     D
 1374     E87F    1A                            LDAX    D
 1375     E880    9C                            SBB     H
 1376     E881    DA E888                       JC      FL2
 1377     E884    1B                            DCX     D
 1378     E885    B0                            ORA     B
 1379     E886    C9                            RET
 1380                                           ;
 1381                                           ;
 1382                                           ;
 1383                                           ;       FNDNXT
 1384                                           ;
 1385                                           ;       NAJDI KONEC RADKU, DO <HL> ULOZ ADRESU DALSIHO RADKU
 1386                                           ;
 1387     E887    13                    FNDNXT: INX     D
 1388     E888    13                    FL2:    INX     D
 1389     E889    1A                    FNDSKP: LDAX    D
 1390     E88A    FE 0D                         CPI     CR
 1391     E88C    C2 E888                       JNZ     FL2
 1392     E88F    13                            INX     D
 1393     E890    C3 E871                       JMP     FNDLP
 1394                                           ;
 1395                                           ;  PRTSTG
 1396                                           ;
 1397     E893    47                    PRTSTG: MOV     B,A
 1398     E894    1A                    PS1:    LDAX    D
 1399     E895    13                            INX     D
 1400     E896    B8                            CMP     B
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-25


 1401     E897    C8                            RZ
 1402     E898    CD E976                       CALL    OUTC
 1403     E89B    FE 0D                         CPI     CR
 1404     E89D    C2 E894                       JNZ     PS1
 1405     E8A0    C9                            RET
 1406                                           ;
 1407                                           ;  QTSTG
 1408                                           ;
 1409     E8A1    CD E2F3               QTSTG:  CALL    TSTC
 1410     E8A4    22                            DB      '"'
 1411     E8A5    0F                            DB      0FH
 1412     E8A6    3E 22                         MVI     A,'"'
 1413     E8A8    CD E893               QT1:    CALL    PRTSTG
 1414     E8AB    FE 0D                         CPI     CR
 1415     E8AD    E1                            POP     H
 1416     E8AE    CA E401                       JZ      PR6
 1417     E8B1    23                    QT2:    INX     H
 1418     E8B2    23                            INX     H
 1419     E8B3    23                            INX     H
 1420     E8B4    E9                            PCHL
 1421     E8B5    C9                            RET
 1422                                           ;
 1423                                           ;  PRTNUM
 1424                                           ;
 1425     E8B6    06 00                 PRTNUM: MVI     B,0
 1426     E8B8    CD E782                       CALL    CHKSGN
 1427     E8BB    F2 E8C1                       JP      PN1
 1428     E8BE    06 2D                         MVI     B,2DH
 1429     E8C0    0D                            DCR     C
 1430     E8C1    D5                    PN1:    PUSH    D
 1431     E8C2    11 000A                       LXI     D,0AH   ;  PREVOD BIN --> DEC
 1432     E8C5    D5                            PUSH    D
 1433     E8C6    0D                            DCR     C
 1434     E8C7    C5                            PUSH    B
 1435     E8C8    CD E765               PN2:    CALL    DIVIDE
 1436     E8CB    78                            MOV     A,B
 1437     E8CC    B1                            ORA     C
 1438     E8CD    CA E8D8                       JZ      PN3
 1439     E8D0    E3                            XTHL
 1440     E8D1    2D                            DCR     L
 1441     E8D2    E5                            PUSH    H
 1442     E8D3    60                            MOV     H,B
 1443     E8D4    69                            MOV     L,C
 1444     E8D5    C3 E8C8                       JMP     PN2
 1445     E8D8    C1                    PN3:    POP     B
 1446     E8D9    0D                    PN4:    DCR     C
 1447     E8DA    79                            MOV     A,C
 1448     E8DB    B7                            ORA     A
 1449     E8DC    FA E8E7                       JM      PN5
 1450     E8DF    3E 20                         MVI     A,20H
 1451     E8E1    CD E976                       CALL    OUTC
 1452     E8E4    C3 E8D9                       JMP     PN4
 1453     E8E7    78                    PN5:    MOV     A,B
 1454     E8E8    B7                            ORA     A
 1455     E8E9    C4 E976                       CNZ     OUTC
 1456     E8EC    5D                            MOV     E,L
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-26


 1457     E8ED    7B                    PN6:    MOV     A,E
 1458     E8EE    FE 0A                         CPI     LF
 1459     E8F0    D1                            POP     D
 1460     E8F1    C8                            RZ
 1461     E8F2    C6 30                         ADI     30H
 1462     E8F4    CD E976                       CALL    OUTC
 1463     E8F7    C3 E8ED                       JMP     PN6
 1464                                           ;
 1465                                           ;
 1466                                           ;
 1467                                           ;       PRTLN
 1468                                           ;
 1469                                           ;       ZOBRAZ RADEK VCETNE CISLA, V <DE> ADRESA LOW CISLA RADKU
 1470                                           ;
 1471     E8FA    1A                    PRTLN:  LDAX    D
 1472     E8FB    6F                            MOV     L,A
 1473     E8FC    13                            INX     D
 1474     E8FD    1A                            LDAX    D
 1475     E8FE    67                            MOV     H,A
 1476     E8FF    13                            INX     D
 1477     E900    0E 04                         MVI     C,4
 1478     E902    CD E8B6                       CALL    PRTNUM
 1479     E905    3E 20                         MVI     A,20H
 1480     E907    CD E976                       CALL    OUTC
 1481     E90A    97                            SUB     A
 1482     E90B    CD E893                       CALL    PRTSTG
 1483     E90E    C9                            RET
 1484                                           ;
 1485                                           ;
 1486                                           ;
 1487                                           ;       MVUP
 1488                                           ;
 1489                                           ;       POSUN PAMETI OD <DE> PO <HL> NA <BC> (DOPREDU)
 1490                                           ;
 1491     E90F    CD E2AA               MVUP:   CALL    COMP
 1492     E912    C8                            RZ
 1493     E913    1A                            LDAX    D
 1494     E914    02                            STAX    B
 1495     E915    13                            INX     D
 1496     E916    03                            INX     B
 1497     E917    C3 E90F                       JMP     MVUP
 1498                                           ;
 1499                                           ;
 1500                                           ;
 1501                                           ;       MVDOWN
 1502                                           ;
 1503                                           ;       POSUN PAMET Z <DE> PO <BC> NA <HL> (POZPATKU)
 1504                                           ;
 1505     E91A    78                    MVDOWN: MOV     A,B
 1506     E91B    92                            SUB     D
 1507     E91C    C2 E922                       JNZ     MD1
 1508     E91F    79                            MOV     A,C
 1509     E920    93                            SUB     E
 1510     E921    C8                            RZ
 1511     E922    1B                    MD1:    DCX     D
 1512     E923    2B                            DCX     H
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-27


 1513     E924    1A                            LDAX    D
 1514     E925    77                            MOV     M,A
 1515     E926    C3 E91A                       JMP     MVDOWN
 1516                                           ;
 1517                                           ;  POPA
 1518                                           ;
 1519     E929    C1                    POPA:   POP     B
 1520     E92A    E1                            POP     H
 1521     E92B    22 0018                       SHLD    LOPVAR
 1522     E92E    7C                            MOV     A,H
 1523     E92F    B5                            ORA     L
 1524     E930    CA E943                       JZ      PP1
 1525     E933    E1                            POP     H
 1526     E934    22 001A                       SHLD    LOPINC
 1527     E937    E1                            POP     H
 1528     E938    22 001C                       SHLD    LOPLMT
 1529     E93B    E1                            POP     H
 1530     E93C    22 001E                       SHLD    LOPLN
 1531     E93F    E1                            POP     H
 1532     E940    22 0020                       SHLD    LOPPT
 1533     E943    C5                    PP1:    PUSH    B
 1534     E944    C9                            RET
 1535                                           ;
 1536                                           ;  PUSHA
 1537                                           ;
 1538     E945    D5                    PUSHA:  PUSH    D               ; USCHOVEJ DE
 1539     E946    2A 0004                       LHLD    RAMEND
 1540     E949    11 FFC4                       LXI     D,0FFC4H        ; DVOJKOVY DOPLNEK (64-5)
 1541     E94C    19                            DAD     D               ; HL:=KONEC STACKU +5
 1542     E94D    D1                            POP     D               ; OBNOV DE
 1543     E94E    CD E785                       CALL    CHGSGN          ; ZMEN ZNAMENKO <HL>
 1544     E951    C1                            POP     B
 1545     E952    39                            DAD     SP              ; PREKROCENI ZASOBNIKU?
 1546     E953    D2 E80A                       JNC     QSORRY          ; ANO - CHYBA
 1547     E956    2A 0018                       LHLD    LOPVAR
 1548     E959    7C                            MOV     A,H
 1549     E95A    B5                            ORA     L
 1550     E95B    CA E971                       JZ      PU1             ; JDE O CYKLUS ?
 1551     E95E    2A 0020                       LHLD    LOPPT
 1552     E961    E5                            PUSH    H
 1553     E962    2A 001E                       LHLD    LOPLN
 1554     E965    E5                            PUSH    H
 1555     E966    2A 001C                       LHLD    LOPLMT
 1556     E969    E5                            PUSH    H
 1557     E96A    2A 001A                       LHLD    LOPINC
 1558     E96D    E5                            PUSH    H
 1559     E96E    2A 0018                       LHLD    LOPVAR
 1560     E971    E5                    PU1:    PUSH    H               ; ULOZ PARAMETRY PROMENNE
 1561     E972    C5                            PUSH    B
 1562     E973    C9                            RET
 1563                                           ;
 1564                                           ;  CRLF , OUTC
 1565                                           ;
 1566     E974    3E 0D                 CRLF:   MVI     A,CR
 1567     E976    F5                    OUTC:   PUSH    PSW
 1568     E977    FE 0D                         CPI     CR
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-28


 1569     E979    CA E981                       JZ      LINEF
 1570     E97C    CD 000C                       CALL    CO
 1571     E97F    F1                    H2:     POP     PSW
 1572     E980    C9                            RET
 1573     E981    CD E987               LINEF:  CALL    CROUT
 1574     E984    C3 E97F                       JMP     H2
 1575     E987    3E 0D                 CROUT:  MVI     A,CR
 1576     E989    CD 000C                       CALL    CO
 1577     E98C    3E 0A                         MVI     A,LF
 1578     E98E    C3 000C                       JMP     CO
 1579                                           ;
 1580                                           ;  NULOVANI DISPLEJE
 1581                                           ;
 1582     E991    C5                    CLS:    PUSH    B
 1583     E992    3E 0C                         MVI     A,FF
 1584     E994    CD 000C                       CALL    CO
 1585     E997    3E 1D                         MVI     A,HOME
 1586     E999    CD 000C                       CALL    CO
 1587     E99C    3E 1F                         MVI     A,DSCR
 1588     E99E    CD 000C                       CALL    CO
 1589     E9A1    C1                            POP     B
 1590     E9A2    CD E2B8                       CALL    FINI
 1591                                           ;
 1592                                           ;  DIRECT MODUL
 1593                                           ;
 1594     E9A5    21 E0E8               DIRECT: LXI     H,TAB1-1
 1595     E9A8    CD E2B0               EXEC:   CALL    IGNB
 1596     E9AB    D5                            PUSH    D
 1597     E9AC    1A                    EX1:    LDAX    D
 1598     E9AD    13                            INX     D
 1599     E9AE    FE 2E                         CPI     '.'
 1600     E9B0    CA E9CA                       JZ      EX3
 1601     E9B3    23                            INX     H
 1602     E9B4    BE                            CMP     M
 1603     E9B5    CA E9AC                       JZ      EX1
 1604     E9B8    3E 00                         MVI     A,0
 1605     E9BA    1B                            DCX     D
 1606     E9BB    BE                            CMP     M
 1607     E9BC    CA E9D1                       JZ      EX5
 1608     E9BF    23                    EX2:    INX     H
 1609     E9C0    BE                            CMP     M
 1610     E9C1    C2 E9BF                       JNZ     EX2
 1611     E9C4    23                            INX     H
 1612     E9C5    23                            INX     H
 1613     E9C6    D1                            POP     D
 1614     E9C7    C3 E9A8                       JMP     EXEC
 1615     E9CA    3E 00                 EX3:    MVI     A,0
 1616     E9CC    23                    EX4:    INX     H
 1617     E9CD    BE                            CMP     M
 1618     E9CE    C2 E9CC                       JNZ     EX4
 1619     E9D1    23                    EX5:    INX     H
 1620     E9D2    7E                            MOV     A,M
 1621     E9D3    23                            INX     H
 1622     E9D4    66                            MOV     H,M
 1623     E9D5    6F                            MOV     L,A
 1624     E9D6    F1                            POP     PSW
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-29


 1625     E9D7    E9                            PCHL
 1626                                           ;
 1627                                           ;  DBUFF
 1628                                           ;
 1629     E9D8    E5                    DBUFF:  PUSH    H
 1630     E9D9    2A 0029                       LHLD    BUFFER
 1631     E9DC    54                            MOV     D,H
 1632     E9DD    5D                            MOV     E,L
 1633     E9DE    E1                            POP     H
 1634     E9DF    C9                            RET
 1635                                           ;
 1636                                           ;
 1637                                           ;
 1638                                           ; DTXTE
 1639                                           ;
 1640     E9E0    E5                    DTXTE:  PUSH    H
 1641     E9E1    2A 0027                       LHLD    TXTEND
 1642     E9E4    54                            MOV     D,H
 1643     E9E5    5D                            MOV     E,L
 1644     E9E6    E1                            POP     H
 1645     E9E7    C9                            RET
 1646                                           ;
 1647                                           ;
 1648                                           ;
 1649                                           ; MASKA
 1650                                           ;
 1651     E9E8    CD E60C               MASK:   CALL    EXPR
 1652     E9EB    7D                            MOV     A,L
 1653     E9EC    32 000F                       STA     MASKIN
 1654     E9EF    CD E2B8                       CALL    FINI
 1655                                           ;
 1656                                           ;  RAM
 1657                                           ;
 1658     E9F2    CD E60C               RAM:    CALL    EXPR    ; VSTUP PARAMETRU DO <HL>
 1659     E9F5    EB                    RAM1:   XCHG            ; SCHOVEJ <HL> DO <DE>
 1660     E9F6    21 00BB                       LXI     H,TXTE  ; MINIMALNI ADRESA KONCE PROGRAMU
 1661     E9F9    CD E2AA                       CALL    COMP
 1662     E9FC    D2 E80B                       JNC     ASORRY  ; CHYBA V PODTECENI MOZNE PROGRAMOVE RAM
 1663     E9FF    CD E0CF                       CALL    USREND  ; MAXIMALNI ADRESA KONCE PROGRAMU
 1664     EA02    CD E2AA                       CALL    COMP
 1665     EA05    DA E80B                       JC      ASORRY  ; CHYBA V PRETECENI MOZNE PROGRAMOVE RAM
 1666     EA08    EB                            XCHG            ; OBNOV <HL>
 1667     EA09    22 002B                       SHLD    BUFEND  ; NASTAVENI KONCE BUFFERU
 1668     EA0C    11 FFC0                       LXI     D,0FFC0H        ; DNOJKOVY DOPLNEK 64
 1669     EA0F    19                            DAD     D       ; PRO BUFFER VYHRAZENO 64 BYTE
 1670     EA10    22 0029                       SHLD    BUFFER  ; NASTAVENI UKAZATELE ZACATKU BUFFERU
 1671     EA13    2B                            DCX     H
 1672     EA14    2B                            DCX     H
 1673     EA15    C3 E03B                       JMP     START1
 1674                                           ;
 1675                                           ;  CALL
 1676                                           ;
 1677     EA18    CD E60C               BCALL:  CALL    EXPR
 1678     EA1B    D5                            PUSH    D
 1679     EA1C    01 EA21                       LXI     B,HERE
 1680     EA1F    C5                            PUSH    B
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-30


 1681     EA20    E9                            PCHL
 1682     EA21    D1                    HERE:   POP     D
 1683     EA22    CD E2B8                       CALL    FINI
 1684                                           ;
 1685                                           ;  OUT
 1686                                           ;
 1687     EA25    CD E60C               BOUT:   CALL    EXPR
 1688     EA28    E5                            PUSH    H
 1689     EA29    CD E2F3                       CALL    TSTC
 1690     EA2C    2C                            DB      ','
 1691     EA2D    1A                            DB      1AH
 1692     EA2E    CD E60C                       CALL    EXPR
 1693     EA31    45                            MOV     B,L
 1694     EA32    3E D3                         MVI     A,0D3H
 1695     EA34    32 0008                       STA     IOBUFA
 1696     EA37    E1                            POP     H
 1697     EA38    7D                            MOV     A,L
 1698     EA39    32 0009                       STA     IOBUFB
 1699     EA3C    3E C9                         MVI     A,0C9H
 1700     EA3E    32 000A                       STA     IOBUFC
 1701     EA41    78                            MOV     A,B
 1702     EA42    CD 0008                       CALL    IOBUFA
 1703     EA45    CD E2B8                       CALL    FINI
 1704     EA48    C3 E7D5                       JMP     QWHAT
 1705                                           ;
 1706                                           ;
 1707                                           ;  TAB
 1708                                           ;
 1709     EA4B    CD E70B               TAB:    CALL    PARN
 1710     EA4E    7C                    A1:     MOV     A,H
 1711     EA4F    B5                            ORA     L
 1712     EA50    CC E2B8                       CZ      FINI
 1713     EA53    2B                            DCX     H
 1714     EA54    3E 20                         MVI     A,20H
 1715     EA56    CD 000C                       CALL    CO
 1716     EA59    C3 EA4E                       JMP     A1
 1717                                           ;
 1718                                           ;  IN , INM
 1719                                           ;
 1720     EA5C    CD EA6B               BIN:    CALL    INEM
 1721     EA5F    6F                            MOV     L,A
 1722     EA60    C9                            RET
 1723     EA61    CD EA6B               INM:    CALL    INEM
 1724     EA64    6F                            MOV     L,A
 1725     EA65    3A 000F                       LDA     MASKIN
 1726     EA68    A5                            ANA     L
 1727     EA69    6F                            MOV     L,A
 1728     EA6A    C9                            RET
 1729     EA6B    CD E70B               INEM:   CALL    PARN
 1730     EA6E    E5                            PUSH    H
 1731     EA6F    3E DB                         MVI     A,0DBH
 1732     EA71    32 0008                       STA     IOBUFA
 1733     EA74    E1                            POP     H
 1734     EA75    7D                            MOV     A,L
 1735     EA76    32 0009                       STA     IOBUFB
 1736     EA79    3E C9                         MVI     A,0C9H
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-31


 1737     EA7B    32 000A                       STA     IOBUFC
 1738     EA7E    CD 0008                       CALL    IOBUFA
 1739     EA81    26 00                         MVI     H,0
 1740     EA83    C9                            RET
 1741                                           ;
 1742                                           ;  O$
 1743                                           ;
 1744     EA84    CD E60C               O:      CALL    EXPR
 1745     EA87    D5                            PUSH    D
 1746     EA88    EB                            XCHG
 1747     EA89    AF                            XRA     A
 1748     EA8A    CD E893                       CALL    PRTSTG
 1749     EA8D    D1                    ZZZ4:   POP     D
 1750     EA8E    CD E2B8                       CALL    FINI
 1751                                           ;
 1752                                           ;  I$
 1753                                           ;
 1754     EA91    CD E60C               I:      CALL    EXPR
 1755     EA94    D5                            PUSH    D
 1756     EA95    EB                            XCHG
 1757     EA96    2A 003B                       LHLD    TXTUNF
 1758     EA99    EB                            XCHG
 1759     EA9A    CD E2AA                       CALL    COMP
 1760     EA9D    DA E80B                       JC      ASORRY
 1761     EAA0    CD E9D8                       CALL    DBUFF
 1762     EAA3    CD E818                       CALL    GL1
 1763     EAA6    44                            MOV     B,H
 1764     EAA7    4D                            MOV     C,L
 1765     EAA8    EB                            XCHG
 1766     EAA9    2B                            DCX     H
 1767     EAAA    CD E9D8                       CALL    DBUFF
 1768     EAAD    D5                            PUSH    D
 1769     EAAE    CD E90F                       CALL    MVUP
 1770     EAB1    AF                            XRA     A
 1771     EAB2    02                            STAX    B
 1772     EAB3    D1                            POP     D
 1773     EAB4    23                            INX     H
 1774     EAB5    CD E77B                       CALL    SUBDE
 1775     EAB8    EB                            XCHG
 1776     EAB9    21 0006                       LXI     H,LEGT
 1777     EABC    73                            MOV     M,E
 1778     EABD    23                            INX     H
 1779     EABE    72                            MOV     M,D
 1780     EABF    C3 EA8D                       JMP     ZZZ4
 1781                                           ;
 1782                                           ;  PEEK
 1783                                           ;
 1784     EAC2    CD E70B               PEEK:   CALL    PARN
 1785     EAC5    6E                            MOV     L,M
 1786     EAC6    26 00                         MVI     H,0
 1787     EAC8    C9                            RET
 1788                                           ;
 1789                                           ;  POKE
 1790                                           ;
 1791     EAC9    CD E60C               POKE:   CALL    EXPR
 1792     EACC    E5                            PUSH    H
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-32


 1793     EACD    CD E2F3                       CALL    TSTC
 1794     EAD0    2C                            DB      ','
 1795     EAD1    09                            DB      9
 1796     EAD2    CD E60C                       CALL    EXPR
 1797     EAD5    7D                            MOV     A,L
 1798     EAD6    E1                            POP     H
 1799     EAD7    77                            MOV     M,A
 1800     EAD8    CD E2B8                       CALL    FINI
 1801     EADB    C3 E7D5                       JMP     QWHAT
 1802                                           ;
 1803                                           ;  BYTE
 1804                                           ;
 1805     EADE    CD E70B               BYTE:   CALL    PARN
 1806     EAE1    7D                            MOV     A,L
 1807     EAE2    CD EAF1                       CALL    WRIT2
 1808     EAE5    CD E2B8                       CALL    FINI
 1809                                           ;
 1810                                           ;
 1811                                           ;
 1812                                           ;  WORD
 1813                                           ;
 1814     EAE8    CD E70B               WORD:   CALL    PARN
 1815     EAEB    CD F830                       CALL    DADR
 1816     EAEE    CD E2B8                       CALL    FINI
 1817                                           ;
 1818                                           ;
 1819                                           ;
 1820                                           ;       WRIT2
 1821                                           ;
 1822     EAF1    F5                    WRIT2:  PUSH    PSW
 1823     EAF2    0F                            RRC
 1824     EAF3    0F                            RRC
 1825     EAF4    0F                            RRC
 1826     EAF5    0F                            RRC
 1827     EAF6    CD EAFA                       CALL    IST
 1828     EAF9    F1                            POP     PSW
 1829     EAFA    E6 0F                 IST:    ANI     0FH
 1830     EAFC    C6 90                         ADI     90H
 1831     EAFE    27                            DAA
 1832     EAFF    CE 40                         ACI     40H
 1833     EB01    27                            DAA
 1834     EB02    C3 E976                       JMP     OUTC
 1835                                           ;
 1836                                           ;
 1837                                           ;
 1838                                           ;       QUOTE
 1839                                           ;
 1840     EB05    1A                    QUOTE:  LDAX    D
 1841     EB06    13                            INX     D
 1842     EB07    6F                            MOV     L,A
 1843     EB08    26 00                         MVI     H,0
 1844     EB0A    CD E2F3                       CALL    TSTC
 1845     EB0D    27                            DB      27H
 1846     EB0E    01                            DB      1
 1847     EB0F    C9                            RET
 1848     EB10    C3 E7D5                       JMP     QWHAT
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-33


 1849                                           ;
 1850                                           ;  OUTCHAR
 1851                                           ;
 1852     EB13    CD E60C               OUTCHR: CALL    EXPR
 1853     EB16    7D                            MOV     A,L
 1854     EB17    CD 000C                       CALL    CO
 1855     EB1A    CD E2B8                       CALL    FINI
 1856                                           ;
 1857                                           ;  INCHAR
 1858                                           ;
 1859     EB1D    21 0000               INCHAR: LXI     H,0
 1860     EB20    CD F812                       CALL    CSTS
 1861     EB23    C8                            RZ
 1862     EB24    CD F803                       CALL    CI
 1863     EB27    6F                            MOV     L,A
 1864     EB28    C9                            RET
 1865                                           ;
 1866                                           ;  HEX
 1867                                           ;
 1868     EB29    C5                    HEX:    PUSH    B
 1869     EB2A    21 0000                       LXI     H,0
 1870     EB2D    CD E2F3                       CALL    TSTC
 1871     EB30    28                            DB      '('
 1872     EB31    1D                            DB      1DH
 1873     EB32    1A                    HNXTH:  LDAX    D
 1874     EB33    FE 0D                         CPI     CR
 1875     EB35    CA E7D5                       JZ      QWHAT
 1876     EB38    CD F82D                       CALL    ASHEX
 1877     EB3B    DA E7D5                       JC      QWHAT
 1878     EB3E    29                            DAD     H
 1879     EB3F    29                            DAD     H
 1880     EB40    29                            DAD     H
 1881     EB41    29                            DAD     H
 1882     EB42    06 00                         MVI     B,0
 1883     EB44    4F                            MOV     C,A
 1884     EB45    09                            DAD     B
 1885     EB46    13                            INX     D
 1886     EB47    CD E2F3                       CALL    TSTC
 1887     EB4A    29                            DB      ')'
 1888     EB4B    03                            DB      3
 1889     EB4C    C3 EB55                       JMP     POPRET
 1890     EB4F    C3 EB32                       JMP     HNXTH
 1891     EB52    C3 E7D5                       JMP     QWHAT
 1892     EB55    C1                    POPRET: POP     B
 1893     EB56    C9                            RET
 1894                                           ;
 1895                                           ;
 1896                                           ;
 1897                                           ;       TEST TLACITKA BREAK
 1898                                           ;
 1899     EB57    CD F812               CONT:   CALL    CSTS    ; IF KLAVESA VESTISKNUTA
 1900     EB5A    B7                            ORA     A       ; THEN POKRACUJ
 1901     EB5B    C8                            RZ
 1902     EB5C    CD F803                       CALL    CI
 1903     EB5F    FE 03                         CPI     CTRLC   ; IF <> CTRL-C THEN
 1904     EB61    C0                            RNZ             ; POKRACUJ
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-34


 1905     EB62    C3 EB68                       JMP     BREAK   ; ELSE BREAK
 1906                                           ;
 1907     EB65    CD E7CF               STOP:   CALL    ENDCHK
 1908     EB68    2A 0010               BREAK:  LHLD    CURRNT
 1909     EB6B    EB                    BREAK1: XCHG
 1910     EB6C    CD E974                       CALL    CRLF
 1911     EB6F    3E 2A                         MVI     A,'*'
 1912     EB71    CD E976                       CALL    OUTC
 1913     EB74    CD E8FA                       CALL    PRTLN
 1914     EB77    C3 E03E                       JMP     RSTART
 1915                                           ;
 1916                                           ;
 1917                                           ;
 1918                                           ;       ZMENA VYSTUPU
 1919                                           ;
 1920     EB7A    21 EB8C               PRNTST: LXI     H,LO1
 1921     EB7D    22 000D               SETCO:  SHLD    CO+1
 1922     EB80    C9                            RET
 1923
 1924     EB81    3E C3                 DISP:   MVI     A,0C3H
 1925     EB83    32 000C                       STA     CO
 1926     EB86    21 EB93                       LXI     H,OUTDIS
 1927     EB89    C3 EB7D                       JMP     SETCO
 1928
 1929     EB8C    C5                    LO1:    PUSH    B       ; USCHOVEJ POCITADLO
 1930     EB8D    4F                            MOV     C,A
 1931     EB8E    CD F80F                       CALL    LO
 1932     EB91    C1                            POP     B       ; OBNOV POCITADLO
 1933     EB92    C9                            RET
 1934
 1935     EB93    C5                    OUTDIS: PUSH    B       ; USCHOVEJ POCITADLO
 1936     EB94    4F                            MOV     C,A
 1937     EB95    CD EB9A                       CALL    ECOM
 1938     EB98    C1                            POP     B       ; OBNOV POCITADLO
 1939     EB99    C9                            RET
 1940                                           ;
 1941     EB9A    F5                    ECOM:   PUSH    PSW
 1942     EB9B    3A 0026                       LDA     MODE
 1943     EB9E    B7                            ORA     A
 1944     EB9F    CA EBAC                       JZ      ECOM0   ;  ZOBRAZ INVERZNE ?
 1945     EBA2    79                            MOV     A,C
 1946     EBA3    FE 20                         CPI     20H
 1947     EBA5    DA EBAC                       JC      ECOM0   ;  RIDICI ZNAKY NORMALNE
 1948     EBA8    3E 80                         MVI     A,80H
 1949     EBAA    B1                            ORA     C
 1950     EBAB    4F                            MOV     C,A
 1951     EBAC    CD F809               ECOM0:  CALL    COM
 1952     EBAF    F1                            POP     PSW
 1953     EBB0    C9                            RET
 1954                                           ;
 1955                                           ;
 1956                                           ;       SKOK DO MONITORU
 1957
 1958     EBB1    C3 F839               MONIT:  JMP     NEXTM   ; TEPLY START MONITORU
 1959                                           ;
 1960                                           ;
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-35


 1961                                           ;
 1962                                           ;*********************************************
 1963                                           ;
 1964                                           ;       DOPLNUJICI CAST PRO PLAN80A
 1965                                           ;
 1966                                           ;*********************************************
 1967                                           ;
 1968                                           ;
 1969                                           ;  WAIT
 1970                                           ;
 1971     EBB4    CD E60C               WAIT:   CALL    EXPR
 1972     EBB7    C5                            PUSH    B       ; USCHOVEJ BC
 1973     EBB8    4D                            MOV     C,L
 1974     EBB9    44                            MOV     B,H
 1975     EBBA    CD F84B                       CALL    TIMER   ; CEKEJ <HL> MILISEKUND
 1976     EBBD    C1                            POP     B       ; OBNOV BC
 1977     EBBE    CD E2B8                       CALL    FINI
 1978                                           ;
 1979                                           ;
 1980                                           ;
 1981                                           ;  BEEP
 1982                                           ;
 1983     EBC1    CD E60C               BEEP:   CALL    EXPR
 1984     EBC4    C5                            PUSH    B       ;USCHOVEJ PRACOVNI REGISTRY
 1985     EBC5    D5                            PUSH    D
 1986     EBC6    7C                            MOV     A,H
 1987     EBC7    B7                            ORA     A
 1988     EBC8    FA E331                       JM      QHOW    ; IF ZAPORNA ERROR
 1989     EBCB    B5                            ORA     L
 1990     EBCC    CA E331                       JZ      QHOW    ; IF 0 ERROR
 1991     EBCF    EB                            XCHG            ; <DE> POCET PIPNUTI DELKY 0.1 S
 1992     EBD0    3E 07                 BEEP0:  MVI     A,07H
 1993     EBD2    CD 000C                       CALL    CO
 1994     EBD5    01 0064                       LXI     B,100
 1995     EBD8    CD F84B                       CALL    TIMER   ; CEKEJ 100 MILISEKUND
 1996     EBDB    1B                            DCX     D
 1997     EBDC    7A                            MOV     A,D
 1998     EBDD    B3                            ORA     E       ; VSECHNA PIPNUTI PROVEDENA ?
 1999     EBDE    C2 EBD0                       JNZ     BEEP0   ; NE - ZNOVU
 2000     EBE1    D1                            POP     D       ; OBNOV REGISTRY
 2001     EBE2    C1                            POP     B
 2002     EBE3    CD E2B8                       CALL    FINI
 2003                                           ;
 2004                                           ;
 2005                                           ;
 2006                                           ;
 2007                                           ; PLOT
 2008                                           ;
 2009                                           ; PRIKAZ KRESLENI PLOT X,Y
 2010                                           ;
 2011     EBE6    CD E60C               PLOT:   CALL    EXPR    ;  VSTUP 1. PARAMETRU ... X
 2012     EBE9    C5                            PUSH    B
 2013     EBEA    E5                            PUSH    H
 2014     EBEB    7D                            MOV     A,L
 2015     EBEC    FE 90                         CPI     144     ; X MAX?
 2016     EBEE    D2 E331                       JNC     QHOW
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-36


 2017     EBF1    CD E2F3                       CALL    TSTC
 2018     EBF4    2C                            DB      ','
 2019     EBF5    1B                            DB      PLTF-$
 2020     EBF6    CD E60C                       CALL    EXPR    ; VSTUP 2. PARAMETRU ... Y
 2021     EBF9    7D                            MOV     A,L
 2022     EBFA    32 002E                       STA     YKUR
 2023     EBFD    FE 40                         CPI     64      ; Y MAX?
 2024     EBFF    D2 E331                       JNC     QHOW
 2025     EC02    7D                            MOV     A,L
 2026     EC03    32 002D                       STA     XKUR
 2027     EC06    65                            MOV     H,L
 2028     EC07    C1                            POP     B
 2029     EC08    69                            MOV     L,C
 2030     EC09    CD EC13                       CALL    PIXL    ; VYKRESLI BOD NA <L>=X, <H>=Y
 2031     EC0C    C1                            POP     B
 2032     EC0D    CD E2B8                       CALL    FINI
 2033     EC10    C3 E7D5               PLTF:   JMP     QWHAT
 2034                                           ;
 2035                                           ;
 2036                                           ;
 2037                                           ; PIXL
 2038                                           ;
 2039                                           ; PODPROGRAM ZOBRAZENI PIXLU GRAFIKY <H>=Y, <L>=X
 2040                                           ;
 2041     EC13    F5                    PIXL:   PUSH    PSW
 2042     EC14    C5                            PUSH    B
 2043     EC15    D5                            PUSH    D
 2044     EC16    E5                            PUSH    H
 2045     EC17    7C                            MOV     A,H     ;  Y - SOURADNICE
 2046     EC18    B7                            ORA     A
 2047     EC19    1F                            RAR             ;  Y/2
 2048     EC1A    6F                            MOV     L,A
 2049     EC1B    26 00                         MVI     H,0
 2050     EC1D    29                            DAD     H
 2051     EC1E    29                            DAD     H
 2052     EC1F    29                            DAD     H
 2053     EC20    29                            DAD     H
 2054     EC21    29                            DAD     H
 2055     EC22    29                            DAD     H       ;  Y/2 * 64
 2056     EC23    EB                            XCHG
 2057     EC24    2A 0004                       LHLD    RAMEND
 2058     EC27    23                            INX     H       ;  ADRESA PRVNIHO ZNAKU DISPLAYE
 2059     EC28    19                            DAD     D       ;  Y/2 * 64 + ADRDIS
 2060     EC29    EB                            XCHG
 2061     EC2A    E1                            POP     H
 2062     EC2B    E5                            PUSH    H
 2063     EC2C    7D                            MOV     A,L     ;  X - SOURADNICE
 2064     EC2D    CD EC87                       CALL    DIVTRI  ;  X/3
 2065     EC30    69                            MOV     L,C
 2066     EC31    26 00                         MVI     H,0
 2067     EC33    19                            DAD     D       ;  Y/2*64 + ADRDIS + X/3 ... ADRESA ZNAKU
 2068     EC34    7E                            MOV     A,M
 2069     EC35    E6 60                         ANI     60H
 2070     EC37    FE 60                         CPI     60H     ;  JDE O GRAFICKY SYMBOL ?
 2071     EC39    CA EC3E                       JZ      PIXL0
 2072     EC3C    36 20                         MVI     M,20H   ;  NE - VYMAZ ZNAKU
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-37


 2073     EC3E    E3                    PIXL0:  XTHL            ;  V <HL> SOURADNICE
 2074     EC3F    7C                            MOV     A,H     ;  Y - SOURADNICE
 2075     EC40    E6 01                         ANI     01H     ;  Y MOD 2
 2076     EC42    47                            MOV     B,A
 2077     EC43    3E 01                         MVI     A,1
 2078     EC45    90                            SUB     B       ;  1 - (Y MOD 2)
 2079     EC46    47                            MOV     B,A
 2080     EC47    87                            ADD     A
 2081     EC48    80                            ADD     B       ;  (1 - (Y MOD 2)) * 3
 2082     EC49    47                            MOV     B,A
 2083     EC4A    7D                            MOV     A,L     ;  X - SOURADNICE
 2084     EC4B    E1                            POP     H       ;  V <HL> ADRESA ZNAKU
 2085     EC4C    E5                            PUSH    H
 2086     EC4D    CD EC87                       CALL    DIVTRI  ;  X MOD 3
 2087     EC50    80                            ADD     B       ;  (1 - (Y MOD 2))*3 + (X MOD 3)
 2088     EC51    FE 05                         CPI     5       ;  JDE O NEPOKRITY PIXL ?
 2089     EC53    CA EC79                       JZ      NEPOK   ;  ANO - SKOK
 2090                                           ;
 2091     EC56    47                    POK:    MOV     B,A
 2092     EC57    3E 80                         MVI     A,80H
 2093     EC59    07                    POK0:   RLC
 2094     EC5A    05                            DCR     B
 2095     EC5B    F2 EC59                       JP      POK0    ;  GENERUJ MASKU POKRITEHO PIXLU
 2096     EC5E    47                            MOV     B,A
 2097     EC5F    7E                            MOV     A,M
 2098     EC60    B7                            ORA     A
 2099     EC61    FA EC6E                       JM      POK1    ;  JE NASTAVEN D7=1 ?
 2100     EC64    78                            MOV     A,B
 2101     EC65    B6                            ORA     M
 2102     EC66    E6 1F                         ANI     1FH
 2103     EC68    F6 60                         ORI     60H
 2104     EC6A    77                            MOV     M,A     ;  NASTAVENI PIXLU 0 - 4 BEZ PIXLU 5
 2105     EC6B    C3 EC82                       JMP     PIXL1
 2106     EC6E    E6 1F                 POK1:   ANI     1FH
 2107     EC70    2F                            CMA
 2108     EC71    B0                            ORA     B
 2109     EC72    2F                            CMA
 2110     EC73    F6 E0                         ORI     0E0H
 2111     EC75    77                            MOV     M,A     ;  NASTAVENI PIXLU 0 - 4 PRI PIXLU 5
 2112     EC76    C3 EC82                       JMP     PIXL1
 2113                                           ;
 2114     EC79    7E                    NEPOK:  MOV     A,M
 2115     EC7A    B7                            ORA     A
 2116     EC7B    FA EC82                       JM      PIXL1   ;  PIXL 5 JIZ NASTAVEN
 2117     EC7E    E6 1F                         ANI     1FH
 2118     EC80    2F                            CMA
 2119     EC81    77                            MOV     M,A     ;  NASTAVENI PIXLU 5
 2120                                           ;
 2121     EC82    E1                    PIXL1:  POP     H
 2122     EC83    D1                            POP     D
 2123     EC84    C1                            POP     B
 2124     EC85    F1                            POP     PSW
 2125     EC86    C9                            RET
 2126                                           ;
 2127     EC87    0E FF                 DIVTRI: MVI     C,0FFH
 2128     EC89    0C                    DIVT0:  INR     C
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-38


 2129     EC8A    D6 03                         SUI     3
 2130     EC8C    D2 EC89                       JNC     DIVT0
 2131     EC8F    C6 03                         ADI     3
 2132     EC91    C9                            RET
 2133                                           ;
 2134                                           ;
 2135                                           ;
 2136                                           ;       DRAW - PRIKAZ SPOJENI DVOU BODU PRIMKOU
 2137                                           ;              XKUR,YKUR ... STARY BOD
 2138                                           ;              PARAMETRY ... NOVY BOD
 2139                                           ;
 2140     EC92    CD E60C               DRAW:   CALL    EXPR
 2141     EC95    C5                            PUSH    B
 2142     EC96    E5                            PUSH    H
 2143     EC97    7D                            MOV     A,L
 2144     EC98    FE 90                         CPI     144     ; XNEW MAX?
 2145     EC9A    D2 E331                       JNC     QHOW
 2146     EC9D    CD E2F3                       CALL    TSTC
 2147     ECA0    2C                            DB      ','
 2148     ECA1    14                            DB      DRAF-$
 2149     ECA2    CD E60C                       CALL    EXPR
 2150     ECA5    7D                            MOV     A,L
 2151     ECA6    FE 40                         CPI     64      ; YNEW MAX?
 2152     ECA8    D2 E331                       JNC     QHOW
 2153     ECAB    65                            MOV     H,L
 2154     ECAC    C1                            POP     B
 2155     ECAD    69                            MOV     L,C     ; <H> = YNEW, <L> = XNEW
 2156     ECAE    CD ECB8                       CALL    INTERP  ; POMOCI INTERPOLATORU KRESLI
 2157     ECB1    C1                            POP     B
 2158     ECB2    CD E2B8                       CALL    FINI    ; XKUR = XNEW, YKUR = YNEW
 2159     ECB5    C3 E7D5               DRAF:   JMP     QWHAT
 2160                                           ;
 2161                                           ;
 2162                                           ;       INTERPOL - PODPROGRAM INTERPOLATOTU Z PMD-85
 2163                                           ;                  <H> = YNEW, <L> = XNEW
 2164                                           ;
 2165     ECB8    F5                    INTERP: PUSH    PSW
 2166     ECB9    C5                            PUSH    B
 2167     ECBA    D5                            PUSH    D
 2168     ECBB    E5                            PUSH    H
 2169                                           ;
 2170     ECBC    3A 002D                       LDA     XKUR
 2171     ECBF    BD                            CMP     L       ; SVISLI SMER?
 2172     ECC0    CA ED45                       JZ      INPO9   ; ANO - SKOK
 2173     ECC3    DA ED51                       JC      INPO11  ; XOLD < XNEW ... SKOK
 2174                                           ;
 2175                                           ;       XOLD > XNEW
 2176                                           ;
 2177     ECC6    95                            SUB     L
 2178     ECC7    5F                            MOV     E,A     ; XOLD - XNEW
 2179     ECC8    0E FF                         MVI     C,0FFH  ; SMER INTERPOLACE
 2180     ECCA    3A 002E               INPO1:  LDA     YKUR    ; YOLD
 2181     ECCD    BC                            CMP     H       ; VODOROVNY SMER?
 2182     ECCE    CA ED4B                       JZ      INPO10  ; ANO - SKOK
 2183     ECD1    DA ED5A                       JC      INPO12  ; YOLD < YNEW ... SKOK
 2184                                           ;
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-39


 2185                                           ;       YOLD > YNEW
 2186                                           ;
 2187     ECD4    94                            SUB     H
 2188     ECD5    57                            MOV     D,A     ; YOLD - YNEW
 2189     ECD6    06 FF                         MVI     B,0FFH  ; SMER INTERPOLACE
 2190     ECD8    7B                    INPO2:  MOV     A,E
 2191     ECD9    32 002F                       STA     DELTAX  ; ROZDIL X SOURADNIC
 2192     ECDC    7A                            MOV     A,D
 2193     ECDD    32 0030                       STA     DELTAY  ; ROZDIL Y SOURADNIC
 2194     ECE0    BB                            CMP     E       ; DELTAX < DELTAY?
 2195     ECE1    DA ED63                       JC      INPO13  ; ANO - SKOK
 2196                                           ;
 2197                                           ;       DELTAX > DELTAY
 2198                                           ;
 2199     ECE4    63                            MOV     H,E
 2200     ECE5    5A                            MOV     E,D     ;DELTAY
 2201     ECE6    54                            MOV     D,H     ;DELTAX
 2202     ECE7    A7                            ANA     A
 2203     ECE8    1F                            RAR
 2204     ECE9    67                            MOV     H,A     ; DELTAY / 2
 2205                                           ;
 2206                                           ;       VLASTNI INTERPOLACE
 2207                                           ;
 2208     ECEA    2E 00                 INPO3:  MVI     L,0     ; CITAC
 2209     ECEC    7D                    INPO4:  MOV     A,L
 2210     ECED    BB                            CMP     E       ; KOMEC?
 2211     ECEE    CA ED6A                       JZ      INPO14  ; ANO - NAVRAT Z PODPROGRAMU
 2212     ECF1    2C                            INR     L       ; INKR. CITAC
 2213     ECF2    7C                            MOV     A,H
 2214     ECF3    82                            ADD     D
 2215     ECF4    67                            MOV     H,A     ; DELTAX + DELTAY/2
 2216     ECF5    DA ED34                       JC      INPO8   ; >255 ... SKOK
 2217     ECF8    BB                            CMP     E       ; =>DELTAY ?
 2218     ECF9    CA ED39                       JZ      INPOEX  ; ROVNO ... SKOK
 2219     ECFC    D2 ED39                       JNC     INPOEX  ; VETSI ... SKOK
 2220     ECFF    3A 002F                       LDA     DELTAX
 2221     ED02    BB                            CMP     E       ; POSUN VE SMERU X?
 2222     ED03    C2 ED0D                       JNZ     INPO5   ; NE - SKOK
 2223     ED06    3A 002D                       LDA     XKUR    ; XOLD
 2224     ED09    81                            ADD     C
 2225     ED0A    32 002D                       STA     XKUR    ; PROVET POSUN X
 2226     ED0D    3A 0030               INPO5:  LDA     DELTAY
 2227     ED10    BB                            CMP     E       ; POSUN VE SMERU Y?
 2228     ED11    C2 ED1B                       JNZ     INPO7   ; NE - SKOK
 2229                                           ;
 2230     ED14    3A 002E               INPO6:  LDA     YKUR    ; YOLD
 2231     ED17    80                            ADD     B
 2232     ED18    32 002E                       STA     YKUR    ; PROVED POSUN Y
 2233     ED1B    E5                    INPO7:  PUSH    H
 2234     ED1C    F5                            PUSH    PSW
 2235     ED1D    2A 002D                       LHLD    XKUR
 2236     ED20    7C                            MOV     A,H
 2237     ED21    FE 40                         CPI     64
 2238     ED23    D2 ED2F                       JNC     INPO15
 2239     ED26    7D                            MOV     A,L
 2240     ED27    FE 90                         CPI     144
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-40


 2241     ED29    D2 ED2F                       JNC     INPO15
 2242     ED2C    CD EC13                       CALL    PIXL    ; ZOBRAZ BOD [XKUR,YKUR]
 2243     ED2F    F1                    INPO15: POP     PSW
 2244     ED30    E1                            POP     H
 2245     ED31    C3 ECEC                       JMP     INPO4   ; DALSI BOD
 2246                                           ;
 2247                                           ;       DELTAX + DELTA/2 > 255
 2248                                           ;
 2249     ED34    7B                    INPO8:  MOV     A,E
 2250     ED35    2F                            CMA
 2251     ED36    84                            ADD     H
 2252     ED37    67                            MOV     H,A     ; BY JUMP HERE IS: LDA 6793
 2253     ED38    3A                            DB      3AH     ; BY JUMP HERE IS: SUB E
 2254                                           ;
 2255                                           ;       DELTAX + DELTAY/2 => DELTAY
 2256                                           ;
 2257     ED39    93                    INPOEX: SUB     E
 2258     ED3A    67                            MOV     H,A
 2259     ED3B    3A 002D                       LDA     XKUR    ; XOLD
 2260     ED3E    81                            ADD     C
 2261     ED3F    32 002D                       STA     XKUR    ; XOLD
 2262     ED42    C3 ED14                       JMP     INPO6
 2263                                           ;
 2264                                           ;       XOLD = XNEW
 2265                                           ;
 2266     ED45    AF                    INPO9:  XRA     A
 2267     ED46    5F                            MOV     E,A
 2268     ED47    4F                            MOV     C,A
 2269     ED48    C3 ECCA                       JMP     INPO1
 2270                                           ;
 2271                                           ;       YOLD = YNEW
 2272                                           ;
 2273     ED4B    AF                    INPO10: XRA     A
 2274     ED4C    57                            MOV     D,A
 2275     ED4D    47                            MOV     B,A
 2276     ED4E    C3 ECD8                       JMP     INPO2
 2277                                           ;
 2278                                           ;       XOJD < XNEW
 2279                                           ;
 2280     ED51    5F                    INPO11: MOV     E,A
 2281     ED52    7D                            MOV     A,L
 2282     ED53    93                            SUB     E
 2283     ED54    5F                            MOV     E,A
 2284     ED55    0E 01                         MVI     C,1
 2285     ED57    C3 ECCA                       JMP     INPO1
 2286                                           ;
 2287                                           ;       YOLD < YNEW
 2288                                           ;
 2289     ED5A    57                    INPO12: MOV     D,A
 2290     ED5B    7C                            MOV     A,H
 2291     ED5C    92                            SUB     D
 2292     ED5D    57                            MOV     D,A
 2293     ED5E    06 01                         MVI     B,1
 2294     ED60    C3 ECD8                       JMP     INPO2
 2295                                           ;
 2296                                           ;       DELTAX < DELTAY
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-41


 2297                                           ;
 2298     ED63    A7                    INPO13: ANA     A
 2299     ED64    7B                            MOV     A,E
 2300     ED65    1F                            RAR
 2301     ED66    67                            MOV     H,A
 2302     ED67    C3 ECEA                       JMP     INPO3
 2303                                           ;
 2304                                           ;       UKONCENI INTERPOLACE
 2305                                           ;
 2306     ED6A    E1                    INPO14: POP     H
 2307     ED6B    D1                            POP     D
 2308     ED6C    C1                            POP     B
 2309     ED6D    F1                            POP     PSW
 2310     ED6E    C9                            RET
 2311                                           ;
 2312                                           ;
 2313                                           ;
 2314                                           ;       MOVE - PRIKAZ POSUNU GRAFICKEHO KURZORU
 2315                                           ;
 2316     ED6F    CD E60C               MOVE:   CALL    EXPR
 2317     ED72    C5                            PUSH    B
 2318     ED73    E5                            PUSH    H
 2319     ED74    7D                            MOV     A,L
 2320     ED75    FE 90                         CPI     144     ; X MAX?
 2321     ED77    D2 E331                       JNC     QHOW
 2322     ED7A    CD E2F3                       CALL    TSTC
 2323     ED7D    2C                            DB      ','
 2324     ED7E    14                            DB      MOVF-$
 2325     ED7F    CD E60C                       CALL    EXPR
 2326     ED82    7D                            MOV     A,L
 2327     ED83    FE 40                         CPI     64      ; Y MAX?
 2328     ED85    D2 E331                       JNC     QHOW
 2329     ED88    65                            MOV     H,L
 2330     ED89    C1                            POP     B
 2331     ED8A    69                            MOV     L,C
 2332     ED8B    22 002D                       SHLD    XKUR    ; X --> XKUR, Y --> YKUR
 2333     ED8E    C1                            POP     B
 2334     ED8F    CD E2B8                       CALL    FINI
 2335     ED92    C3 E7D5               MOVF:   JMP     QWHAT
 2336                                           ;
 2337                                           ;
 2338                                           ;
 2339                                           ;       CURS
 2340                                           ;       ====
 2341                                           ;
 2342                                           ;       PRIKAZ PRO NASTAVENI KURZORU.
 2343                                           ;
 2344     ED95    CD E60C               CURS:   CALL    EXPR
 2345     ED98    C5                            PUSH    B
 2346     ED99    E5                            PUSH    H
 2347     ED9A    7D                            MOV     A,L
 2348     ED9B    FE 30                         CPI     48
 2349     ED9D    D2 E331                       JNC     QHOW
 2350     EDA0    CD E2F3                       CALL    TSTC
 2351     EDA3    2C                            DB      ','
 2352     EDA4    1C                            DB      CURF - $
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-42


 2353     EDA5    CD E60C                       CALL    EXPR
 2354     EDA8    7D                            MOV     A,L
 2355     EDA9    FE 20                         CPI     20H
 2356     EDAB    D2 E331                       JNC     QHOW
 2357     EDAE    D5                            PUSH    D
 2358     EDAF    11 0035                       LXI     D,LINECO
 2359     EDB2    2A 0004                       LHLD    RAMEND
 2360     EDB5    23                            INX     H
 2361     EDB6    19                            DAD     D
 2362     EDB7    D1                            POP     D
 2363     EDB8    77                            MOV     M,A
 2364     EDB9    23                            INX     H
 2365     EDBA    C1                            POP     B
 2366     EDBB    71                            MOV     M,C
 2367     EDBC    C1                            POP     B
 2368     EDBD    CD E2B8                       CALL    FINI
 2369     EDC0    C3 E7D5               CURF:   JMP     QWHAT
 2370                                           ;
 2371                                           ;
 2372                                           ;
 2373                                           ;       EDIT
 2374                                           ;
 2375                                           ;       PRIKAZ PRO EDITACI JEDNOHO RADKU PROGRAMU.
 2376                                           ;
 2377                                           ;       POSUN KURZORU VLRVO: BS, CTRL-S, SIPKA VLEVO
 2378                                           ;       POSUN KURZORU VPRAVO: CTRL-D, SIPKA VPRAVO
 2379                                           ;       VYMAZ ZNAKU VPRAVO OD KURZORU: CTRL-X,DEL
 2380                                           ;       UKONCENI EDITACE: CR
 2381                                           ;       PRERUSENI PRIKAZU: ESC,CS,CTRL-[
 2382                                           ;       VLOZENI ZNAKU VLEVO OD KURZORU: JINE ZNAKY > 20H
 2383                                           ;
 2384     EDC3    CD E307               EDIT:   CALL    TSTNUM  ;  PREVOD ASCII Z BUFFERU NA BIN V <HL>
 2385     EDC6    CD E2B0                       CALL    IGNB    ;  VYNECH MEZERY
 2386     EDC9    FE 0D                         CPI     CR
 2387     EDCB    C2 E7D5                       JNZ     QWHAT   ;  CHYBA PRIKAZU
 2388     EDCE    CD E869                       CALL    FNDLN   ;  NAJDI ADRESU RADKU <DE>
 2389     EDD1    DA E331                       JC      QHOW    ;  NENI TAKOVY ANI VETSI RADEK
 2390                                           ;
 2391                                           ;       PRESUN RADEK Z PROGRAMU DO BUFFERU
 2392                                           ;
 2393     EDD4    D5                            PUSH    D
 2394     EDD5    CD E887                       CALL    FNDNXT
 2395     EDD8    EB                            XCHG            ;  V <HL> ADRESA NASL. RADKU
 2396     EDD9    CD E9D8                       CALL    DBUFF
 2397     EDDC    D5                            PUSH    D
 2398     EDDD    C1                            POP     B       ;  V <BC> ADRESA BUFFERU
 2399     EDDE    D1                            POP     D       ;  V <DE> ADRESA EDITOVANEHO RADKU
 2400     EDDF    CD E90F                       CALL    MVUP    ;  PRESUN EDIT. RADEK DO BUFFERU
 2401     EDE2    3E 02                         MVI     A,2
 2402     EDE4    32 0031                       STA     EDKUR   ;  POC. HODNOTA KURZORU
 2403     EDE7    3E 5F                         MVI     A,'_'
 2404     EDE9    CD EE59                       CALL    VSUN
 2405                                           ;
 2406                                           ;       ZOBRAZ RADEK
 2407                                           ;
 2408     EDEC    3E 1D                 EDIT0:  MVI     A,HOME
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-43


 2409     EDEE    CD 000C                       CALL    CO      ;  NA ZACETAK OBRAZOVKY
 2410     EDF1    3E 1F                         MVI     A,DSCR
 2411     EDF3    CD 000C                       CALL    CO      ;  VYMAZ OBRAZOVKY
 2412     EDF6    CD E9D8                       CALL    DBUFF
 2413     EDF9    CD E8FA                       CALL    PRTLN   ;  ZOBRAZ RADEK Z BUFFERU
 2414                                           ;
 2415                                           ;       VSTUP PRIKAZU
 2416                                           ;
 2417     EDFC    CD F803               EDIT2:  CALL    CI
 2418     EDFF    FE 08                         CPI     LEFT    ; SIPKA VLEVO
 2419     EE01    CA EE71                       JZ      VLEVO
 2420     EE04    FE 13                         CPI     CTRLS   ; STRL S
 2421     EE06    CA EE71                       JZ      VLEVO
 2422     EE09    FE 04                         CPI     RIGHT   ; SIPKA VLEVO
 2423     EE0B    CA EE8A                       JZ      VPRAVO
 2424     EE0E    FE 04                         CPI     CTRLD   ; CTRL D
 2425     EE10    CA EE8A                       JZ      VPRAVO
 2426     EE13    FE 18                         CPI     DOWN    ; SIPKA DOLU
 2427     EE15    CA EEAE                       JZ      VYMAZ
 2428     EE18    FE 18                         CPI     CTRLX   ; CTRL X
 2429     EE1A    CA EEAE                       JZ      VYMAZ
 2430     EE1D    FE 7F                         CPI     RUB     ; DEL
 2431     EE1F    CA EEAE                       JZ      VYMAZ
 2432     EE22    FE 1B                         CPI     ESC     ; ESC (CTRL [)
 2433     EE24    CA E03E                       JZ      RSTART
 2434     EE27    FE 0D                         CPI     CR      ; CR
 2435     EE29    C2 EE47                       JNZ     VLOZ
 2436                                           ;
 2437                                           ;       UKONCENI EDITACE
 2438                                           ;
 2439     EE2C    CD EED6                       CALL    VYHOD
 2440     EE2F    D5                            PUSH    D
 2441     EE30    C1                            POP     B       ;  V <BC> ADRESA POSL. ZNAKU + 1
 2442     EE31    CD E9D8                       CALL    DBUFF   ;  V <DE> ADRESA BUFFERU
 2443     EE34    1A                            LDAX    D
 2444     EE35    6F                            MOV     L,A
 2445     EE36    13                            INX     D
 2446     EE37    1A                            LDAX    D
 2447     EE38    67                            MOV     H,A
 2448     EE39    1B                            DCX     D       ;  V <HL> CISLO RADKU
 2449     EE3A    3E 1D                         MVI     A,HOME
 2450     EE3C    CD 000C                       CALL    CO
 2451     EE3F    3E 1F                         MVI     A,DSCR
 2452     EE41    CD 000C                       CALL    CO
 2453     EE44    C3 E08A                       JMP     EDIST   ;  VLOZ EDITOVANY RADEK DO PROGRAMU
 2454                                           ;
 2455                                           ;       VSUN ZNAK
 2456                                           ;
 2457     EE47    FE 20                 VLOZ:   CPI     20H
 2458     EE49    DA EDEC                       JC      EDIT0
 2459     EE4C    CD EE59                       CALL    VSUN
 2460     EE4F    3A 0031                       LDA     EDKUR
 2461     EE52    3C                            INR     A
 2462     EE53    32 0031                       STA     EDKUR
 2463     EE56    C3 EDEC                       JMP     EDIT0
 2464                                           ;
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-44


 2465     EE59    F5                    VSUN:   PUSH    PSW
 2466     EE5A    2A 0029                       LHLD    BUFFER
 2467     EE5D    06 00                         MVI     B,0
 2468     EE5F    3A 0031                       LDA     EDKUR
 2469     EE62    4F                            MOV     C,A
 2470     EE63    09                            DAD     B       ;  V <HL> ADRESA KURZORU
 2471     EE64    F1                            POP     PSW
 2472     EE65    4E                    VSU0:   MOV     C,M
 2473     EE66    77                            MOV     M,A
 2474     EE67    79                            MOV     A,C
 2475     EE68    FE 0D                         CPI     CR
 2476     EE6A    23                            INX     H
 2477     EE6B    C2 EE65                       JNZ     VSU0    ; VLOZ ZNAK
 2478     EE6E    77                            MOV     M,A     ; VLOZ CR
 2479     EE6F    13                            INX     D
 2480     EE70    C9                            RET
 2481                                           ;
 2482                                           ;       POSUN KURZORU VLEVO
 2483                                           ;
 2484     EE71    3A 0031               VLEVO:  LDA     EDKUR
 2485     EE74    FE 03                         CPI     3
 2486     EE76    DA EDEC                       JC      EDIT0
 2487     EE79    F5                            PUSH    PSW
 2488     EE7A    CD EED6                       CALL    VYHOD
 2489     EE7D    F1                            POP     PSW
 2490     EE7E    3D                            DCR     A
 2491     EE7F    32 0031                       STA     EDKUR
 2492     EE82    3E 5F                         MVI     A,'_'
 2493     EE84    CD EE59                       CALL    VSUN
 2494     EE87    C3 EDEC                       JMP     EDIT0
 2495                                           ;
 2496                                           ;       POSUN KURZOR VPRAVO
 2497                                           ;
 2498     EE8A    2A 0029               VPRAVO: LHLD    BUFFER
 2499     EE8D    3A 0031                       LDA     EDKUR
 2500     EE90    4F                            MOV     C,A
 2501     EE91    06 00                         MVI     B,0
 2502     EE93    09                            DAD     B       ;  V <HL> ADRESA KURZORU
 2503     EE94    23                            INX     H
 2504     EE95    23                            INX     H       ; ZAHRN I ZNAK CR NA KONCI RADKU
 2505     EE96    CD E2AA                       CALL    COMP    ; NA KONCI RADKU?
 2506     EE99    D2 EDEC                       JNC     EDIT0   ; ANO - DAL NEPOSOUVEJ
 2507     EE9C    CD EED6               VPRA0:  CALL    VYHOD
 2508     EE9F    3A 0031                       LDA     EDKUR
 2509     EEA2    3C                            INR     A
 2510     EEA3    32 0031                       STA     EDKUR
 2511     EEA6    3E 5F                         MVI     A,'_'
 2512     EEA8    CD EE59                       CALL    VSUN
 2513     EEAB    C3 EDEC                       JMP     EDIT0
 2514                                           ;
 2515                                           ;       VYMAZ ZNAKU
 2516                                           ;
 2517     EEAE    2A 0029               VYMAZ:  LHLD    BUFFER
 2518     EEB1    3A 0031                       LDA     EDKUR
 2519     EEB4    4F                            MOV     C,A
 2520     EEB5    06 00                         MVI     B,0
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-45


 2521     EEB7    09                            DAD     B       ;  V <HL> ADRESA KURZORU
 2522     EEB8    CD E2AA                       CALL    COMP
 2523     EEBB    23                            INX     H
 2524     EEBC    23                            INX     H
 2525     EEBD    23                            INX     H
 2526     EEBE    23                            INX     H       ; ZAHRN I ZNAK CR MA KONCI RADKU
 2527     EEBF    D2 EDEC                       JNC     EDIT0   ; KONEC RADKU - SKOK
 2528     EEC2    3A 0031                       LDA     EDKUR
 2529     EEC5    3C                            INR     A
 2530     EEC6    32 0031                       STA     EDKUR
 2531     EEC9    CD EED6                       CALL    VYHOD
 2532     EECC    3A 0031                       LDA     EDKUR
 2533     EECF    3D                            DCR     A
 2534     EED0    32 0031                       STA     EDKUR
 2535     EED3    C3 EDEC                       JMP     EDIT0
 2536                                           ;
 2537     EED6    2A 0029               VYHOD:  LHLD    BUFFER
 2538     EED9    3A 0031                       LDA     EDKUR
 2539     EEDC    4F                            MOV     C,A
 2540     EEDD    06 00                         MVI     B,0
 2541     EEDF    09                            DAD     B       ; V <HL> ADRESA KURZORU
 2542     EEE0    23                    VYH0:   INX     H
 2543     EEE1    7E                            MOV     A,M
 2544     EEE2    2B                            DCX     H
 2545     EEE3    77                            MOV     M,A
 2546     EEE4    23                            INX     H
 2547     EEE5    FE 0D                         CPI     CR
 2548     EEE7    C2 EEE0                       JNZ     VYH0
 2549     EEEA    1B                            DCX     D
 2550     EEEB    C9                            RET
 2551                                           ;
 2552                                           ;
 2553                                           ;
 2554                                           ;       LOAD
 2555                                           ;
 2556                                           ;       SNIMAC A DEROVAC (=>MODEM+MAGNETOFON)
 2557                                           ;
 2558     EEEC    11 009B               LOAD:   LXI     D,TXTBGN
 2559     EEEF    CD F806               LOA1:   CALL    RI
 2560     EEF2    FE 00                         CPI     00H
 2561     EEF4    CA EEEF                       JZ      LOA1
 2562     EEF7    FE 24                         CPI     '$'
 2563     EEF9    C2 EEEF                       JNZ     LOA1
 2564     EEFC    CD F806                       CALL    RI
 2565     EEFF    6F                            MOV     L,A
 2566     EF00    CD F806                       CALL    RI
 2567     EF03    67                            MOV     H,A
 2568     EF04    19                            DAD     D       ;  KONCOVA ADRESA
 2569     EF05    22 003B                       SHLD    TXTUNF
 2570     EF08    EB                            XCHG
 2571     EF09    CD F806               LOA0:   CALL    RI
 2572     EF0C    77                            MOV     M,A
 2573     EF0D    23                            INX     H
 2574     EF0E    CD E2AA                       CALL    COMP
 2575     EF11    C2 EF09                       JNZ     LOA0
 2576     EF14    D5                            PUSH    D
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-46


 2577     EF15    C5                            PUSH    B
 2578     EF16    CD F004                       CALL    JOIN0
 2579     EF19    C1                            POP     B
 2580     EF1A    D1                            POP     D
 2581     EF1B    C3 E03E                       JMP     RSTART
 2582                                           ;
 2583                                           ;
 2584                                           ;
 2585                                           ;       SAVE
 2586                                           ;
 2587     EF1E    0E 24                 SAVE:   MVI     C,'$'
 2588     EF20    CD F80C                       CALL    PO
 2589     EF23    2A 003B                       LHLD    TXTUNF
 2590     EF26    EB                            XCHG            ;  V <DE> KONEC PROGRAMU
 2591     EF27    21 009B                       LXI     H,TXTBGN        ;  V <HL> ZACATEK PROGRAMU
 2592     EF2A    7B                            MOV     A,E
 2593     EF2B    95                            SUB     L
 2594     EF2C    4F                            MOV     C,A
 2595     EF2D    7A                            MOV     A,D
 2596     EF2E    9C                            SBB     H
 2597     EF2F    47                            MOV     B,A
 2598     EF30    CD F80C                       CALL    PO      ;  POCET BYTU LOW
 2599     EF33    48                            MOV     C,B
 2600     EF34    CD F80C                       CALL    PO      ;  POCET BYTU HIGH
 2601     EF37    CD E2AA               SAVE1:  CALL    COMP
 2602     EF3A    CA EF45                       JZ      SAVE2
 2603     EF3D    4E                            MOV     C,M
 2604     EF3E    CD F80C                       CALL    PO
 2605     EF41    23                            INX     H
 2606     EF42    C3 EF37                       JMP     SAVE1
 2607     EF45    0E 1A                 SAVE2:  MVI     C,SUBS
 2608     EF47    CD F80C                       CALL    PO
 2609     EF4A    D5                            PUSH    D
 2610     EF4B    C5                            PUSH    B
 2611     EF4C    CD F028                       CALL    TCLOSE
 2612     EF4F    C1                            POP     B
 2613     EF50    D1                            POP     D
 2614     EF51    C3 E03E                       JMP     RSTART
 2615                                           ;
 2616                                           ;
 2617                                           ;
 2618                                           ;       GET
 2619                                           ;
 2620     EF54    CD F806               GET:    CALL    RI
 2621     EF57    6F                            MOV     L,A
 2622     EF58    CD F806                       CALL    RI
 2623     EF5B    67                            MOV     H,A
 2624     EF5C    C9                            RET
 2625                                           ;
 2626                                           ;
 2627                                           ;
 2628                                           ;       PUT
 2629                                           ;
 2630     EF5D    CD E70B               PUT:    CALL    PARN
 2631     EF60    C5                            PUSH    B
 2632     EF61    4D                            MOV     C,L
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-47


 2633     EF62    CD F80C                       CALL    PO
 2634     EF65    4C                            MOV     C,H
 2635     EF66    CD F80C                       CALL    PO
 2636     EF69    C1                            POP     B
 2637     EF6A    CD E2B8                       CALL    FINI
 2638     EF6D    C3 E7D5                       JMP     QWHAT
 2639                                           ;
 2640                                           ;
 2641                                           ;
 2642                                           ;       CLOSE
 2643                                           ;
 2644     EF70    CD EF90               CLOSE:  CALL    CHKTPR  ; JE PRIPOJEN MAGNETOFON ?
 2645     EF73    D5                            PUSH    D
 2646     EF74    C5                            PUSH    B
 2647     EF75    CD F028                       CALL    TCLOSE
 2648     EF78    C1                            POP     B
 2649     EF79    D1                            POP     D
 2650     EF7A    CD E2B8                       CALL    FINI
 2651     EF7D    C3 E7D5                       JMP     QWHAT
 2652                                           ;
 2653                                           ;
 2654                                           ;
 2655                                           ;       INIT
 2656                                           ;
 2657     EF80    CD EF90               INIT:   CALL    CHKTPR  ; JE PRIPOJEN MAGNETOFON ?
 2658     EF83    D5                            PUSH    D
 2659     EF84    C5                            PUSH    B
 2660     EF85    CD F004                       CALL    JOIN0
 2661     EF88    C1                            POP     B
 2662     EF89    D1                            POP     D
 2663     EF8A    CD E2B8                       CALL    FINI
 2664     EF8D    C3 E7D5                       JMP     QWHAT
 2665                                           ;
 2666                                           ;
 2667                                           ;       CHKTPR - TEST PRITOMNOSTI MAGNETOFONU
 2668                                           ;
 2669     EF90    3A F000               CHKTPR: LDA     ADRTPR
 2670     EF93    FE 55                         CPI     KEYTPR
 2671     EF95    C2 E7D5                       JNZ     QWHAT
 2672     EF98    C9                            RET
 2673                                           ;
 2674                                           .DEPHASE
 2675                                           ;
 2676                                           ;*********************************************
 2677                                           ;
 2678                                           ;       DEFINICE RAM
 2679                                           ;
 2680                                           ;*********************************************
 2681                                           ;
 2682                                           .PHASE  UZIRAM
 2683                                           ;
 2684     0006                          LEGT:   DS      2
 2685     0008                          IOBUFA: DS      1
 2686     0009                          IOBUFB: DS      1
 2687     000A                          IOBUFC: DS      1
 2688     000B                          LISTC:  DS      1
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    1-48


 2689     000C                          CO:     DS      3       ; SKUTECNA ADR. CO OR LO
 2690     000F                          MASKIN: DS      1       ; MASKA PRO FUNKCI 'INM'
 2691     0010                          CURRNT: DS      2       ; PRAVE ZPRACOVAVANY RADEK PROGRAM
 2692     0012                          STKGOS: DS      2       ; POINTER PRO GOSUB
 2693     0014                          VARNXT: DS      2
 2694     0016                          STKINP: DS      2
 2695     0018                          LOPVAR: DS      2       ; POINTER PRO FOR
 2696     001A                          LOPINC: DS      2
 2697     001C                          LOPLMT: DS      2
 2698     001E                          LOPLN:  DS      2
 2699     0020                          LOPPT:  DS      2
 2700     0022                          RANPNT: DS      2       ; PARAMETR PRO RANDOM
 2701     0024                          ARMM:   DS      2
 2702     0026                          MODE:   DS      1       ; REZIM ZOBRAZENI (0-PRIMO, 1-INVERZNE)
 2703     0027                          TXTEND: DS      2       ; MAXIMALNI ADR. PRO BASIC PROGRAMU
 2704     0029                          BUFFER: DS      2       ; POINTER NA RADKONY BUFFER
 2705     002B                          BUFEND: DS      2       ; POINTER NA KONEC RADKOVEHO BUFFERU
 2706     002D                          XKUR:   DS      1       ; X SOURADNICE GRAF. KURZORU
 2707     002E                          YKUR:   DS      1       ; Y SOURADNICE GRAF. KURZORU
 2708     002F                          DELTAX: DS      1       ; POMOCNA PROMENA INTRPOLATORU
 2709     0030                          DELTAY: DS      1       ; POMOCNA PROMENA INTRPOLATORU
 2710     0031                          EDKUR:  DS      1       ; KURZOR EDITORU
 2711                                           .DEPHASE
 2712                                           ;
 2713                                           ; OBSLUHA TVRDEHO BREAKU - RST 7
 2714                                           ;
 2715                                           .PHASE  38H
 2716                                           ;
 2717     0038                          RST7RA: DS      3
 2718                                           ;
 2719     003B                          TXTUNF: DS      2       ; POINTER NA KONEC PROGRAMU BASIC
 2720     003D                                  DS      40
 2721     0065                          VARBGN: DS      54      ; PROSTOR PRO PROMENE V BASICU
 2722     009B                          TXTBGN: DS      32      ; MINIMALNI PROSTOR PRO PROGRAM V BASICU
 2723     00BB                          TXTE:   DS      1       ; KONEC MINIMALNIHO PROGRAMU
 2724                                           ;
 2725                                           .DEPHASE
 2726                                           ;
 2727                                           END
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    S


Macros:

Symbols:
EA4E    A1              E74F    ABS             F845    ADRKUR
F000    ADRTPR          E332    AHOW            E559    AREM
0024    ARMM            F82D    ASHEX           E80B    ASORRY
E7D6    AWHAT           E000    BASIC           E000    BASPET
EA18    BCALL           EBC1    BEEP            EBD0    BEEP0
0007    BELL            E015    BEND            EA5C    BIN
EA25    BOUT            EB68    BREAK           EB6B    BREAK1
0008    BS              002B    BUFEND          0029    BUFFER
EADE    BYTE            E785    CHGSGN          E782    CHKSGN
EF90    CHKTPR          F803    CI              E7A0    CK1
E79A    CKHLDE          E55D    CLEAR           EF70    CLOSE
E991    CLS             000C    CO              F809    COM
E2AA    COMP            EB57    CONT            000D    CR
E974    CRLF            E987    CROUT           F812    CSTS
0003    CTRLC           0004    CTRLD           0013    CTRLS
0018    CTRLX           0019    CTRLY           EDC0    CURF
0010    CURRNT          ED95    CURS            E842    CXBUFA
E838    CXBUFE          F830    DADR            E9D8    DBUFF
F833    DBYTE           E5F8    DEFLT           002F    DELTAX
0030    DELTAY          E9A5    DIRECT          EB81    DISP
E392    DISPL           E765    DIVIDE          EC89    DIVT0
EC87    DIVTRI          001E    DL              0018    DOWN
ECB5    DRAF            EC92    DRAW            001F    DSCR
E9E0    DTXTE           E770    DV1             E772    DV2
EB9A    ECOM            EBAC    ECOM0           E08A    EDIST
EDC3    EDIT            EDEC    EDIT0           EDFC    EDIT2
0031    EDKUR           E7CF    ENDCHK          E7D9    ERROR
001B    ESC             E9AC    EX1             E9BF    EX2
E9CA    EX3             E9CC    EX4             E9D1    EX5
E9A8    EXEC            E60C    EXPR            E610    EXPR1
E654    EXPR2           E690    EXPR3           E6F4    EXPR4
000C    FF              E7BC    FIN             E2B8    FINI
E888    FL2             E869    FNDLN           E871    FNDLP
E887    FNDNXT          E889    FNDSKP          E488    FOR
E498    FR1             E4A4    FR2             E4AA    FR3
E4AD    FR4             E4C5    FR7             E4E6    FR8
EF54    GET             E811    GETLN           E818    GL1
E841    GL3             E851    GL4             E859    GL5
E44B    GOSUB           E37B    GOTO            E97F    H2
E38C    HARD            EA21    HERE            EB29    HEX
EB32    HNXTH           001D    HOME            E338    HOW
EA91    I               E571    IFF             E574    IFFR
E2B0    IGNB            EB1D    INCHAR          EA6B    INEM
EF80    INIT            EA61    INM             E582    INPERR
ECCA    INPO1           ED4B    INPO10          ED51    INPO11
ED5A    INPO12          ED63    INPO13          ED6A    INPO14
ED2F    INPO15          ECD8    INPO2           ECEA    INPO3
ECEC    INPO4           ED0D    INPO5           ED14    INPO6
ED1B    INPO7           ED34    INPO8           ED45    INPO9
ED39    INPOEX          E58C    INPUT           ECB8    INTERP
E006    INTSTA          0008    IOBUFA          0009    IOBUFB
000A    IOBUFC          E58C    IP1             E59C    IP2
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    S-1


E5AE    IP3             E5EC    IP4             EAFA    IST
F004    JOIN0           0055    KEYTPR          0200    KILO
0008    LEFT            0006    LEGT            E010    LENGHT
E5FE    LET             000A    LF              0035    LINECO
E981    LINEF           E39B    LIST            000B    LISTC
E398    LLIST           F80F    LO              EB8C    LO1
EF09    LOA0            EEEF    LOA1            EEEC    LOAD
001A    LOPINC          001C    LOPLMT          001E    LOPLN
0020    LOPPT           0018    LOPVAR          E3E6    LPRINT
E3AB    LS0             E3AE    LS1             E3C0    LS3
E3C9    LS4             E3BD    LS5             E3E0    LS6
E609    LT1             E9E8    MASK            000F    MASKIN
E922    MD1             F81B    MEMCHK          0026    MODE
EBB1    MONIT           ED6F    MOVE            ED92    MOVF
E0D8    MSG1            E91A    MVDOWN          E90F    MVUP
EC79    NEPOK           E34F    NEW             E4ED    NEXT
F839    NEXTM           E5DC    NOBRK           E564    NULD20
E4F6    NX0             E532    NX1             E548    NX2
E510    NX3             E522    NX4             E546    NX5
EA84    O               E33D    OK              E976    OUTC
EB13    OUTCHR          EB93    OUTDIS          E70B    PARN
EAC2    PEEK            EC13    PIXL            EC3E    PIXL0
EC82    PIXL1           EBE6    PLOT            EC10    PLTF
E8C1    PN1             E8C8    PN2             E8D8    PN3
E8D9    PN4             E8E7    PN5             E8ED    PN6
F80C    PO              EC56    POK             EC59    POK0
EC6E    POK1            EAC9    POKE            E929    POPA
EB55    POPRET          E943    PP1             E407    PR0
E3F9    PR1             E42C    PR3             E401    PR6
E440    PR8             E3E9    PRINT           EB7A    PRNTST
E8FA    PRTLN           E8B6    PRTNUM          E893    PRTSTG
E894    PS1             E971    PU1             E945    PUSHA
EF5D    PUT             E331    QHOW            E80A    QSORRY
E8A8    QT1             E8B1    QT2             E8A1    QTSTG
EB05    QUOTE           E7D5    QWHAT           E740    RA1
E731    RA2             E9F2    RAM             E9F5    RAM1
0004    RAMEND          0022    RANPNT          E54E    REM
E46D    RETURN          F806    RI              0004    RIGHT
E71C    RND             0038    RST7RA          E041    RSTAR1
E03E    RSTART          007F    RUB             E358    RUN
E35E    RUNNXL          E36E    RUNSML          E367    RUNTSL
EF1E    SAVE            EF37    SAVE1           EF45    SAVE2
EB7D    SETCO           E7A3    SETVAL          E758    SIZE
E349    SORRY           F83C    SPACE           E066    ST2
E06F    ST3             E0A6    ST4             E074    ST5
E01B    START           E03B    START1          0012    STKGOS
0016    STKINP          EB65    STOP            E77B    SUBDE
001A    SUBS            EA4B    TAB             E0E9    TAB1
E122    TAB2            E227    TAB4            E27B    TAB5
E283    TAB6            E28D    TAB8            E303    TC2
F028    TCLOSE          F84B    TIMER           E30E    TN1
E00B    TOP             E2F3    TSTC            E307    TSTNUM
E2BF    TSTV            E2E3    TV1             E104    TXMON
009B    TXTBGN          00BB    TXTE            0027    TXTEND
003B    TXTUNF          E0CF    USREND          0006    UZIRAM
0065    VARBGN          0014    VARNXT          EE71    VLEVO
'PLAN80A  TINY BASIC  V3Q'     MACRO-80 3.44   09-Dec-81       PAGE    S-2


EE47    VLOZ            EE9C    VPRA0           EE8A    VPRAVO
EE65    VSU0            EE59    VSUN            EEE0    VYH0
EED6    VYHOD           EEAE    VYMAZ           EBB4    WAIT
E343    WHAT            EAE8    WORD            EAF1    WRIT2
002D    XKUR            E616    XP11            E61C    XP12
E622    XP13            E629    XP14            E631    XP15
E637    XP16            E63D    XP17            E63F    XP18
E667    XP23            E670    XP24            E686    XP26
E693    XP31            E6B2    XP32            E6BA    XP33
E6E6    XP35            E6FA    XP40            E705    XP41
002E    YKUR            EA8D    ZZZ4



No Fatal error(s)



A1       1710#   1716
ABS       372    1150#
ADRKUR     82#
ADRTPR     66#   2669
AHOW      542#    586     689    1048    1054    1072
AREM      394     833#
ARMM      826     833    2701#
ASHEX      81#   1876
ASORRY    464    1286#   1662    1665    1760
AWHAT     781    1256#
BASIC      63#    114
BASPET    116#   1127    1133
BCALL     314    1677#
BEEP      329    1983#
BEEP0    1992#   1999
BELL      102#
BEND      131#    308
BIN       387    1720#
BOUT      319    1687#
BREAK    1905    1908#
BREAK1    916    1909#
BS         99#   1304
BUFEND   1318    1667    2705#
BUFFER   1330    1630    1670    2466    2498    2517    2537    2704#
BYTE      340    1805#
CHGSGN   1028    1084    1193#   1543
CHKSGN   1037    1039    1064    1066    1152    1190#   1426
CHKTPR   2644    2657    2669#
CI         70#   1299    1862    1902    2417
CK1      1214    1216#
CKHLDE    810     993    1212#
CLEAR     276     839#
CLOSE     348    2644#
CLS       273    1582#
CO       1570    1576    1578    1584    1586    1588    1715    1854    1921    1925    1993    2409
         2411    2450    2452    2689#
COM        71#   1951
COMP      218     429#    463     782    1131    1216    1367    1491    1661    1664    1759    2505
         2522    2574    2601
CONT      576     925    1899#
CR         87#    547     550     552     554     607     646     937    1244    1253    1313    1390
         1403    1414    1566    1568    1575    1874    2386    2434    2475    2547
CRLF      154     642     648     674    1338    1566#   1910
CROUT    1573    1575#
CSTS       75#   1860    1899
CTRLC      89#   1903
CTRLD      91#   2424
CTRLS      93#   2420

CTRLX      90#   1306    2428
CTRLY      92#
CURF     2352    2369#
CURRNT    170     570     690     711     735     814     866     893     896     915     924    1266
         1908    2691#
CURS      363    2344#
CXBUFA   1329#
CXBUFE   1317#
DADR       79#   1815
DBUFF     177     904    1297    1629#   1761    1767    2396    2412    2442
DBYTE      80#
DEFLT     368     936#
DELTAX   2191    2220    2708#
DELTAY   2193    2226    2709#
DIRECT    183    1594#
DISP      141     597     632     643     649     675    1260    1924#
DISPL     282     597#
DIVIDE   1074    1141    1168#   1435
DIVT0    2128#   2130
DIVTRI   2064    2086    2127#
DL        105#
DOWN       94#   2426
DRAF     2148    2159#
DRAW      357    2140#
DSCR      106#   1587    2410    2451
DTXTE     217    1640#
DV1      1171    1176#
DV2      1177#   1179
ECOM     1937    1941#
ECOM0    1944    1947    1951#
EDIST     190#   2453
EDIT      366    2384#
EDIT0    2408#   2458    2463    2486    2494    2506    2513    2527    2535
EDIT2    2417#
EDKUR    2402    2460    2462    2468    2484    2491    2499    2508    2510    2518    2528    2530
         2532    2534    2538    2710#
ENDCHK    131     558     564     584     702    1252#   1907
ERROR     543    1257#   1287
ESC       103#    907    1300    2432
EX1      1597#   1603
EX2      1608#   1610
EX3      1600    1615#
EX4      1616#   1618
EX5      1607    1619#
EXEC      578     723     728     954    1087    1595#   1614
EXPR      582     654     664     677     686     725     730     853     917     951#   1102    1226
         1651    1658    1677    1687    1692    1744    1754    1791    1796    1852    1971    1983
         2011    2020    2140    2149    2316    2325    2344    2353
EXPR1     953#

EXPR2     951     990     998#
EXPR3    1006    1011    1027    1030#
EXPR4    1030    1035    1062    1086#
FF        101#   1583
FIN       447     672    1238#
FINI      446#    593     598     676     714     769     817     821     849     932     947    1590
         1654    1683    1703    1712    1750    1800    1808    1816    1855    1977    2002    2032
         2158    2334    2368    2637    2650    2663
FL2      1376    1388#   1391
FNDLN     195     585     609     688    1360#   2388
FNDLP     567     618    1364#   1393
FNDNXT    199    1387#   2394
FNDSKP    857    1389#
FOR       297     718#
FR1       402     725#
FR2       407     730#
FR3       409     733#
FR4       731     734#
FR7       746#    754     757
FR8       750     767#
GET       398    2620#
GETLN     175     902    1295#   1340
GL1      1299#   1301    1323    1336    1762
GL3      1303    1305    1327#
GL4      1307    1334    1338#
GL5      1335    1342#
GOSUB     290     685#
GOTO      287     582#
H2       1571#   1574
HARD      279     592#
HERE     1679    1682#
HEX       383    1868#
HNXTH    1873#   1890
HOME      104#   1585    2408    2449
HOW       542     547#
I         323    1754#
IFF       284     853#
IFFR      829     854#
IGNB      179     438#    442     452     491     511     606     623    1252    1595    2385
INCHAR    381    1859#
INEM     1720    1723    1729#
INIT      351    2657#
INM       385    1723#
INPERR    863#   1275
INPO1    2180#   2269    2285
INPO10   2182    2273#
INPO11   2173    2280#
INPO12   2183    2289#
INPO13   2195    2298#

INPO14   2211    2306#
INPO15   2238    2241    2243#
INPO2    2190#   2276    2294
INPO3    2208#   2302
INPO4    2209#   2245
INPO5    2222    2226#
INPO6    2230#   2262
INPO7    2228    2233#
INPO8    2216    2249#
INPO9    2172    2266#
INPOEX   2218    2219    2257#
INPUT     300     872#
INTERP   2156    2165#
INTSTA    119#    161
IOBUFA   1695    1702    1732    1738    2685#
IOBUFB   1698    1735    2686#
IOBUFC   1700    1737    2687#
IP1       873#    895     931
IP2       875     879#
IP3       878     891#
IP4       877     927#
IST      1827    1829#
JOIN0      65#   2578    2660
KEYTPR    109#   2670
KILO      100#
LEFT       95#   2418
LEGT      127    1776    2684#
LENGHT    127#    396
LET       271     942#    946
LF         88#    739     763    1225    1458    1577
LINECO    108#   2358
LINEF    1569    1573#
LIST      248     603#
LISTC     605     611     616     629    2688#
LLIST     251     602#
LO         74#   1931
LO1      1920    1929#
LOA0     2571#   2575
LOA1     2559#   2561    2563
LOAD      263    2558#
LOPINC    734     791    1526    1557    2696#
LOPLMT    726     805    1528    1555    2697#
LOPLN     736     813    1530    1553    2698#
LOPPT     738     767     815    1532    1551    2699#
LOPVAR    172     695     721     740     778     801    1521    1547    1559    2695#
LPRINT    306     637#
LS0       609#    621     631
LS1       610#    619
LS3       617#

LS4       608     620#
LS5       613     616#
LS6       610     632#
LT1       938     947#
MASK      335    1651#
MASKIN    167    1653    1725    2690#
MD1      1507    1511#
MEMCHK     76#    231
MODE      143     165     575     659    1258    1942    2702#
MONIT     258    1130    1958#
MOVE      360    2316#
MOVF     2324    2335#
MSG1      144     238#
MVDOWN    222     765    1505#   1515
MVUP      202     225    1491#   1497    1769    2400
NEPOK    2089    2114#
NEW       255     558#
NEXT      269     773#
NEXTM      77#   1958
NOBRK     908     917#
NULD20    842#    847
NX0       776#    787
NX1       808     810#
NX2       812     820#
NX3       783     788#
NX4       797     800#
NX5       799     818#
O         321    1744#
OK        163     549#
OUTC     1281    1296    1308    1346    1348    1351    1402    1451    1455    1462    1480    1567#
         1834    1912
OUTCHR    317    1852#
OUTDIS   1926    1935#
PARN      457    1099#   1118    1150    1709    1729    1784    1805    1814    2630
PEEK      378    1784#
PIXL     2030    2041#   2242
PIXL0    2071    2073#
PIXL1    2105    2112    2116    2121#
PLOT      354    2011#
PLTF     2019    2033#
PN1      1427    1430#
PN2      1435#   1444
PN3      1438    1445#
PN4      1446#   1452
PN5      1449    1453#
PN6      1457#   1463
PO         73#   2588    2598    2600    2604    2608    2633    2635
POK      2091#
POK0     2093#   2095

POK1     2099    2106#
POKE      332    1791#
POPA      713     785     820    1519#
POPRET   1889    1892#
PP1      1524    1533#
PR0       651#    673
PR1       645#
PR3       660     666     669#    681
PR6       649#   1416
PR8       668     677#
PRINT     303     638#
PRNTST    592     602     637    1920#
PRTLN     617    1276    1471#   1913    2413
PRTNUM    679    1425#   1478
PRTSTG    145     168     887    1259    1283    1397#   1413    1482    1748
PS1      1398#   1404
PU1      1550    1560#
PUSHA     685     718    1538#
PUT       345    2630#
QHOW      459     518     541#   1022    1081    1121    1206    1362    1988    1990    2016    2024
         2145    2152    2321    2328    2349    2356    2389
QSORRY    219    1285#   1546
QT1      1413#
QT2      1417#
QTSTG     667     874    1409#
QUOTE     389    1840#
QWHAT     404     448     706     774     881    1107    1221    1234    1255#   1704    1801    1848
         1875    1877    1891    2033    2159    2335    2369    2387    2638    2651    2664    2671
RA1      1132    1134#
RA2      1126    1129#
RAM       260    1658#
RAM1      149    1659#
RAMEND     62#    137     155    1539    2057    2359
RANPNT   1128    1129    1137    2700#
REM       295     825#
RETURN    293     702#
RI         72#   2559    2564    2566    2571    2620    2622
RIGHT      96#   2422
RND       370    1118#
RST7RA    160     162    2717#
RSTAR1    155#    633
RSTART    117     121     132     154#    211     568     615     859    1272    1284    1914    2433
         2581    2614
RUB        97#   1302    2430
RUN       253     564#
RUNNXL    566#    650    1247
RUNSML    574#    644     856    1242
RUNTSL    569#    588     698     858
SAVE      266    2587#

SAVE1    2601#   2606
SAVE2    2602    2607#
SETCO    1921#   1927
SETVAL    719     942    1220#
SIZE      375     462    1158#
SORRY     553#   1286
SPACE      78#
ST2       169     171#
ST3       174#    226
ST4       197     206#
ST5       176#
START     116     136#
START1    150#   1673
STKGOS    173     692     697     703     709    2692#
STKINP    863     899    2694#
STOP      311    1907#
SUBDE     466    1162    1178    1182#   1774
SUBS       98#    107#   2607
TAB       337    1709#
TAB1      246#   1594
TAB2      267#    577
TAB4      369#   1086
TAB5      401#    722
TAB6      405#    727
TAB8      410#    953
TC2       494     501#
TCLOSE     64#   2611    2647
TIMER      83#   1975    1995
TN1       512#    537
TOP       123#    391
TSTC      490#    639     645     651     661     669     928     943     998    1003    1007    1023
         1031    1058    1099    1103    1223    1238    1243    1409    1689    1793    1844    1870
         1886    2017    2146    2322    2350
TSTNUM    178     509#    603     625    1095    2384
TSTV      452#    773     876     880    1088    1220
TV1       455     472#
TXMON     256#
TXTBGN    146     559     565    1363    2558    2591    2722#
TXTE     1660    2723#
TXTEND    150     465    1161    1641    2703#
TXTUNF    123     147     201     205     207     220     560    1158    1365    1757    2569    2589
         2719#
USREND    148     230#   1663
UZIRAM     61#   2682
VARBGN    476     839    2721#
VARNXT    775     786    2693#
VLEVO    2419    2421    2484#
VLOZ     2435    2457#
VPRA0    2507#

VPRAVO   2423    2425    2498#
VSU0     2472#   2477
VSUN     2404    2459    2465#   2493    2512
VYH0     2542#   2548
VYHOD    2439    2488    2507    2531    2537#
VYMAZ    2427    2429    2431    2517#
WAIT      326    1971#
WHAT      551#   1256
WORD      343    1814#
WRIT2    1807    1822#
XKUR     2026    2170    2223    2225    2235    2259    2261    2332    2706#
XP11      411     955#
XP12      413     959#
XP13      415     963#
XP14      419     968#
XP15      417     974#
XP16      421     978#
XP17      423     982#
XP18      955     959     963     968     974     978     984#
XP23     1007#   1019    1021
XP24     1012#   1029
XP26     1002    1026#
XP31     1031#   1085
XP32     1044    1049#
XP33     1053#   1056
XP35     1052    1057    1078#
XP40      400    1088#
XP41     1089    1095#
YKUR     2022    2180    2230    2232    2707#
ZZZ4     1749#   1780




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


8 bity / PLAN-80A

Listing programu PLAN80A TINY BASIC V3Q



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