











                                 CHAPTER 22

      d R U G O E   P E R I F E R I J N O E   O B O R U D O W A N I E




   iMEETSQ RQD DRUGIH USTROJSTW, KOTORYE MOGUT BYTX PODKL@^ENY K  KOMPX@TERU
ZX SPECTRUM.

   ZX MICRODRIVE - WYSOKOSKOROSTNOE USTROJSTWO PAMQTI, MOVET BYTX  ISPOLXZO-
WANO  WMESTO KASSETNOGO MAGNITOFONA.  oDNAKO ONO NE MOVET UPRAWLQTXSQ KOMAN-
DAMI SAVE, VERIFY, LOAD I MERGE, A  LI[X  KOMANDAMI  PRINT,  LIST,  INPUT  I
INKEY$.

   pRI POMO]I \TOGO USTROJSTWA MOVNO ORGANIZOWATX SETX IZ NESKOLXKIH KOMPX@-
TEROW ZX SPECTRUM.

   sTANDARTNYM INTERFEJSOM DLQ ZX SPECTRUM QWLQETSQ RS-232, POSREDSTWOM  KO-
TOROGO PODKL@^A@TSQ:  KLAWIATURA, PRINTER I L@BYE DRUGIE USTROJSTWA, OTWE^A-
@]IE STANDARTAM \TOGO INTERFEJSA.  pRI RABOTE S  TAKIMI  USTROJSTWAMI  MOGUT
ISPOLXZOWATXSQ   IME@]IESQ  NA  KLAWIATURE  DOPOLNITELXNYE  KL@^EWYE  SLOWA:
OPEN#, CLOSE#, MOVE, ERASE, CAT I FORMAT.











                                 CHAPTER 23

                           w W O D  I  W Y W O D




   kRATKOE SODERVANIE:
                OUT, IN.


   kOMPX@TER MOVET S^ITYWATX NEKOTORU@ INFORMACI@ I  ZAPISYWATX  EE  W  SWO@
OPERATIWNU@  PAMQTX PO KOMANDAM PEEK I POKE.  wSQ PAMQTX KOMPX@TERA, I pzu I
ozu, PREDSTAWLQETSQ SOWOKUPNOSTX@ ADRESOW OT 0 DO 65536, KAVDYJ  IZ  KOTORYH
ADRESUET ODIN BAJT.

   tAKIM VE OBRAZOM MOVNO ADRESOWATX I E]E 512 ADRESOW,  NAZYWAEMYH  PORTAMI
WWODA/WYWODA.   oNI ISPOLXZU@TSQ PROCESSOROM DLQ SWQZI C KLAWIATUROJ I PRIN-
TEROM I MOGUT UPRAWLQTSQ OPERATORAMI BASIC IN I OUT.

   IN ANALOGI^EN OPERATORU PEEK:
        IN ADRES
oN ISPOLXZUET ODIN ARGUMENT - ADRES PORTA, I POZWOLQET S^ITATX ODIN BAJT  IZ
UKAZANNOGO PORTA.

   OUT PODOBEN OPERATORU POKE:
        OUT ADRES,ZNA^ENIE
I ZAPISYWAET UKAZANNYE DANNYE W ZADANNYJ PORT WYWODA.

   ZX SPECTRUM OPERIRUET S [ESTNADCATX@RAZRQDNYMI ADRESAMI, KOTORYE MY BUDEM
OBOZNA^ATX BUKWOJ A:
        A15, A14, ...  A1, A0.

   bITY ADRESA A0-A4 O^ENX WAVNY.  kAK PRAWILO, ONI W 1,  NO  ESLI  HOTQ  BY
ODIN  IZ  NIH W 0, \TO PREDPISYWAET KOMPX@TERU NEKOTORYE DEJSTWIQ.  nE BOLEE
^EM ODIN IZ \TIH PQTI BITOW MOVET BYTX W 0.

   bITY A6 I A7 IGNORIRU@TSQ, TAK ^TO, ESLI WY ZNAKOMY  S  \LEKTRONIKOJ,  TO
MOVETE ISPOLXZOWATX IH PO SWOEMU USMOTRENI@.

   bITY A8, A9 ISPOLXZU@TSQ INOGDA DLQ POLU^ENIQ DOPOLNITELXNOJ INFORMACII.

   iNFORMACIONNYJ BAJT MY BUDEM OBOZNA^ATX BUKWOJ D:
        D7, D6, ...  D1, D0.

   tEPERX PREDSTAWIM SPISOK ADRESOW PORTOW.  iMEETSQ CELYJ RQD WHODNYH ADRE-
SOW DLQ ^TENIQ S KLAWIATURY, A TAKVE WHODNOGO RAZ'EMA 'EAR'.  sAMA KLAWIATU-
RA RAZBITA NA 8 POLURQDOW PO 5 KLAWI[ W RQDU.

w W O D  I  W Y W O D                                              Page 23-2



        IN 65278 S^ITYWAET RQD OT CAPS SHIFT DO V,
        IN 65022 S^ITYWAET RQD OT          A DO G,
        IN 64510 S^ITYWAET RQD OT          Q DO T,
        IN 63486 S^ITYWAET RQD OT          1 DO 5,
        IN 61438 S^ITYWAET RQD OT          0 DO 6,
        IN 57342 S^ITYWAET RQD OT          P DO 7,
        IN 49150 S^ITYWAET RQD OT      ENTER DO H,
        IN 32766 S^ITYWAET RQD OT      SPACE DO B.

   |TI ADRESA MOGUT BYTX WY^ISLENY IZ WYRAVENIQ:
        254+256*(255-2**N)
PRI N PROBEGA@]EM OT 0 DO 7.

   w BAJTE, S^ITANNOM S KLAWIATURY, BITY D0-D4 SLUVAT DLQ  OBOZNA^ENIQ  PQTI
KLAWI[ W DANNOM POLURQDU.  D0 DLQ KRAJNEJ KLAWI[I, A D4 DLQ TOJ, ^TO BLIVE K
CENTRU.  sOSTOQNIE ODNOGO IZ \TIH BITOW 0 UKAZYWAET, ^TO SOOTWETSTWU@]AQ EMU
KLAWI[A NAVATA.  D6 PRINIMAET ZNA^ENIE 0/1 PRI ^TENII S RAZ'EMA 'EAR'.

   wYHODNOJ PORT 254 OBESPE^IWAET GROMKOGOWORITELX (D4) I RAZ'EM 'MIC' (D3),
A TAK VE USTANOWKU CWETA (D0-D2).

   pORT 251 OBESPE^IWAET SWQZX S PRINTEROM - ^TENIE I  ZAPISX.   ~TENIE  DLQ
PROWERKI GOTOWNOSTI PRINTERA K RABOTE.

   pORTY 254, 247 I 239 ISPOLXZU@TSQ DLQ SWQZI S DOPOLNITELXNYMI USTROJSTWA-
MI, OPISANNYMI W GLAWE 22.

   zAPUSTITE SLEDU@]U@ PROGRAMMU:
        10 FOR N=0 TO 7:REM HAFL-ROW NUMBER (NOMER POLURQDA)
        20 LET A=254+256*(255-2**N)
        30 PRINT AT 0,0;IN A:GO TO 30
I PONAVIMAJTE PO ODNOJ KLAWI[E W KAVDOM POLURQDU.  pOSLE  NAVATIQ  POSLEDNEJ
KLAWI[I WWEDITE BREAK, A ZATEM NEXT N.
w W O D  I  W Y W O D                                              Page 23-3



   nIVE, NA RISUNKE, POKAZANO RASPREDELENIE KONTAKTOW RAZXEMA:

                    A14 ----+---- A15
                    A12 ----+---- A13
                    +5V ----+---- D7
                    +9V ----+----
                            |
                     0V ----+---- D0
                     0V ----+---- D1
                     CK ----+---- D2
                     A0 ----+---- D6
                     A1 ----+---- D5
                     A2 ----+---- D3
                     A3 ----+---- D4
                ~IORQGE ----+---- ~INT
                     0V ----+---- ~NMI
                  VIDEO ----+---- ~HALT
                      Y ----+---- ~MREQ
                      V ----+---- ~IOREQ
                      U ----+---- ~RD
                 ~BUSRQ ----+---- ~WR
                 ~RESET ----+---- -5V
                     A7 ----+---- ~WAIT
                     A6 ----+---- +12V
                     A5 ----+---- -12V
                     A4 ----+---- ~MI
                 ~ROMOS ----+---- ~RFSH
                ~BUSACK ----+---- A8
                     A9 ----+---- A10
                    A11 ----+----



23.1  oPISANIE SIGNALOW MIKROPROCESSORA Z80.


   A0-A15 (ADRESNAQ [INA).  wYHODY S  TREMQ  SOSTOQNIQMI,  AKTIWNYJ  UROWENX
SIGNALOW - WYSOKIJ.  aDRESUET ozu ILI uww (DO 64K DLQ ozu)

   D0-D7 ([INA DANNYH).  wHODY/WYHODY S TREMQ SOSTOQNIQMI, AKTIWNYJ  UROWENX
- WYSOKIJ.

   M1 (MA[INNYJ CIKL).  wYHOD, AKTIWNYJ SIGNAL - NIZKIJ.  uKAZYWAET,  ^TO  W
TEKU]EM CIKLE OSU]ESTWLQETSQ WYBORKA kop.

   MREQ (ZAPROS PAMQTI).  wYHOD S TREMQ SOSTOQNIQMI, AKTIWNYJ UROWENX - NIZ-
KIJ.   sIGNAL  UKAZYWAET, ^TO NA ADRESNOJ [INE USTANOWLEN ADRES DLQ OPERACII
^TENIQ ILI ZAPISI W PAMQTX.

   IORQ (ZAPROS WWODA/WYWODA).  wYHOD S TREMQ SOSTOQNIQMI, AKTIWNYJ  UROWENX
-  NIZKIJ.   SIGNAL  UKAZYWAET,  ^TO MLAD[IJ BAJT [INY ADRESA SODERVIT ADRES
uww.  kROME TOGO, \TOT SIGNAL GENERIRUETSQ POSLE WYDA^I PODTWERVDENIQ PRERY-
WANIQ,  TEM SAMYM UKAZYWAQ, ^TO WEKTOR PRERYWANIQ MOVET BYTX POME]EN NA [INU
DANNYH.

   RD (^TENIE).  wYHOD S TREMQ SOSTOQNIQMI, AKTIWNYJ UROWENX - NIZKIJ.  sIG-
NAL  UKAZYWAET,  ^TO cp GOTOW K ^TENI@ DANNYH IZ PAMQTI ILI IZ uww.  aDRESO-
WANNOE uww ILI PAMQTX ISPOLXZU@T \TOT SIGNAL DLQ  STROBIROWANIQ  PRI  PODA^E
DANNYH NA [INY DANNYH cp.

   WR (ZAPISX).  wYHOD S TREMQ SOSTOQNIQMI, AKTIWNYJ UROWENX - NIZKIJ.  sIG-
NAL UKAZYWAET, ^TO NA [INE DANNYH SODERVATSQ DANNYE, PREDNAZNA^ENNYE DLQ ZA-
PISI W PAMQTX ILI WYWODA NA uww.
w W O D  I  W Y W O D                                              Page 23-4



   RFSH (WOSTANOWLENIE).  wYHOD, AKTIWNYJ UROWENX - NIZKIJ.  sIGNAL UKAZYWA-
ET,  ^TO MLAD[IE 7 RAZRQDOW [INY ADRESA SODERVAT ADRES WOSTANOWLENIQ DLQ ozu
I TEKU]IJ SIGNAL MREQ DOLVEN ISPOLXZOWATXSQ DLQ  WOSTANOWLENIQ  DINAMI^ESKOJ
PAMQTI.

   HALT (OSTANOW).  wYHOD, AKTIWNYJ UROWENX - NIZKIJ.  sIGNAL UKAZYWAET  ^TO
cp  WYPOLNIL  KOMANDU HALT I OVIDAET POQWLENIQ PRERYWANIQ, POSLE KOTOROGO ON
PRODOLVIT RABOTU.

   WAIT (OVIDANIE).  wHOD, AKTIWNYJ UROWENX - NIZKIJ.  sIGNAL UKAZYWAET  cp,
^TO  ADRESUEMYE  PAMQTX  ILI uww NE GOTOWY K PEREDA^E DANNYH.  cp VDET, POKA
AKTIWEN \TOT SIGNAL.

   INT (ZAPROS NA MASKIRUEMOE PRERYWANIE).  wHOD, AKTIWNYJ UROWENX - NIZKIJ.
zAPROS  BUDET  WOSPRINQT  cp W KONCE WYPOLNENIQ TEKU]EJ KOMANDY, ESLI TRIGER
RAZRE[ENIQ PRERYWANIQ IFF, UPRAWLQEMYJ WNUTRENNIMI PROGRAMMNYMI  SREDSTWAMI,
USTANOWLEN W OPREDELENNOE SOSTOQNIE.

   NMI (ZAPROS NA NEMASKIRUEMOE PRERYWANIE).  wHOD, AKTIWNYJ UROWENX -  NIZ-
KIJ.   |TO PRERYWANIE IMEET BOLEE WYSOKIJ PRIORITET ^EM INT.  rASPOZNAETSQ W
KONCE TEKU]EJ KOMANDY.  sIGNAL AWTOMATI^ESKI PEREWODIT cp K WYPOLNENI@ PROG-
RAMMY S ADRESA 066h.

   RESET (SBROS).  wHOD, AKTIWNYJ UROWENX - NIZKIJ.  pRI POSTUPLENII SIGNALA
WYPOLNQ@TSQ SLEDU@]IE DEJSTWIQ:
        A) sBROS TRIGERA RAZRE[ENIQ PRERYWANIQ IFF;
        B) o^ISTKA S^ET^IKA KOMAND I REGISTROW I I R;
        W) {INY ADRESNAQ I DANNYH W SOSTOQNIE WYSOKOGO IMPEDANSA;
        G) dLQ WSEH UPRAWLQ@]IH WYHODNYH SIGNALOW USTANAWLIWAETSQ
           NEAKTIWNYJ UROWENX;

   BUSRQ (ZAPROS [IN).  wHOD, AKTIWNYJ UROWENX - NIZKIJ.  sIGNAL IMEET BOLEE
WYSOKIJ  PRIORITET, ^EM NMI I WSEGDA RASPOZNAETSQ W KONCE TEKU]EGO MA[INNOGO
CIKLA.  oN ISPOLXZUETSQ DLQ ORGANIZACII PRQMOGO DOSTUPA K PAMQTI (pdp) I PE-
REWODIT  W  SOSTOQNIE WYSOKOGO SOPROTIWLENIQ WSE [INY I TRISTABILXNYE WYHODY
SIGNALOW UPRAWLENIQ, POSLE ^EGO \TIMI [INAMI MOGUT UPRAWLQTX DRUGIE  WNE[NIE
USTROJSTWA.

   BUSAK (PODTWERVDENIE ZAPROSA [IN).  wYHOD,  AKTIWNYJ  UROWENX  -  NIZKIJ.
sIGNAL PODAETSQ NA ZAPRA[IWA@]EE WNE[NEE USTROJSTWO.











                                 CHAPTER 24

                                p A M Q T X




   kRATKOE SODERVANIE:
                CLEAR


   wSQ PAMQTX KOMPX@TERA RAZBITA NA BAJTY, KAVDYJ IZ KOTORYH PREDSTAWIM ^IS-
LOM  OT  0 DO 255.  kAVDYJ BAJT MOVET BYTX ZAPISAN W PAMQTX PO OPREDELENNOMU
ADRESU OT 0 DO 0FFFFH (H - ZDESX I DALEE OZNA^AET  [ESTNADCATIRI^NOE  PREDS-
TAWLENIE  ^ISLA).   sAM ADRES MOVET BYTX ZAPISAN W PAMQTX KAK DWA BAJTA.  nA
DIAGRAMME POKAZANO RASPREDELENIE PAMQTI KOMPX@TERA ZX SPECTRUM:
        0   3FFFH 4000H            7FFFH 8000H                    FFFFH
        +---------+----------------------+-----------------------------+
        |         |                      |                             |
        |   ROM   |        RAM (ozu)     |    DOSTUPNO DLQ PROGRAMM    |
        |  (pzu)  | (SISTEMNAQ OBLASTX)  |                             |
        +---------+----------------------+-----------------------------+
        0   16383 16384            32767 32768                    65535

   dLQ POLU^ENIQ SODERVIMOGO OBLASTI L@BOJ IZ PAMQTEJ  ISPOLXZUETSQ  FUNKCIQ
PEEK  S  ADRESOM W KA^ESTWE ARGUMENTA.  fUNKCIQ WOZWRA]AET ZNA^ENIE BAJTA PO
\TOMU ADRESU.

   rASSMATRIWAEMAQ NIVE PROGRAMMA WYWODIT SODERVIMOE PERWYH 21 BAJTOW ROM  S
IH ADRESAMI:
        10 PRINT "ADDRESS";TAB 8;"BYTE"
        20 FOR A=0 TO 20
        30 PRINT A;TAB 8;PEEK A
        40 NEXT A

   dLQ IZMENENIQ SODERVIMOGO PAMQTI (TOLXKO DLQ ozu), ISPOLXZUETSQ  OPERATOR
POKE W FORME
        POKE ADRES,DANNYE
GDE 'ADRES' I 'DANNYE' - ^ISLOWYE WYRAVENIQ, NAPRIMER:
        POKE 31000,57

   'dANNYE' MOGUT PRINIMATX ZNA^ENIQ OT -255 DO +255.

   wSQ PAMQTX PODRAZDELQETSQ NA OBLASTI, PREDNAZNA^ENNYE DLQ HRANENIQ INFOR-
MACII RAZLI^NOGO NAZNA^ENIQ, ^TO POKAZANO NA DIAGRAMME:

p A M Q T X                                                        Page 24-2



        +---------+--------+--------+----------+--------------+- -
        | OBLASTX |        | BUFER  |SISTEMNYE | PLAN         |
        |\KRANA TV|ATRIBUTY|PRINTERA|PEREMENNYE|DOPOLNITELXNOJ|
        |         |        |        |          |    PAMQTI    |
        +---------+--------+--------+----------+--------------+- -
        16384     22528    23296    23562      23734          CHANS
 
        +---------+---+----------+----------+---+-------------+--+- -
        |KANALXNAQ|   |PROGRAMMA |PEREMENNYE|   |REDAKTIRUEMYE|  |
        |INFORMA- |80H|NA BEJSIKE|PROGRAMMY |80H|   STROKI    |NL|
        |  CIQ    |   |          |          |   | PROGRAMMY   |  |
        +---------+---+----------+----------+---+-------------+--+- -
        CHANS          PROG       VARS           E LINE          WORKSP
 
        +--------+--+------+----------+-------+--------+----------+- -
        |S^ITAN- |  |RABO^.|   STEK   |       |APPARAT-|  STEK    |
        |  NYE   |NL| OB-  |KALXKULQ- |REZERW |  NYJ   |PEREHODOW |
        | DANNYE |  |LASTX |   TORA   |       |  STEK  |K PODPROG.|
        +--------+--+------+----------+-------+--------+----------+- -
        WORKSP              STKBOT    STKEND  SP
 
        +---+--------+-------------+
        |   |        |OPREDELQEMYE |
        | 7 |  3EH   |POLXZOWATELEM|
        |   |        |   SIMWOLY   |
        +---+--------+-------------+
        RAM TOP  UDG     P RAMT

   oBLASTX TELEWIZIONNOGO \KRANA SODERVIT OBRAZ TEKU]EGO KADRA.  oNA DOSTUP-
NA  DLQ  OPERATOROW PEEK I POKE.  kAVDAQ POZICIQ \KRANA PREDSTAWIMA MATRICEJ
8*8 TO^EK (ODIN BAJT NA KAVDYJ RQD IZ 8-MI TO^EK).  oDNAKO, \TI WOSEMX  BAJT
HRANQTSQ W PAMQTI NE WMESTE.

   pOLNYJ \KRAN PREDSTAWLQET SOBOJ 24 STROKI PO 32 SIMWOLA.   kAVDAQ  STROKA
\KRANA PROPISYWAETSQ 8-MX@ STROKAMI RAZWERTKI TELEWIZIONNOGO \KRANA.  iTOGO,
DLQ ZAPISI ODNOGO \KRANA WYPOLNQETSQ 172 SKANIROWANIQ I W PAMQTI RQDOM  HRA-
NQTSQ BAJTY ODNOIMENNYH RQDOW MATRIC SOSEDNIH POZICIJ \KRANA.

   oBLASTX ATRIBUTOW SODERVIT DANNYE O CWETE I DRUGIH PARAMETRAH KAVDOJ  PO-
ZICII \KRANA.  iSPOLXZUETSQ W FORMATE ATTR.

   bUFER PRINTERA SODERVIT SIMWOLY, PEREDAWAEMYE NA PE^ATX.

   oBLASTX SISTEMNYH PEREMENNYH  SODERVIT  DANNYE  UPRAWLENIQ  WY^ISLENIQMI.
oNI  POLNOSTX@  OPISANY  W  SLEDU@]EJ GLAWE.  nEKOTORYE IZ NIH (CHANS, PROG,
VARS, E LINE I T.D.) SODERVAT ADRESA GRANIC MEVDU SISTEMNYMI OBLASTQMI PAMQ-
TI, NO \TO NE PEREMENNYE BASIC I IH IMENA NE RASPOZNA@TSQ KOMPX@TEROM.

   oBLASTX PLANOW DOPOLNITELXNOJ PAMQTI ISPOLXZUETSQ TOLXKO S MICRODRIVE.

   w  OBLASTI  KANALXNOJ  INFORMACII  SODERVATXSQ  DANNYE   OB   USTROJSTWAH
WWODA/WYWODA, A IMENNO:  KLAWIATURE (S NIVNEJ POLOWINOJ \KRANA), WERHNEJ PO-
LOWINE \KRANA I PRINTERE.

   kAVDAQ STROKA OBLASTI BASIC-PROGRAMM IMEET FORMAT:
        +--------+---------+--------+---------+--- - - - - ------+-----+
        |   2  B A J T A   |   2  B A J T A   |    T E K S T     | 0DH |
        +--------+---------+--------+---------+--- - - - - ------+-----+
        NOMER STROKI        DLINA+1                               ENTER

   ~ISLOWYE KONSTANTY W PROGRAMME PREDSTAWLENY W DWOI^NOJ  FORME,  ISPOLXZUQ
CHR$14 I SLEDU@]IE ZA NIM 5 BAJT SAMOGO ^ISLA.
p A M Q T X                                                        Page 24-3



   pEREMENNYE IME@T RAZLI^NYE FORMATY PREDSTAWLENIQ W PAMQTI.   NIVE  PREDS-
TAWLEN FORMAT ZAPISI ^ISLA, IMQ KOTOROGO SOSTOIT IZ ODNOJ BUKWY:
        +-----+-------+-----+--------+
        |     |1  BAJT| BIT |4  BAJTA|
        | 60H |PORQDKA|ZNAKA|MANTISSY|
        |     |       |     |        |
        +-----+-------+-----+--------+
        BUKWA   ZNA^ENIE     ^ISLA

   fORMAT RAZME]ENIQ ^ISLA, ESLI IMQ IMEET BOLEE, ^EM ODNU BUKWU:
        +-------+-------+-----+---------+----------+
        |       |       |     |         |  5 BAJT  |
        |  60H  |  HHH  |. . .|  HHH    | ZNA^ENIQ |
        |       |       |     |         |  ^ISLA   |
        +-------+-------+-----+---------+----------+
        1 BUKWA 2 BUKWA POSLEDNQQ BUKWA

   fORMAT RAZME]ENIQ ^ISLOWOGO MASSIWA:
        +-----+-----+-----+-------+-----+-----+- - -+-----+-----+- -
        | HHH | 2   BAJTA |1  BAJT| 2   BAJTA :     : 2   BAJTA :
        +-----+-----+-----+-------+-----+-----+- - -+-----+-----+- -
        BUKWA OB]AQ DLINA NOMERA    PERWAQ              POSLEDNQQ
               \LEMENTOW  RAZMER-   RAZMER-           RAZMERNOSTX
               + 1 NA     NOSTEJ    NOSTX
               KAVDOE
               IZMERENIE
 
        +---- - - - - - - - - - ------+
        |PO 5 BAJTOW NA KAVDYJ \LEMENT|
        +---- - - - - - - - - - ------|

   pORQDOK \LEMENTOW SLEDU@]IJ:
        1) |LEMENTY, DLQ KOTORYH PERWAQ RAZMERNOSTX RAWNA 1.
        2) |LEMENTY, DLQ KOTORYH PERWAQ RAZMERNOSTX RAWNA 2.
        3) |LEMENTY, DLQ KOTORYH PERWAQ RAZMERNOSTX RAWNA 3 I T.D.
zATEM W TOM VE PORQDKE PO SLEDU@]EJ RAZMERNOSTI I T.D.   nAPRIMER,  \LEMENTY
MASSIWA S RAZMERNOSTX@ (3,6) RASPOLOVATSQ W PAMQTI W SLEDU@]EM PORQDKE:
        B(1,1), B(1,2), ..., B(1,6), B(2,1), ..., B(3,6).

   fORMAT RAZME]ENIQ UPRAWLQ@]IH PEREMENNYH DLQ FOR-NEXT OPERATOROW:
        +-----+--------+--------+--------+---------------+-------------+
        |     | 5 BAJT | 5 BAJT | 5 BAJT |  2      BAJTA |   1   BAJT  |
        +-----+--------+--------+--------+-------+-------+-------------+
        BUKWA ZNA^ENIE OGRANI-  PRIRA]E-  STROKA CIKLA    NOMER
                       ^ENIE    NIE                       OPERATORA

   fORMAT RAZME]ENIQ STROKI SIMWOLOW:
        +-----+---------+---------+------------------------------------+
        |     |   2   B A J T A   |  TEKST (MOVET BYTX PUSTAQ STROKA)  |
        +-----+---------+---------+------------------------------------+
        BUKWA KOLI^ESTWO SIMWOLOW
p A M Q T X                                                        Page 24-4



   fORMAT RAZME]ENIQ STROKOWOGO MASSIWA:
        +-----+---------+---------+-------------+---------+---------+- -
        |     |   2   B A J T A   | 1   B A J T |   2   B A J T A   |
        +-----+---------+---------+-------------+---------+---------+- -
        BUKWA OB]EE ^ISLO \LEMEN-  NOMERA RAZ-  1-Q RAZMERNOSTX
              TOW +1 NA KAVDU@     MERNOSTEJ
              RAZMERNOSTX
 
        +---------------+-----------------------------------+
        | 2  B A J T A  | PO ODNOMU BAJTU NA KAVDYJ \LEMENT |
        +---------------+-----------------------------------+
        POSLEDNQQ       \LEMENTY
        RAZMERNOSTX

   pROGRAMMNYJ STEK ESTX ^ASTX INTERPRETATORA BASIC.   aPPARATNYJ  STEK  IS-
POLXZUETSQ MIKROPROCESSOROM Z80 DLQ ZAPOMINANIQ ADRESOW WOZWRATA.

   rEZERW W DANNOJ WERSII NE ISPOLXZUETSQ.

   nAZNA^ENIE STEKA PEREHODOW K PODPROGRAMMAM OPISANO W GLAWE 5.

   bAJT, ADRESUEMYJ PO RAMTOP, SODERVIT WERHNIJ ADRES, ISPOLXZUEMYJ BASIC.

   dAVE OPERATOR NEW, KOTORYJ O^I]AET ozu, NE IZMENQET  SODERVIMOGO  OBLASTI
OPREDELQEMYH POLXZOWATELEM SIMWOLOW.

   wY MOVETE IZMENITX ADRES RAMTOP W OPERATORE CLEAR:
        CLEAR newRAMTOP
PO KOTOROMU:
        A) o^I]A@TSQ WSE OBLASTI PEREMENNYH;
        B) o^I]AETSQ OBLASTX \KRANA (PODOBNO CLS);
        W) pEREUSTANAWLIWAETSQ POZICIQ PLOT W LEWYJ NIVNIJ UGOL \KRANA;
        G) wYPOLNQETSQ FUNKCIQ RESTORE;
        D) o^I]AETSQ STEK PEREHODOW I USTANAWLIWAETSQ NOWOE ZNA^ENIE
           RAMTOP.

   fUNKCIQ RUN TAKVE WYPOLNQET DEJSTWIQ CLEAR, HOTQ I NE  IZMENQET  ZNA^ENIE
RAMTOP.

   iSPOLXZUQ FUNKCI@ CLEAR, WY MOVETE SME]ATX RAMTOP, UWELI^IWAQ OBLASTX DLQ
BASIC, UMENX[AQ TEM SAMYM OBLASTX OPREDELQEMYH POLXZOWATELEM SIMWOLOW.  mOV-
NO NESKOLXKO UWELI^ITX DOSTUPNU@ ^ASTX RAM, ISPOLXZUQ FUNKCI@  NEW.   nAPRI-
MER,  WYPOLNENIE NEW, ZATEM CLEAR 23800 POMOGAET KOMPX@TERU PRI PEREPOLNENII
ozu.

   wSE UKAZANNYE DEJSTWIQ MOGUT PRIWODITX K DWUM SOOB]ENIQM OB O[IBKE I  WY-
DA^E ZWUKOWOGO SIGNALA:
        '4 MEMORY FULL' (PEREPOLNENIE PAMQTI);
        'G NO ROOM FOR LINE' (NET MESTA DLQ STROKI PROGRAMMY).

   mOVNO IZMENITX DLITELXNOSTX PODA^I ZWUKOWOGO SIGNALA,  IZMENIW  ^ISLO  PO
ADRESU 23608.  pO UMOL^ANI@ PREDPOLAGAETSQ 64.

   ~ISLA (ZA ISKL@^ENIEM 0) MOGUT ZAPISYWATXSQ W  POKAZATELXNOJ  FORME  KAK:
+M*2^E,  GDE M - MANTISSA W INTERWALE [0.5...1), E - \KSPONENTA, POLOVITELX-
NOE ILI OTRICATELXNOE ^ISLO.

   dOPUSTIM, WY ZAPISALI M W DWOI^NOJ SISTEME S^ISLENIQ, M - DROBNOE I IMEET
DWOI^NU@ TO^KU (PODOBNO DESQTI^NOJ TO^KE), TOGDA:
        1/2 -> .1
        1/4 -> .01
        3/4 -> .11 I T.D.
p A M Q T X                                                        Page 24-5



   nA[E ^ISLO M MENX[E, ^EM 1, ZNA^IT U NEGO NET BITOW PERED  DWOI^NOJ  TO^-
KOJ,  A POSKOLXKU ONO NE MENX[E 0.5, TO LEWYJ BIT SLEDU@]IJ ZA TO^KOJ WSEGDA
1.

   dLQ ZAPISI ^ISLA W PAMQTX MY ISPOLXZUEM 5 BAJTOW W SLEDU@]EM PORQDKE:
        A) zAPISYWAEM PERWYE 8 BITOW MANTISSY WO WTOROJ BAJT (MY POMNIM,
           ^TO PERWYJ BIT \TO 1), WTORYE 8 BITOW W TRETIJ BAJT I T.D.,
           DO PQTOGO BAJTA;
        B) zAMENQEM PERWYJ BIT WTOROGO BAJTA, W KOTOROM ZAPISANA 1,
           NA ZNAKOWYJ BIT (0 DLQ +, I 1 DLQ -);
        W) zAPISYWAEM W PERWYJ BAJT \KSPONENTU+128.

   nAPRIMER, MY HOTIM ZAPISATX ^ISLO 1/10.  mANTISSA BUDET
        0.11001100110011001100110011001100
(POSKOLXKU 33-J BIT RAWEN 1, MY DOLVNY OKRUGLITX 32-J BIT, ZAPISAW 1  WMESTO
0), A \KSPONENTA RAWNA -3.

   tEPERX, PRIMENIW NA[IH TRI PRAWILA, ZAPI[EM 5 BAJT:
        |---ZNAK ^ISLA
        +---------+-+--------+---------+---------+---------+
        |0111 1101|0|100 1100|1100 1100|1100 1100|1100 1101|
        +---------+-+--------+---------+---------+---------+
        -3+128     MANTISSA 4/5, ISKL@^AQ LEWYJ ZNAKOWYJ BIT

   iMEETSQ  ALXTERNATIWNYJ  SPOSOB   ZAPISI   CELOGO   ^ISLA   W   INTERWALE
-65535..65536:
        A) pERWYJ BAJT RAWEN 0;
        B) wTOROJ BAJT RAWEN 0 DLQ POLOVITELXNOGO ^ISLA, I 0FFH DLQ
           OTRICATELXNOGO;
        W) 3 I 4 BAJTY SODERVAT MLAD[IE I STAR[IE ZNA^A]IE BITY ^ISLA
           (ILI ^ISLO+131072, ESLI ONO OTRICATELXNOE);
        G) 5 BAJT RAWEN 0.











                                 CHAPTER 25

                  s I S T E M N Y E   P E R E M E N N Y E




   bAJTY PAMQTI S 23552 DO 23733 PREDNAZNA^ENY DLQ SPECIALXNOGO  ISPOLXZOWA-
NIQ.  w NIH RAZME]A@TSQ TAK NAZYWAEMYE SISTEMNYE PEREMENNYE.  nE NADO PUTATX
IH IMENA S IMENAMI PEREMENNYH W PROGRAMME.  kOMPX@TER NE RASPOZNAET SSYLKI K
\TIM  PEREMENNYM IZ BASIC-PROGRAMMY PO IH IMENAM.  iMENA ISPOLXZU@TSQ TOLXKO
DLQ MNEMONI^ESKOGO OBOZNA^ENIQ \TIH PEREMENNYH W DANNOM OPISANII.

   iNFORMACIQ, ZAPISANNAQ W PERWOM STOLBCE TABLICY, IMEET  SLEDU@]EE  ZNA^E-
NIE:

   X - PEREMENNAQ NE DOLVNA IZMENQTXSQ, TAK KAK \TO  MOVET  NARU[ITX  RABOTU
SISTEMY.

   N - IZMENENIE PEREMENNOJ NE PRIWODIT K DLITELXNOMU \FFEKTU.

   ~ISLO - ^ISLO BAJTOW W PEREMENNOJ (DLQ  DWUHBAJTOWYH  PEREMENNYH  MLAD[IJ
BAJT PERWYJ).

   nAPRIMER, NEOBHODIMO IZMENITX ZNA^ENIE NA V W DWUHBAJTOWOJ PEREMENNOJ  PO
ADRESU N:
        10 POKE N,V-256*INT(V/256)
        20 POKE N+1,INT(V/256)

   dLQ PROSMOTRA NOWOGO ZNA^ENIQ MOVNO ISPOLXZOWATX OPERATOR:
        PEEK N+256*PEEK(N+1)
s I S T E M N Y E   P E R E M E N N Y E                            Page 25-2



            t A B L I C A   S I S T E M N Y H   P E R E M E N N Y H
 
        -----------------------------------------------------------------
        | tIP | aDRES |  i M Q  |       s O D E R V A N I E             |
        |---------------------------------------------------------------|
        | N8  | 23552 | KSTATE  | iSPOLXZUETSQ PRI ^TENII S KLAWIATURY  |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23560 | LAST K  | zAPOMINAETSQ WNOWX NAVATAQ KLAWI[A    |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23561 | REPDEL  | wREMQ, W 50-YH DOLQH SEKUNDY, W TE^E- |
        |     |       |         | NII KOTOROGO KLAWI[A DOLVNA BYTX NA-  |
        |     |       |         | VATA. nA^ALXNOE ZNA^ENIE 35, NO MOVET |
        |     |       |         | BYTX IZMENENO                         |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23562 | REPPER  | zADERVKA W 50-YH DOLQH SEKUNDY MEVDU  |
        |     |       |         | POSLEDOWATELXNYMI OPROSAMI KLAWI[.    |
        |     |       |         | nA^ALXNOE ZNA^ENIE 5.                 |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23563 | DEFADD  | aDRES ARGUMENTOW FUNKCIJ POLXZOWATELQ |
        |     |       |         | ESLI ONI ISPOLXZU@TSQ, INA^E 0.       |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23565 | K DATA  | wTOROJ BAJT UPRAWLENIQ CWETOM S KLA-  |
        |     |       |         | WIATURY.                              |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23566 | TVDATA  | bAJTY CWETA, AT, TAB UPRAWLENIQ TV    |
        |-----|-------|---------|---------------------------------------|
        | X38 | 23568 | STRMS   | aDRESA PODKL@^ENNYH KANALOW           |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23606 | CHARS   | aDRES SIMWOLXNOGO NABORA-256. oBY^NO  |
        |     |       |         | \TOT NABOR NAHODITSQ W pzu, NO MOVET  |
        |     |       |         | BYTX RAZME]AEM I W ozu S UKAZANIEM W  |
        |     |       |         | CHARS ADRESA RAZME]ENIQ.              |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23608 | RASP    | pRODOLVITELXNOSTX ZWUKOWOGO SIGNALA.  |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23609 | PIP     | dLITELXNOSTX ZADERVKI, USTRANQ@]EJ    |
        |     |       |         | DREBEZG KLAWIATURY.                   |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23610 | ERR NR  | kOD SOOB]ENIQ-1. nA^ALXNOE ZNA^ENIE   |
        |     |       |         | 255 (DLQ -1).                         |
        |-----|-------|---------|---------------------------------------|
        | X1  | 23611 | FLAGS   | uPRAWLQ@]IE FLAVKI BASIC              |
        |-----|-------|---------|---------------------------------------|
        | X1  | 23612 | TV FLAG | fLAVOK TELEWIZORA.                    |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23613 | ERR SP  | aDRES W APPARATNOM STEKE,ISPOLXZUEMYJ |
        |     |       |         | KAK ADRES WOZWRATA PRI O[IBKE.        |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23615 | LIST SP | aDRES WOZWRATA IZ AWTOMATI^ESKOGO     |
        |     |       |         | LISTINGA.                             |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23617 | MODE    | rEVIM. sPECIFIKACIQ [K], [L], [C],    |
        |     |       |         | [?] ILI [G] KURSORA.                  |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23618 | NEW PPC | nOMER STROKI, NA KOTORU@ DOLVEN BYTX  |
        |     |       |         | SDELAN PEREHOD.                       |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23621 | PPC     | nOMER STROKI, OPERATOR KOTOROJ        |
        |     |       |         | WYPOLNQETSQ                           |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23623 | SUB PPC | pORQDKOWYJ NOMER WYPOLNQ@]EGOSQ       |
        |     |       |         | OPERATORA W STROKE                    |
        -----------------------------------------------------------------
s I S T E M N Y E   P E R E M E N N Y E                            Page 25-3



        -----------------------------------------------------------------
        |  1  | 23624 | DORDCR  | cWET RAMKI \KRANA, SODERVIT ATRIBUTY  |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23625 | E PPC   | kOLI^ESTWO TEKU]IH STROK (S KURSOROM) |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23627 | VARS    | aDRESA PEREMENNYH                     |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23629 | DEST    | aDRES PEREMENNOJ W ZADANII            |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23631 | CHANS   | aDRES KANALA DANNYH                   |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23633 | CURCHL  | aDRES DANNYH DLQ WWODA/WYWODA         |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23635 | PROG    | aDRES BASIC-PROGRAMMY                 |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23637 | NXTLIN  | aDRES SLEDU@]EJ STROKI W PROGRAMME    |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23639 | DATADD  | aDRES TERMINATORA POSLEDNEGO SIMWOLA  |
        |     |       |         | W DATA                                |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23641 | E LINE  | aDRES WYWEDENNOJ KOMANDY              |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23643 | K CUR   | aDRES KURSORA                         |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23645 | CH ADD  | aDRES SLEDU@]EGO INTERPRETIRUEMOGO    |
        |     |       |         | SIMWOLA| SIMWOL ARGUMENTA W PEEK,     |
        |     |       |         | NEWLINE ILI POKE OPERATORAH           |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23647 | X PRT   | aDRES SIMWOLA, SLEDU@]EGO ZA MARKEROM |
        |     |       |         | [?]                                   |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23649 | WORK SP | aDRES WREMENNOJ RABO^EJ OBLASTI       |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23651 | STK BOT | aDRES 'DNA' PROGRAMMOGO STEKA         |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23653 | STK END | aDRES NA^ALA REZERWNOJ OBLASTI PAMQTI |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23655 | BREG    | B-REGISTR KALXKULQTORA                |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23656 | MEM     | aDRES OBLASTI, ISPOLXZUEMOJ KAK       |
        |     |       |         | PAMQTX KALXKULQTORA (OBY^NO MEMBOT,   |
        |     |       |         | NO NE WSEGDA)                         |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23658 | FLAGS2  | sTAR[IE FLAVKI                        |
        |-----|-------|---------|---------------------------------------|
        | X1  | 23659 | DF SZ   | ~ISLO STROK (WKL@^AQ I ODNU ^ISTU@)   |
        |     |       |         | W NIVNEJ ^ASTI \KRANA                 |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23660 | S TOP   | kOLI^ESTWO WERHNIH STROK PROGRAMMY W  |
        |     |       |         | AWTOMATI^ESKOM LISTINGE               |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23662 | OLDPPC  | nOMER STROKI, NA KOTORU@ UKAZYWAET    |
        |     |       |         | CONTINUE                              |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23664 | OSPPC   | nOMER OPERATORA W STROKE, NA KOTORU@  |
        |     |       |         | UKAZYWAET CONTINUE                    |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23665 | FLAGX   | pEREMENNYE FLAVKI                     |
        |-----|-------|---------|---------------------------------------|
        | N2  | 23666 | STR LEN | rAZMER RASSTOQNIJ MEVDU STROKAMI      |
        -----------------------------------------------------------------
s I S T E M N Y E   P E R E M E N N Y E                            Page 25-4



        -----------------------------------------------------------------
        | N2  | 23668 | T ADDR  | aDRES SLEDU@]EGO SIMWOLA W            |
        |     |       |         | SINTAKSI^ESKOJ TABLICE                |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23670 | SEED    | nA^ALXNOE ZNA^ENIE DLQ RND,           |
        |     |       |         | IZMENQETSQ FUNKCIEJ RANDOMIZE         |
        |-----|-------|---------|---------------------------------------|
        |  3  | 23672 | FRAMES  | s^ET^IK KADROW - PRIRA]ENIE ^EREZ     |
        |     |       |         | KAVDYE 20 MS (SM. GLAWU 18)           |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23675 | UDG     | aDRES PERWOGO OPREDELQEMOGO           |
        |     |       |         | POLXZOWATELEM SIMWOLA                 |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23677 | COORDS  | X-KOORDINATA TO^KI GRAFOPOSTROITELQ   |
        |  1  | 23678 |         | Y-KOORDINATA TO^KI GRAFOPOSTROITELQ   |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23679 | P POSN  | 33-POZICIONNOE ^ISLO DLQ              |
        |     |       |         | POZICIONIROWANIQ PRINTERA             |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23680 | PR CC   | mLAD[IJ BAJT ADRESA POZICII DLQ       |
        |     |       |         | LPRINT DLQ PE^ATI                     |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23681 |         | nE ISPOLXZUETSQ                       |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23682 | ECHO E  | 33-POZICIONNOE I 24-STROKOWOE ^ISLA   |
        |     |       |         | (W NIVNEJ POLOWINE) KONCA WHODNOGO    |
        |     |       |         | BUFERA                                |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23684 | DF CC   | aDRES PRINT-POZICII W OBLASTI \KRANA  |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23686 | DF CCL  | pODOBNO DF CC DLQ NIVNEJ ^ASTI \KRANA |
        |-----|-------|---------|---------------------------------------|
        | X1  | 23688 | S POSN  | nOMER POZICII DLQ DLQ PRINT           |
        |-----|-------|---------|---------------------------------------|
        | X1  | 23689 |         | nOMER STROKI DLQ PRINT                |
        |-----|-------|---------|---------------------------------------|
        | X2  | 23690 | S POSNL | pODOBNO S POSN DLQ NIVNEJ ^ASTI       |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23692 | SCR CT  | s^ET^IK SWERTOK| WSEGDA NA 1 BOLX[E   |
        |     |       |         | ^ISLA SWERTOK, KOTORYE DOLVNY BYTX    |
        |     |       |         | PROWEDENY PERED OSTANOWOM SO SWERTKOJ |
        |     |       |         | eSLI WY USTANOWITE \TO ^ISLO BOLX[E,  |
        |     |       |         | ^EM 1 (SKAVEM 255), TO \KRAN BUDET    |
        |     |       |         | SWORA^IWATXSQ BEZ ZAPROSA K WAM       |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23693 | ATTR P  | sPLO[NYE CWETA                        |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23694 | MASK P  | iSPOLXZUETSQ DLQ WYSWE^IWANIQ CWETOW  |
        |     |       |         | BIT, USTANOWLENNYJ W 1, POKAZYWAET,   |
        |     |       |         | ^TO BITY ATRIBUTOW BERUTSQ NE IZ      |
        |     |       |         | ATTR P, A IZ TOGO, ^TO UKAZANO NA     |
        |     |       |         | \KRANE                                |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23695 | ATTR T  | wREMENNYJ UKAZATELX CWETOW            |
        |-----|-------|---------|---------------------------------------|
        | N1  | 23696 | MASK T  | wREMENNYJ MASK P                      |
        |-----|-------|---------|---------------------------------------|
        |  1  | 23697 | P FLAG  | sTAR[IE FLAVKI                        |
        -----------------------------------------------------------------
s I S T E M N Y E   P E R E M E N N Y E                            Page 25-5



        -----------------------------------------------------------------
        | N30 | 23698 | MEMBOT  | oBLASTX PAMQTI DLQ KALXKULQTORA.      |
        |     |       |         | iSPOLXZUETSQ DLQ ZAPISI ^ISEL,        |
        |     |       |         | KOTORYE NE MOGUT BYTX RAZME]ENY W     |
        |     |       |         | PROGRAMMNOM STEKE KALXKULQTORA        |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23728 |         | nE ISPOLXZUETSQ                       |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23730 | RAMTOP  | aDRES POSLEDNEGO BAJTA OBLASTI        |
        |     |       |         | BASIC-SISTEMY                         |
        |-----|-------|---------|---------------------------------------|
        |  2  | 23732 | P-RAMT  | aDRES POSLEDNEGO BAJTA FIZI^ESKOGO    |
        |     |       |         | ozu                                   |
        -----------------------------------------------------------------

   sLEDU@]AQ PROGRAMMA WYDAST WAM PERWYE 22 BAJTA OBLASTI SISTEMNYH PEREMEN-
NYH:
        10 FOR N=0 TO 21
        20 PRINT PEEK(PEEK 23627+256*PEEK 23628+N)
        30 HEXT N

   tEPERX ZAMENITE STROKU 20 NA
        20 PRINT PEEK(23755+N)
I WY DOPOLNITELXNO POLU^ITE DAMP SAMOJ PROGRAMMY.











                                 CHAPTER 26

          i S P O L X Z O W A N I E   M A [ I N N Y H   K O D O W




   kRATKOE SODERVANIE:
                USR S ^ISLOWYM ARGUMENTOM


   |TA GLAWA OPISYWAET PRIMENENIE MA[INNYH KOMAND MIKROPROCESSORA Z80.

   pROGRAMMY W MA[INNYH KODAH  PI[UT  OBY^NO  NA  ASSEMBLERE  S  POSLEDU@]EJ
TRANSLQCIEJ  (PERE^ENX MNEMOKODOW KOMAND MIKROPROCESSORA Z80 PRIWEDEN W PRI-
LOVENII A).  tRANSLQTOR S ASSEMBLERA WSTROEN W KOMPX@TER ZX SPECTRUM.

   pRIWEDEM PRIMER PROGRAMMY:
        LD BC,99
        RET
KOTORAQ ZAGRUVAET W BC-REGISTR ^ISLO 99.  |TA PROGRAMMA BUDET TRANSLIROWATX-
SQ W 4-H BAJTNYJ MA[INNYJ KOD:
        BAJTY 1, 99, 0 DLQ  ID BC,99 I
        201 DLQ RET

   sLEDU@]IM [AGOM QWLQETSQ ZAGRUZKA PROGRAMMY W KOMPX@TER.  dLQ  \TOGO  IS-
POLXZUETSQ DOPOLNITELXNAQ PAMQTX, POLU^AEMAQ MEVDU BASIC-OBLASTX@ I OBLASTX@
OPREDELQEMYH POLXZOWATELEM SIMWOLOW.
dOPUSTIM, WY IMELI SLEDU@]EE RASPREDELENIE POSLEDNEJ ^ASTI ozu:
        +---------------------+----------------+
        |    OPREDELQEMYE     |                |
        |POLXZOWATELEM SIMWOLY|                |
        +---------------------+----------------+
        UDG=32600                              PRAMT=32767
     RAMTOP=32599

   eSLI WY TEPERX WYPOLNITE CLEAR 32499, TO POLU^ITE E]E 100 BAJTOW  PAMQTI,
NA^INAQ S ADRESA 32500
        +---------------+---------------------+----------+
        |  100          |    OPREDELQEMYE     |          |
        | BAJTOW        |POLXZOWATELEM SIMWOLY|          |
        +---------------+---------------------+----------+
        32500           UDG=32600                        PRAMT=32767
     RAMTOP=32499

   dLQ ZAGRUZKI PROGRAMMY W MA[INNYH KODAH  WY  MOVETE  WYPOLNITX  SLEDU@]U@
BASIC-PROGRAMMU:
        10 LET A=32500
        20 READ N: POKE A,N
        30 LET A=A+1: GOTO 20
        40 DATA 1,99,0,201
(PROGRAMMA ZAWER[ITXSQ S SOOB]ENIEM "E OUT OF DATA", KOGDA PEREPOLNQ@TSQ OT-
WEDENNYE WAMI 4 BAJTA).
i S P O L X Z O W A N I E   M A [ I N N Y H   K O D O W            Page 26-2



   dLQ WYPOLNENIQ ZAGRUVENNYH MA[INNYH KODOW ISPOLXZUETSQ FUNKCIQ USR, NO  S
^ISLOWYM ARGUMENTOM, OPREDELQ@]IM NA^ALXNYJ ADRES.

   eSLI WY WYPOLNITE:
        PRINT USR 32500
TO POLU^ITE OTWET:  99.

   wOZWRAT W BASIC-PROGRAMMU OSU]ESTWLQETSQ OBY^NYM OBRAZOM PO KOMANDE  MIK-
ROPROCESSORA  RET.   w MA[INNOJ PROGRAMME WY NE DOLVNY ISPOLXZOWATX REGISTRY
IY I I.

   wY MOVETE ZAPISATX WA[U PROGRAMMU NA LENTU:
        SAVE "NAME" CODE 32500,4

   mOVNO ZAPISATX \TU PROGRAMMU I TAK, ^TO ONA  BUDET  AWTOMATI^ESKI  WYPOL-
NQTXSQ POSLE ZAGRUZKI:
        10 LOAD "" CODE 32500,4
        20 PRINT USR 32500

   dLQ ^EGO NADO SDELATX:
        SAVE NAME LINE
A ZATEM|
        SAVE "XXXX" CODE 32500,4
        LOAD "NAME"

   |TO PRIWEDET K TOMU, ^TO WNA^ALE BUDET ZAGRUVENA I AWTOMATI^ESKI WYPOLNE-
NA BASIC-PROGRAMMA, KOTORAQ, W SWO@ O^EREDX, ZAGRUZIT I WYPOLNIT PROGRAMMU W
MA[INNYH KODAH.











                                 APPENDIX A

                 p O L N Y J   N A B O R   S I M W O L O W



        -----------------------------------------------------------------
        |dES.|   sIMWOL   |{ESTN.| aSSEMBLER. |  0CBH...  |   0FDH...   |
        |KOD |            | KOD  | MNEMONIKA  |           |             |
        -----------------------------------------------------------------
        |  0 | NE ISPOLXZ.|  00  | NOP        | RLC B     |
        |  1 | NE ISPOLXZ.|  01  | LD BC,NN   | RLC C     |
        |  2 | NE ISPOLXZ.|  02  | LD (BC),A  | RLC D     |
        |  3 | NE ISPOLXZ.|  03  | INC BC     | RLC E     |
        |  4 | NE ISPOLXZ.|  04  | INC B      | RLC H     |
        |  5 | NE ISPOLXZ.|  05  | DEC B      | RLC L     |
        |  6 | PRINT UPR. |  06  | LD B,N     | RLC(HL)   |
        |  7 | EDIT       |  07  | RLCA       | RLC A     |
        |  8 | KURS.WLEWO |  08  | EX AF,AF'  | RRC W     |
        |  9 | KURS.WPRAWO|  09  | ADD HL,BC  | RRC S     |
        | 10 | KURS.WNIZ  |  0A  | LD A,(BC)  | RRC D     |
        | 11 | KURS.WWERH |  0B  | DEC BC     | RRC E     |
        | 12 | DELETE     |  0C  | INC C      | RRC H     |
        | 13 | ENTER      |  0D  | DEC C      | RRC L     |
        | 14 | ^ISLO      |  0E  | LD C,N     | RRC (HL)  |
        | 15 | NE ISPOLXZ.|  0F  | RRCA       | RRC A     |
        | 16 | INC UPR.   |  10  | DJNZ DIS   | RL B      |
        | 17 | PAPER UPR. |  11  | LD DE,NN   | RL C      |
        | 18 | FLASH UPR. |  12  | LD (DE),A  | RL D      |
        | 19 | BRIGHT UPR.|  13  | INC DE     | RL E      |
        | 20 | INVERSE UPR|  14  | INC D      | RL H      |
        | 21 | OVER UPR.  |  15  | DEC D      | RL L      |
        | 22 | AT UPR.    |  16  | LD D,N     | RL (HL)   |
        | 23 | TAB UPR.   |  17  | RLA        | RL A      |
        | 24 | NE ISPOLXZ.|  18  | JR DIS     | RR B      |
        | 25 | NE ISPOLXZ.|  19  | ADD HL,DE  | RR C      |
        | 26 | NE ISPOLXZ.|  1A  | LD A,(DE)  | RR D      |
        | 27 | NE ISPOLXZ.|  1B  | DEC DE     | RR E      |
        | 28 | NE ISPOLXZ.|  1C  | INC E      | RR H      |
        | 29 | NE ISPOLXZ.|  1D  | DEC E      | RR L      |
        | 30 | NE ISPOLXZ.|  1E  | LD E,N     | RR (HL)   |
        | 31 | NE ISPOLXZ.|  1F  | RRA        | RR A      |
        | 32 | PROBEL     |  20  | JR NZ,DIS  | SLA B     |
        | 33 | !          |  21  | LD HL,NN   | SLA C     |
        | 34 | "          |  22  | LD (NN),HL | SLA D     |
        | 35 | #          |  23  | INC HL     | SLA E     |
        | 36 | $          |  24  | INC H      | SLA H     |
        | 37 | %          |  25  | DEC H      | SLA L     |
        | 38 | &          |  26  | LD H,N     | SLA(HL)   |
        | 39 | '          |  27  | DAA        | SLA A     |
        | 40 | (          |  28  | JR Z,DIS   | SRA B     |
        | 41 | )          |  29  | ADD HL,HL  | SRA C     |
        | 42 | *          |  2A  | LD HL,NN   | SRA D     |
        | 43 | +          |  2B  | DEC HL     | SRA E     |
        -----------------------------------------------------------------
p O L N Y J   N A B O R   S I M W O L O W                           Page A-2



        -----------------------------------------------------------------
        | 44 | ,          |  2C  | INC L      | SRA H     |
        | 45 | -          |  2D  | DEC L      | SRA L     |
        | 46 | .          |  2E  | LD L,N     | SRA(HL)   |
        | 47 | /          |  2F  | CPL        | SRA A     |
        | 48 | 0          |  30  | JR NC,DIS  |           |
        | 49 | 1          |  31  | LD SP,NN   |           |
        | 50 | 2          |  32  | LD (NN),A  |           |
        | 51 | 3          |  33  | INC SP     |           |
        | 52 | 4          |  34  | INC (HL)   |           |
        | 53 | 5          |  35  | DEC (HL)   |           |
        | 54 | 6          |  36  | LD (HL),N  |           |
        | 55 | 7          |  37  | SCF        |           |
        | 56 | 8          |  38  | JR C,DIS   | SRL B     |
        | 57 | 9          |  39  | ADD HL,SP  | SRL C     |
        | 58 | :          |  3A  | LD A,(NN)  | SRL D     |
        | 59 | ;          |  3B  | DEC SP     | SRL E     |
        | 60 | <          |  3C  | INC A      | SRL H     |
        | 61 | =          |  3D  | DEC A      | SRL L     |
        | 62 | >          |  3E  | LD A,N     | SRL(HL)   |
        | 63 | ?          |  3F  | CCF        | SRL A     |
        | 64 | @          |  40  | LD B,B     | BIT 0,B   | IN B,(C)
        | 65 | A          |  41  | LD B,C     | BIT 0,C   | OUT (C),B
        | 66 | B          |  42  | LD B,D     | BIT 0,D   | SBC HL,BC
        | 67 | C          |  43  | LD B,E     | BIT 0,E   | LD (NN),BC
        | 68 | D          |  44  | LD B,H     | BIT 0,H   | NEG
        | 69 | E          |  45  | LD B,L     | BIT 0,L   | RETN
        | 70 | F          |  46  | LD B,(HL)  | BIT 0,(HL)| IM 0
        | 71 | G          |  47  | LD B,A     | BIT 0,A   | LD L,A
        | 72 | H          |  48  | LD C,B     | BIT 1,B   | IN C,(C)
        | 73 | I          |  49  | LD C,C     | BIT 1,C   | OUT C,(C)
        | 74 | J          |  4A  | LD C,D     | BIT 1,D   | ADD HL,BC
        | 75 | K          |  4B  | LD C,E     | BIT 1,E   | LD BC,(NN)
        | 76 | L          |  4C  | LD C,H     | BIT 1,H   |
        | 77 | M          |  4D  | LD C,L     | BIT 1,L   | RETI
        | 78 | N          |  4E  | LD C,(HL)  | BIT 1,(HL)|
        | 79 | O          |  4F  | LD C,A     | BIT 1,A   | LD R,A
        | 80 | P          |  50  | LD D,B     | BIT 2,B   | IN D,(C)
        | 81 | Q          |  51  | LD D,C     | BIT 2,C   | OUT (C),D
        | 82 | R          |  52  | LD D,D     | BIT 2,D   | SBC HL,DE
        | 83 | S          |  53  | LD D,E     | BIT 2,E   | LD (NN),DE
        | 84 | T          |  54  | LD D,H     | BIT 2,H   |
        | 85 | U          |  55  | LD D,L     | BIT 2,L   |
        | 86 | V          |  56  | LD D,(HL)  | BIT 2,(HL)| IM 1
        | 87 | W          |  57  | LD D,A     | BIT 2,A   | LD A,L
        | 88 | X          |  58  | LD E,B     | BIT 3,B   | IN E,(C)
        | 89 | Y          |  59  | LD E,C     | BIT 3,C   | OUT (C),E
        | 90 | Z          |  5A  | LD E,D     | BIT 3,D   | ADC HL,DE
        | 91 | [          |  5B  | LD E,E     | BIT 3,E   | LD DE,(NN)
        | 92 | /          |  5C  | LD E,H     | BIT 3,H   |
        | 93 | ]          |  5D  | LD E,L     | BIT 3,L   |
        | 94 | ^          |  5E  | LD E,(HL)  | BIT 3,(HL)| IM 2
        | 95 | _          |  5F  | LD E,A     | BIT 3,A   | LD A,R
        | 96 | FUNT-STERL.|  60  | LD H,B     | BIT 4,B   | IN H,(C)
        | 97 | a          |  61  | LD H,C     | BIT 4,C   | OUT (C),H
        | 98 | b          |  62  | LD H,D     | BIT 4,D   | SBC HL,HL
        | 99 | c          |  63  | LD H,E     | BIT 4,E   | LD (NN),HL
        |100 | d          |  64  | LD H,H     | BIT 4,H   |
        |101 | e          |  65  | LD H,L     | BIT 4,L   |
        |102 | f          |  66  | LD H,(HL)  | BIT 4,(HL)|
        |103 | g          |  67  | LD H,A     | BIT 4,A   | RRD
        -----------------------------------------------------------------
p O L N Y J   N A B O R   S I M W O L O W                           Page A-3



        -----------------------------------------------------------------
        |104 | h          |  68  | LD L,B     | BIT 5,B   | IN L,(C)
        |105 | i          |  69  | LD L,C     | BIT 5,C   | OUT(C),L
        |106 | j          |  6A  | LD L,D     | BIT 5,D   | ADC HL,HL
        |107 | k          |  6B  | LD L,E     | BIT 5,E   | LD HL,(NN)
        |108 | l          |  6C  | LD L,H     | BIT 5,H   |
        |109 | m          |  6D  | LD L,L     | BIT 5,L   |
        |110 | n          |  6E  | LD L,(HL)  | BIT 5,(HL)|
        |111 | o          |  6F  | LD L,A     | BIT 5,A   | RID
        |112 | p          |  70  | LD (HL),B  | BIT 6,B   | IN F,(C)
        |113 | q          |  71  | LD (HL),C  | BIT 6,C   |
        |114 | r          |  72  | LD (HL),D  | BIT 6,D   | SBC HL,SP
        |115 | s          |  73  | LD (HL),E  | BIT 6,E   | LD(NN),SP
        |116 | t          |  74  | LD (HL),H  | BIT 6,H   |
        |117 | u          |  75  | LD (HL),L  | BIT 6,L   |
        |118 | v          |  76  | HALT       | BIT 6,(HL)|
        |119 | w          |  77  | LD (HL),A  | BIT 6,A   |
        |120 | x          |  78  | LD A,B     | BIT 7,B   | IN A,(C)
        |121 | y          |  79  | LD A,C     | BIT 7,C   | OUT (C),A
        |122 | z          |  7A  | LD A,D     | BIT 7,D   | ADC HL,SP
        |123 | {          |  7B  | LD A,E     | BIT 7,E   | LD SP,(NN)
        |124 | |          |  7C  | LD A,H     | BIT 7,H   |
        |125 | }          |  7D  | LD A,L     | BIT 7,L   |
        |126 | DEFIS      |  7E  | LD A,(HL)  | BIT 7,H   |
        |127 | (c)        |  7F  | LD A,A     | BIT 7,A   |
        |128 | o o        |  80  | ADD A,B    | RES 0,B   |
        |    | o o        |      |            |           |
        |129 | o *        |  81  | ADD A,C    | RES 0,C   |
        |    | o o        |      |            |           |
        |130 | * o        |  82  | ADD A,D    | RES 0,D   |
        |    | o o        |      |            |           |
        |131 | o o        |  83  | ADD A,E    | RES 0,E   |
        |    | * o        |      |            |           |
        |132 | o o        |  84  | ADD A,H    | RES 0,H   |
        |    | o *        |      |            |           |
        |133 | o *        |  85  | ADD A,L    | RES 0,L   |
        |    | o *        |      |            |           |
        |134 | * o        |  86  | ADD A,(HL) | RES 0,(HL)|
        |    | o *        |      |            |           |
        |135 | * *        |  87  | ADD A,A    | RES 0,A   |
        |    | o *        |      |            |           |
        |136 | o o        |  88  | ADC A,B    | RES 1,B   |
        |    | * o        |      |            |           |
        |137 | o *        |  89  | ADC A,C    | RES 1,C   |
        |    | * o        |      |            |           |
        |138 | * o        |  8A  | ADC A,D    | RES 1,D   |
        |    | * o        |      |            |           |
        |139 | * *        |  8B  | ADC A,E    | RES 1,E   |
        |    | * o        |      |            |           |
        |140 | o o        |  8C  | ADC A,H    | RES 1,H   |
        |    | * *        |      |            |           |
        |141 | o *        |  8D  | ADC A,L    | RES 1,L   |
        |    | * *        |      |            |           |
        |142 | * o        |  8E  | ADC A,(HL) | RES 1,(HL)|
        |    | * *        |      |            |           |
        |143 | * *        |  8F  | ADC A,A    | RES 1,A   |
        |    | * *        |      |            |           |
        |144 | (A)        |  90  | SUB B      | RES 2,B   |
        |145 | (B)        |  91  | SUB C      | RES 2,C   |
        |146 | (C)        |  92  | SUB D      | RES 2,D   |
        |147 | (D)        |  93  | SUB E      | RES 2,E   |
        -----------------------------------------------------------------
p O L N Y J   N A B O R   S I M W O L O W                           Page A-4



        -----------------------------------------------------------------
        |148 | (E)        |  94  | SUB H      | RES 2,H   |
        |149 | (F)        |  95  | SUB L      | RES 2,L   |
        |150 | (G)        |  96  | SUB (HL)   | RES 2,(HL)|
        |151 | (H)        |  97  | SUB A      | RES 2,A   |
        |152 | (I)        |  98  | SBC A,B    | RES 3,B   |
        |153 | (J)        |  99  | SBC A,C    | RES 3,C   |
        |154 | (K)        |  9A  | SBC A,D    | RES 3,D   |
        |155 | (L)        |  9B  | SBC A,E    | RES 3,E   |
        |156 | (M)        |  9C  | SBC A,H    | RES 3,H   |
        |157 | (N)        |  9D  | SBC A,L    | RES 3,C   |
        |158 | (O)        |  9E  | SBC A,(HL) | RES 3,D   |
        |159 | (P)        |  9F  | SBC A,A    | RES 3,E   |
        |160 | (Q)        |  A0  | AND B      | RES 4,B   | LDI
        |161 | (R)        |  A1  | AND C      | RES 4,C   | CPI
        |162 | (S)        |  A2  | AND D      | RES 4,D   | INI
        |163 | (T)        |  A3  | AND E      | RES 4,E   | OUTI
        |164 | (U)        |  A4  | AND H      | RES 4,H   |
        |165 | RND        |  A5  | AND L      | RES 4,L   |
        |166 | INKEY$     |  A6  | AND (HL)   | RES 4,(HL)|
        |167 | PI         |  A7  | AND A      | RES 4,A   |
        |168 | FN         |  A8  | XOR B      | RES 5,B   | LDD
        |169 | POINT      |  A9  | XOR C      | RES 5,C   | CPD
        |170 | SCREEN$    |  AA  | XOR D      | RES 5,D   | IND
        |171 | ATTR       |  AB  | XOR E      | RES 5,E   | OUTD
        |172 | AT         |  AC  | XOR H      | RES 5,H   |
        |173 | TAB        |  AD  | XOR L      | RES 5,L   |
        |174 | VAL$       |  AE  | XOR (HL)   | RES 5,(HL)|
        |175 | CODE       |  AF  | XOR A      | RES 5,A   |
        |176 | VAL        |  B0  | OR B       | RES 6,B   | LDIR
        |177 | LEN        |  B1  | OR C       | RES 6,C   | CPIR
        |178 | SIN        |  B2  | OR D       | RES 6,D   | INIR
        |179 | COS        |  B3  | OR E       | RES 6,E   | OTIR
        |180 | TAN        |  B4  | OR H       | RES 6,H   |
        |181 | ASN        |  B5  | OR L       | RES 6,L   |
        |182 | ACS        |  B6  | OR (HL)    | RES 6,(HL)|
        |183 | ATN        |  B7  | OR A       | RES 6,A   |
        |184 | LN         |  B8  | CP B       | RES 7,B   | LDDR
        |185 | EXP        |  B9  | CP C       | RES 7,C   | CPDR
        |186 | INT        |  BA  | CP D       | RES 7,D   | INDR
        |187 | SQR        |  BB  | CP E       | RES 7,E   | OTDR
        |188 | SGN        |  BC  | CP H       | RES 7,H   |
        |189 | ABS        |  BD  | CP L       | RES 7,L   |
        |190 | PEEK       |  BE  | CP (HL)    | RES 7,(HL)|
        |191 | IN         |  BF  | CP A       | RES 7,A   |
        |192 | USR        |  C0  | RET NZ     | SET 0,B   |
        |193 | STR$       |  C1  | POP BC     | SET 0,C   |
        |194 | CHR$       |  C2  | JP NZ,NN   | SET 0,D   |
        |195 | NOT        |  C3  | JP NN      | SET 0,E   |
        |196 | BIN        |  C4  | CALL NZ,NN | SET 0,H   |
        |197 | OR         |  C5  | PUSH BC    | SET 0,L   |
        |198 | AND        |  C6  | ADD A,N    | SET 0,(HL)|
        |199 | <=         |  C7  | RST 0      | SET 0,A   |
        |200 | >=         |  C8  | RET Z      | SET 1,B   |
        |201 | <>         |  C9  | RET        | SET 1,C   |
        |202 | LINE       |  CA  | JP Z,NN    | SET 1,D   |
        |203 | THEN       |  CB  |            | SET 1,E   |
        |204 | TO         |  CC  | CALL Z,NN  | SET 1,H   |
        |205 | STEP       |  CD  | CALL NN    | SET 1,L   |
        |206 | DEF FN     |  CE  | ADC A,N    | SET 1,(HL)|
        |207 | CAT        |  CF  | RST 8      | SET 1,A   |
        ---------------------------------------------------
p O L N Y J   N A B O R   S I M W O L O W                           Page A-5



        ---------------------------------------------------
        |208 | FORMAT     |  D0  | RET NC     | SET 2,B   |
        |209 | MOVE       |  D1  | POP DE     | SET 2,C   |
        |210 | ERASE      |  D2  | JP NC,NN   | SET 2,D   |
        |211 | OPEN#      |  D3  | OUT (N),A  | SET 2,E   |
        |212 | CLOSE#     |  D4  | CALL NC,NN | SET 2,H   |
        |213 | MERGE      |  D5  | PUSH DE    | SET 2,L   |
        |214 | VERIFY     |  D6  | SUB N      | SET 2,(HL)|
        |215 | BEEP       |  D7  | RST 16     | SET 2,A   |
        |216 | CIRCLE     |  D8  | RET C      | SET 3,B   |
        |217 | INK        |  D9  | EXX        | SET 3,C   |
        |218 | PAPER      |  DA  | JP C,NN    | SET 3,D   |
        |219 | FLASH      |  DB  | IN A,(N)   | SET 3,E   |
        |220 | BRIGHT     |  DC  | CALL C,NN  | SET 3,H   |
        |221 | INVERSE    |  DD  | IX-PREFIKS | SET 3,L   |
        |222 | OVER       |  DE  | SBC A,N    | SET 3,(HL)|
        |223 | OUT        |  DF  | RST 24     | SET 3,A   |
        |224 | LPRINT     |  E0  | RET PO     | SET 4,B   |
        |225 | LLIST      |  E1  | POP HL     | SET 4,C   |
        |226 | STOP       |  E2  | JP PO,NN   | SET 4,D   |
        |227 | READ       |  E3  | EX (SP),HL | SET 4,E   |
        |228 | DATA       |  E4  | CALL PO,NN | SET 4,H   |
        |229 | RESTORE    |  E5  | PUSH HL    | SET 4,L   |
        |230 | NEW        |  E6  | AND N      | SET 4,(HL)|
        |231 | BORDER     |  E7  | RST 32     | SET 4,A   |
        |232 | CONT       |  E8  | RET PE     | SET 5,B   |
        |233 | DIM        |  E9  | JP (HL)    | SET 5,C   |
        |234 | REM        |  EA  | JP PE,NN   | SET 5,D   |
        |235 | FOR        |  EB  | EX DE,HL   | SET 5,E   |
        |236 | GO TO      |  EC  | CALL PE,NN | SET 5,H   |
        |237 | GO SUB     |  ED  |            | SET 5,L   |
        |238 | INPUT      |  EE  | XOR N      | SET 5,(HL)|
        |239 | LOAD       |  EF  | RST 40     | SET 5,A   |
        |240 | LIST       |  F0  | RET P      | SET 6,B   |
        |241 | LET        |  F1  | POP AF     | SET 6,C   |
        |242 | PAUSE      |  F2  | JP P,NN    | SET 6,D   |
        |243 | NEXT       |  F3  | DI         | SET 6,E   |
        |244 | POKE       |  F4  | CALL P,NN  | SET 6,H   |
        |245 | PRINT      |  F5  | PUSH AF    | SET 6,L   |
        |246 | PLOT       |  F6  | OR N       | SET 6,(HL)|
        |247 | RUN        |  F7  | RST 48     | SET 6,A   |
        |248 | SAVE       |  F8  | RET M      | SET 7,B   |
        |249 | RANDOMIZE  |  F9  | LD SP,HL   | SET 7,C   |
        |250 | IF         |  FA  | JP M,NN    | SET 7,D   |
        |251 | CLS        |  FB  | EI         | SET 7,E   |
        |252 | DRAW       |  FC  | CALL M,NN  | SET 7,H   |
        |253 | CLEAR      |  FD  | IY-PREFIKS | SET 7,L   |
        |254 | RETURN     |  FE  | CP N       | SET 7,(HL)|
        |255 | COPY       |  FF  | RST 56     | SET 7,A   |
        ---------------------------------------------------











                                 APPENDIX B

                             s O O B ] E N I Q




   oNI POQWLQ@TSQ W NIVNEJ ^ASTI \KRANA, ESLI KOMPX@TER OSTANOWILSQ PRI  WY-
POLNENII NEKOTOROGO OPERATORA BASIC, I UKAZYWA@T PRI^INU, WYZWAW[U@ OSTANOW.

   sOOB]ENIE SODERVIT KODOWYJ NOMER ILI BUKWU.  kRATKOE  SOOB]ENIE  POMOGAET
NAJTI  O[IBO^NU@ STROKU I O[IBO^NYJ OPERATOR W \TOJ STROKE (KOMANDA UKAZYWA-
ETSQ KAK STROKA 0, OPERATOR 1 RASPOLAGAETSQ W STROKE PERWYM, OPERATOR 2 SLE-
DUET POSLE PERWOGO ILI THEN).

   oT SOSTOQNIQ CONTINUE ZAWISIT O^ENX MNOGOE W SOOB]ENIQH.  oBY^NO  PRODOL-
VENIE  NA^INAETSQ S OPERATORA, SPECIFICIROWANNOGO W PREDYDU]EM SOOB]ENII, NO
IME@TSQ ISKL@^ENIQ - SOOB]ENIQ 0, 9 I D (SMOTRI TAKVE PRILOVENIE C).
s O O B ] E N I Q                                                   Page B-2



           s O O B ] E N I Q   I N T E R P R E T A T O R A   B A S I C
        -----------------------------------------------------------------
        |kOD|            z N A ^ E N I E                  |  sITUACIQ   |
        |---------------------------------------------------------------|
        | 0 | OK ( o'KEJ! pORQDOK! )                      |   RAZNOE    |
        |   |                                             |             |
        |   | uSPE[NOE ZAWER[ENIE ILI PEREHOD NA STROKU S |             |
        |   | NOMEROM BOLX[IM, ^EM IMEETSQ WSEGO.         |             |
        |   | |TO SOOB]ENIE NE MENQET STROKI ILI OPERATO- |             |
        |   | RA OPREDELENNOGO DLQ CONTINUE               |             |
        |...|.............................................|.............|
        | 1 | NEXT WITHOUT FOR (NEXT BEZ FOR)             |    NEXT     |
        |   |                                             |             |
        |   | uPRAWLQ@]EJ PEREMENNOJ NET (NE BYLA OPRE-   |             |
        |   | DELENA W OPERATORE FOR), NO ESTX OBY^NAQ    |             |
        |   | PEREMENNAQ S TEM VE IMENEM.                 |             |
        |...|.............................................|.............|
        | 2 | VARIABLE NOT FOUND (PEREMENNAQ NE NAJDENA)  |   RAZNOE    |
        |   |                                             |             |
        |   | dLQ PROSTOJ PEREMENNOJ WYDAETSQ, ESLI ONA   |             |
        |   | ISPOLXZUETSQ BEZ PREDWARITELXNOGO OPREDELE- |             |
        |   | NIQ W OPERATORAH LET, READ ILI INPUT,       |             |
        |   | ZAGRUVAETSQ S LENTY ILI USTANAWLIWAETSQ W   |             |
        |   | OPERATORE FOR.                              |             |
        |   | dLQ INDEKSIRUEMOJ PEREMENNOJ SOOB]ENIE      |             |
        |   | WYDAETSQ, ESLI ONA NE BYLA PREDWARITELXNO   |             |
        |   | OPREDELENA W OPERATORE DIM PERED ISPOLXZO-  |             |
        |   | WANIEM ILI ZAGRUZKOJ S LENTY.               |             |
        |...|.............................................|.............|
        | 3 | SUBSCRIPT WRONG (O[IBO^NYJ INDEKS)          | W INDEKSNOJ |
        |   |                                             | PEREMENNOJ  |
        |   | iNDEKS PREWY[AET RAZMERNOSTX MASSIWA, LIBO  | ILI         |
        |   | O[IBO^NOE ^ISLO ZADAET INDEKS. eSLI INDEKS  | PODSTROKE   |
        |   | OTRICATELXNYJ ILI BOLX[E 65535, TO WYDAETSQ |             |
        |   | SOOB]ENIE B.                                |             |
        |...|.............................................|.............|
        | 4 | OUT OF MEMORY (WYHOD IZ PAMQTI)             |   LET,      |
        |   |                                             |   INPUT,    |
        |   | w PAMQTI NEDOSTATO^NO MESTA DLQ WA[IH DEJ - |   FOR,      |
        |   | STWIJ. wY MOVETE OSWOBODITX SEBE PAMQTX     |   DIM,      |
        |   | UDALIW KOMANDNYE STROKI, ISPOLXZUQ DELETE,  |   GO SUB,   |
        |   | ZATEM UDALITX ODNU ILI DWE STROKI PROGRAMMY |   LOAD,     |
        |   | (S CELX@ WOZWRATA IH W POSLEDSTWII),        |   MERGE     |
        |   | POLU^ITX DOPOLNITELXNU@ PAMQTX, MANEWRIRUQ  |             |
        |   | OPERATOROM CLEAR.                           |             |
        |...|.............................................|.............|
        | 5 | OUT OF SCREEN (WNE \KRANA)                  |   INPUT,    |
        |   |                                             |   PRINT AT  |
        |   | eSLI INPUT-OPERATOR GENERIRUET BOLX[E ^EM   |             |
        |   | 23 STROKI W NIVNEJ POLOWINE \KRANA. tAKVE   |             |
        |   | WSTRE^AETSQ S PRINT AT 22,...               |             |
        |...|.............................................|.............|
        | 6 | NUMBER TOO BIG (^ISLO WELIKO)               |ARIFMETI^ES- |
        |   |                                             |KIE OPERACII |
        |   | w REZULXTATE WY^ISLENIJ POLU^ILOSX ^ISLO    |             |
        |   | BOLX[E 10^38.                               |             |
        |...|.............................................|.............|
s O O B ] E N I Q                                                   Page B-3



        .................................................................
        | 7 | RETURN WITHOUT GO SUB (RETURN BEZ GO SUB)   |   RETURN    |
        |   |                                             |             |
        |   | wSTRETILOSX BOLX[E OPERATOROW RETURN, ^EM   |             |
        |   | BYLO OPERATOROW GO SUB.                     |             |
        |...|.............................................|.............|
        | 8 | END OF FILE (KONEC FAJLA)                   | OPERACII S  |
        |   |                                             | WNE[NEJ     |
        |   |                                             | PAMQTX@     |
        |...|.............................................|.............|
        | 9 | STOP STATEMENT (OPERATOR STOP)              |   STOP      |
        |   |                                             |             |
        |   | pOSLE \TOGO SOOB]ENIQ CONTINUE NE MOVET     |             |
        |   | POWTORITX STOP, NO MOVET PEREDATX UPRAWLENIE|             |
        |   | NA SLEDU@]IJ OPERATOR.                      |             |
        |...|.............................................|.............|
        | A | INVALID ARGUMENT (O[IBO^NYJ ARGUMENT)       |    LN,      |
        |   |                                             |    ASN,     |
        |   | aRGUMENT FUNKCII NE DOPUSTIM W DANNOJ WERSII|   ACS,      |
        |   |                                             |   SQR,      |
        |   |                                             |   USR (SO   |
        |   |                                             | STROKOWYM   |
        |   |                                             | ARGUMENTOM) |
        |...|.............................................|.............|
        | B | INTEGER OUT OF RANGE (PEREPOLNENIE CELOGO)  |   RANDOMIZE |
        |   |                                             |   RUN,      |
        |   |                                             |   POKE,     |
        |   | wYDAETSQ, KOGDA ARGUMENT S PLAWA@]EJ TO^KOJ |   DIM,      |
        |   | OKRUGLQETSQ K CELOMU. dLQ SLU^AQ MASSIWOW   |   GO TO,    |
        |   | SMOTRI TAKVE SOOB]ENIE 3.                   |   GO SUB,   |
        |   |                                             |   LIST,     |
        |   |                                             |   LLIST,    |
        |   |                                             |   PAUSE,    |
        |   |                                             |   PLOT,     |
        |   |                                             |   CHR$,     |
        |   |                                             |   PEEK,     |
        |   |                                             |   USR (S    |
        |   |                                             | ^ISLOWYM    |
        |   |                                             | ARGUMENTOM) |
        |...|.............................................|.............|
        | C | NONSENSE IN BASIC (WYRAVENIE NE BASIC-A)    |   VAL,      |
        |   |                                             |   VAL$      |
        |   | tEKST (STROKA) NE RASPOZNAETSQ BASIC-OM KAK |             |
        |   | DOPUSTIMOE WYRAVENIE.                       |             |
        |...|.............................................|.............|
        | D | BREAK-CONT REPEATS                          |   SAVE,     |
        |   |                                             |   VERIFY,   |
        |   | kLAWI[A BREAK NAVATA WO WREMQ DEJSTWIQ PERI-|   MERGE,    |
        |   | FERIJNOJ OPERACII. dEJSTWIQ CONTINUE POSLE  |   LPRINT,   |
        |   | \TOGO OPERATORA OBY^NYE, TE ^TO UKAZANY W   |   LLIST,    |
        |   | OPERATORE. sRAWNITE S SOOB]ENIEM L.         |   LOAD,     |
        |   |                                             |COPY (TOLXKO |
        |   |                                             |KOGDA ZX     |
        |   |                                             |ZAPROSIL     |
        |   |                                             |SWERTKU, A   |
        |   |                                             |WY OTWETILI  |
        |   |                                             |N, SPACE ILI |
        |   |                                             |STOP)        |
        |...|.............................................|.............|
s O O B ] E N I Q                                                   Page B-4



        .................................................................
        | E | OUT OF DATA (WNE DANNYH)                    |   READ      |
        |   |                                             |             |
        |   | pOPYTKA WYDATX READ KOGDA SPISOK DANNYH W   |             |
        |   | DATA KON^ILSQ.                              |             |
        |...|.............................................|.............|
        | F | INVALID FILE NAME (NEWERNOE IMQ FAJLA)      |   SAVE      |
        |   |                                             |             |
        |   | oPERATOR SAVE S PUSTOJ STROKOJ WMESTO IMENI |             |
        |   | ILI S IMENEM DLINNEE 10 SIMWOLOW.           |             |
        |...|.............................................|.............|
        | G | NO ROOM FOR LINE (NET MESTA DLQ STROKI)     | WWOD        |
        |   |                                             | STROKI W    |
        |   | nEDOSTATO^NO MESTA W PAMQTI DLQ ZAPISI      | PROGRAMMU   |
        |   | O^EREDNOJ STROKI PROGRAMMY                  |             |
        |...|.............................................|.............|
        | H | STOP IN INPUT                               |   INPUT     |
        |   |                                             |             |
        |   | nEKOTORYE WWEDENNYE DANNYE NA^INA@TSQ S     |             |
        |   | OPERATORA STOP, ILI BYLA NAVATA INPUT LINE. |             |
        |   | dEJSTWIE CONTINUE - OBY^NOE.                |             |
        |...|.............................................|.............|
        | I | FOR WITHOUT NEXT (FOR BEZ NEXT)             |   FOR       |
        |   |                                             |             |
        |   | cIKL FOR NI RAZU NE WYPOLNQLSQ,             |             |
        |   | NE NAJDEN NEXT OPERATOR.                    |             |
        |...|.............................................|.............|
        | J | INVALID I/O DEVICE (NEWERNOE USTROJSTWO     | W OPERACIQH |
        |   |                      WWODA/WYWODA )         | S WNE[NIMI  |
        |   |                                             |USTROJSTWAMI |
        |...|.............................................|.............|
        | K | INVALID COLOUR (NEWERNYJ CWET)              |   PAPER,    |
        |   |                                             |   BORDER,   |
        |   | sPECIFICIROWANNOE ^ISLO IMEET NEWERNOE      |   FLASH,    |
        |   | ZNA^ENIE.                                   |   BRIGHT,   |
        |   |                                             |   INVERSE,  |
        |   |                                             |   OVER,     |
        |   |                                             |   INK,      |
        |   |                                             | A TAKVE     |
        |   |                                             | POSLE ODNOJ |
        |   |                                             | IZ PEREDA^  |
        |   |                                             | UPRAWLQ@]IH |
        |   |                                             | SIMWOLOW.   |
        |...|.............................................|.............|
        | L | BREAK INTO PROGRAM (BREAK WO WREMQ WYPOLNE- |   RAZNOE    |
        |   |                      NIQ PROGRAMMY )        |             |
        |   |                                             |             |
        |   | nAVATA KLAWI[A BREAK; \TO OBNARUVIWAETSQ    |             |
        |   | MEVDU DWUMQ OPERATORAMI. sTROKA I NOMER     |             |
        |   | OPERATORA W STROKE UKAZYWA@T NA OPERATOR,   |             |
        |   | WYPOLNQEMYJ PERED NAVATIEM BREAK, NO        |             |
        |   | CONTINUE PEREHODIT K SLEDU@]EMU OPERATORU.  |             |
        |...|.............................................|.............|
        | M | RAMTOP NO GOOD (ADRES RAMTOP NE GODEN)      |   CLEAR,    |
        |   |                                             |WOZMOVNO RUN |
        |   | ~ISLO, UKAZANNOE DLQ RAMTOP, SLI[KOM WELIKO |             |
        |   | ILI SLI[KOM MALO.                           |             |
        |...|.............................................|.............|
s O O B ] E N I Q                                                   Page B-5



        .................................................................
        | N | STATEMENT LOST (OPERATOR OTSUTSTWUET)       |   RETURN    |
        |   |                                             |   NEXT      |
        |   | pEREHOD K OPERATORU, KOTOROGO UVE NET.      |   CONTINUE  |
        |...|.............................................|.............|
        | O | INVALID STREAM (O[IBO^NYJ POTOK DANNYH)     | W OPERACIQH |
        |   |                                             |WWODA-WYWODA |
        |...|.............................................|.............|
        | P | FN WITHOUT DEF (FN BEZ DEF)                 |   FN        |
        |   |                                             |             |
        |   | oPREDELQEMAQ POLXZOWATELEM FUNKCIQ NE OPRE- |             |
        |   | DELENA W OPERATORE DEF FN.                  |             |
        |...|.............................................|.............|
        | Q | PARAMETER ERROR (O[IBKA W PARAMETRE)        |   FN        |
        |   |                                             |             |
        |   | o[IBO^NOE ^ISLO ARGUMENTOW ILI ODIN IZ NIH  |             |
        |   | NE TOGO TIPA, KAKOJ BYL OPISAN.             |             |
        |...|.............................................|.............|
        | R | TAPE LOADING ERROR (O[IBKA ZAGRUZKI S LENTY)|   VERIFY,   |
        |   |                                             |   LOAD,     |
        |   | fAJL NA LENTE NAJDEN, NO NE S^ITYWAETSQ.    |   MERGE     |
        |...|.............................................|.............|











                                 APPENDIX C

       o P I S A N I E   M I K R O K O M P X @ T E R A   ZX SPECTRUM






C.1  kLAWIATURA


   kAVDAQ KLAWI[A KLAWIATURY KOMPX@TERA ZX SPECTRUM IMEET  MNOGOFUNKCIONALX-
NOE  NAZNA^ENIE I POZWOLQET WWODITX KAK OTDELXNYE SIMWOLY TAK I CELYE SLOWA.
dEJSTWIE, PROIZWODIMOE KLAWI[EJ, OPREDELQETSQ ^ASTI^NO PEREKL@^A@]IMI KLAWI-
[AMI  (CAPS  SHIFT  I  SYMBOL  SHIFT)  A ^ASTX@ REVIMOM, W KOTOROM NAHODITSQ
KOMPX@TER.

   rEVIM OTOBRAVAETSQ KURSOROM - MERCA@]EJ BUKWOJ, UKAZYWA@]EJ POZICI@ W KO-
TORU@ BUDET WWODITXSQ O^EREDNOJ SIMWOL S KLAWIATURY.

   wOZMOVNY SLEDU@]IE REVIMY:



C.1.1  K - (DLQ KL@^EWYH SLOW) KEYWORDS.


   |TOT REVIM AWTOMATI^ESKI SMENQET REVIM L, ESLI KOMPX@TER PEREHODIT W OVI-
DANIE  WWODA  KOMANDY  ILI  STROKI  PROGRAMMY.  |TO MOVET BYTX LIBO W NA^ALE
STROKI, LIBO POSLE THEN, LIBO POSLE ':'.  i ESLI NE BYLO NAVATIQ PEREKL@^A@-
]IH  KLAWI[,  TO NAVATIE L@BOJ KLAWI[I BUDET INTERPRETIROWATXSQ KAK kl`~ewoe
slowo (NAPISANNOE NA KLAWI[E) ILI cifra.



C.1.2  L - (DLQ BUKW) LETTER.


   oSNOWNOJ REVIM DLQ KOMPX@TERA.  eSLI NE BYLO PEREKL@^ENIQ  REGISTROW,  TO
KLAWI[A INTERPRETIRUETSQ KAK OSNOWNOJ SIMWOL, NANESENNYJ NA \TU KLAWI[U.

   dLQ OBOIH REVIMOW (L I K) PRI NAVATII S KLAWI[EJ ODNOWREMENNO  I  KLAWI[I
SYMBOL SHIFT, KLAWI[A BUDET INTERPRETIROWATXSQ KAK wspomogatelxnyj simwol, A
PRI NAVATII CAPS SHIFT S CIFROJ, KLAWI[A BUDET INTERPRETIROWATXSQ KAK upraw-
lq`}aq  funkciq,  NAPISOWANNAQ  NA BELOM POLE KLAWI[I.  nAVATIE CAPS SHIFT S
L@BOJ IZ KLAWI[ NE WYZYWAET KL@^EWOGO SLOWA W REVIMAH K I L.



C.1.3  C - (DLQ ZAGLAWNYH BUKW) CAPITAL


   rEVIM PREDSTAWLQET SOBOJ WARIANT REVIMA L, W KOTOROM ISPOLXZU@TSQ zaglaw-
nye bukwy.  CAPS LOCK ISPOLXZUETSQ DLQ PEREHODA IZ REVIMA L W C I OBRATNO.
o P I S A N I E   M I K R O K O M P X @ T E R A   ZX SPECTRUM       Page C-2



C.1.4  E - (DLQ RAS[IRENIQ) EXTEND


   iSPOLXZUETSQ DLQ POLU^ENIQ DALXNEJ[IH SIMWOLOW, GLAWNYM  OBRAZOM  ZNAKOW.
|TOT  REVIM  WWODITSQ  odnowremennym  NAVATIEM  dwuh PEREKL@^A@]IH KLAWI[, S
udervaniem ZATEM TOLXKO odnoj KLAWI[I.  w \TOM REVIME KLAWI[A DAET ODIN SIM-
WOL ILI ZNAK (IZOBRAVENNYJ NA ZELENOM POLE KLAWI[I), ESLI ne navata PEREKL@-
^A@]AQ KLAWI[A, ILI ZNAK, IZOBRAVENNYJ NA KRASNOM  POLE,  ESLI  uderviwaetsq
PEREKL@^A@]AQ KLAWI[A.  cIFROWYE KLAWI[I WYDA@T ZNAK, ESLI NAVIMA@TSQ WMESTE
S SYMBOL SHIFT, W PROTIWNOM SLU^AE ONI WYDA@T POSLEDOWATELXNOSTX  uprawleniq
cwetom.



C.1.5  G - (DLQ GRAFIKI) GRAPHICS


   rEVIM WWODITSQ POSLE NAVATIQ GRAPHICS (<CS>+9) I SOHRANQETSQ DO SLEDU@]E-
GO  NAVATIQ  \TOJ KLAWI[I.  cIFROWYE KLAWI[I BUDUT WYDAWATX MOZAI^NYE GRAFI-
^ESKIE SIMWOLY, SOHRANQQ GRAPHICS I DELETE,  A  KAVDAQ  ALFAWITNAQ  KLAWI[A,
KROME  V, W, X, Y I Z, BUDET WYDAWATX OPREDELENNYJ POLXZOWATELEM GRAFI^ESKIJ
SIMWOL.

   eSLI NEKOTORAQ KLAWI[A BUDET UDERVIWATXSQ BOLEE 2-H SEKUND,  \TO  WYZOWET
POWTORENIE PROIZWODIMOGO E@ DEJSTWIQ.

   wWOD S KLAWIATURY PROIZWODITSQ W NIVN@@ ^ASTX \KRANA.  kAVDYJ SIMWOL (ILI
SOSTAWNOJ ZNAK) WSTAWLQETSQ PERED KURSOROM.  kURSOR MOVET BYTX PERESLAN WLE-
WO DEJSTWIEM <CS>+5, A WPRAWO <CS>+8.  sIMWOL PERED KURSOROM  MOVNO  UDALITX
KOMANDOJ  DELETE  (<CS>+0).   cELAQ  STROKA  MOVET  BYTX UDALENA WWODOM EDIT
(<CS>+1) I POSLEDU@]IM ENTER.  kOGDA NAVIMAETSQ ENTER, WYPOLNQETSQ NABRANNAQ
STROKA,  LIBO  ONA  WWODITSQ  W PROGRAMMU, LIBO ONA ISPOLXZUETSQ KAK WHODNYE
DANNYE DLQ INPUT-OPERATORA, LIBO W STROKE IME@TSQ SINTAKSI^ESKIE O[IBKI.   w
\TOM SLU^AE PROISHODIT INDIKACIQ MERCA@]EGO [?].

   kOGDA STROKI PROGRAMMY WWEDENY, LISTING OTOBRAVAETSQ W WERHNEJ ^ASTI  \K-
RANA.  bOLEE PODROBNO \TOT PROCESS OPISAN W GLAWE 2.

   pOSLEDNQQ WWEDENNAQ STROKA NAZYWAETSQ TEKU]EJ I OTME^AETSQ SIMWOLOM  [>],
I  EE  MOVNO  IZMENITX,  ISPOLXZUQ  KLAWI[I PEREME]ENIQ KURSORA WWERH I WNIZ
(<CS>+6, <CS>+7).  eSLI WWEDEN EDIT (<CS>+1), TO TEKU]AQ STROKA  PERENOSITSQ
W NIVN@@ ^ASTX \KRANA I STANOWITSQ DOSTUPNOJ DLQ REDAKTIROWANIQ.

   eSLI WYPOLNQETSQ KOMANDA ILI CELAQ PROGRAMMA, TO REZULXTATY  OTOBRAVA@TSQ
W  WERHNEJ  POLOWINE  \KRANA  I SOHRANQ@TSQ DO WWODA STROKI PROGRAMMY, WWODA
PUSTOJ STROKI ILI NAVATIQ KLAWI[I UPRAWLENIQ KURSOROM  WWERH  ILI  WNIZ.   w
NIVNEJ ^ASTI WYDA@TSQ SOOB]ENIQ I KODY, PRIWEDENNYE W PRILOVENII B.  w SOOB-
]ENII UKAZYWAETSQ NOMER O[IBO^NOJ STROKI (0 DLQ KOMANDY) I POZICIQ OPERATORA
W  \TOJ  STROKE.   sOOB]ENIE  SOHRANQETSQ NA \KRANE DO NAVATIQ L@BOJ KLAWI[I
(OTOBRAVAETSQ PEREHODOM W REVIM K).

   w OPREDELENNYH OBSTOQTELXSTWAH <CS>+<SPACE> DEJSTWU@T KAK BREAK, OSTANAW-
LIWAQ KOMPX@TER S SOOB]ENIQMI D ILI L, I PRI \TOM DO OSTANOWA:
        A) zAWER[AETSQ WYPOLNQW[IJSQ OPERATOR ILI
        B) zAWER[A@TSQ DEJSTWIQ, WYPOLNQEMYE KOMPX@TEROM S
           MAGNITOFONOM ILI PRINTEROM.
o P I S A N I E   M I K R O K O M P X @ T E R A   ZX SPECTRUM       Page C-3



   pRIMER ISPOLXZOWANIQ KLAWIATURY:

        PRI KURSORE [K] :
        +---------+   1. PROSTOE NAVATIE KLAWI[I   - NA \KRANE -->  COPY
        |   LN    |   2. SYMBOL SHIFT I KLAWI[A    - NA \KRANE -->   Z
        |---------|                                - KURSOR    -->  [L]
        |    :    |   3. CAPS SHIFT I KLAWI[A      - NA \KRANE -->   :
        | Z       |   4. BREAK/SPACE I KLAWI[A     - NA \KRANE -->   Z
        |   COPY  |   5. SYMBOL SHIFT I CAPS SHIFT - KURSOR    -->  [E]
        |---------|     PRI KURSORE [E] :
        |  BEEP   |   6. PROSTOE NAVATIE KLAWI[I   - NA \KRANE -->   LN
        +---------+   7. CAPS SHIFT I KLAWI[A      - NA \KRANE -->  BEEP



C.2  |KRAN TELEWIZORA.


   |KRAN TELEWIZORA SODERVIT 24 STROKI PO 32 POZICII W KAVDOJ I  DELITSQ  NA
DWE  ^ASTI.  wERHNQQ ^ASTX W 22 STROKI OTOBRAVAET LISTING ILI WYWOD IZ PROG-
RAMMY.  kOGDA WYWOD W WERHNEJ ^ASTI DOSTIGAET NIZA,  NEOBHODIMA  SWERTKA  NA
ODNU STROKU, PRI \TOM MOVET ZAHWATYWATXSQ STROKA, KOTORU@ WAM HO^ETSQ SOHRA-
NITX.  kOMPX@TER W \TOM SLU^AE OSTANAWLIWAETSQ S ZAPROSOM  'SCROLL?'.   eSLI
TEPERX  NAVATX KLAWI[I N, <SPACE> ILI <STOP>, TO PROGRAMMA OSTANOWITSQ S WY-
DA^EJ SOOB]ENIQ 'D BREAK-CONT REPEATS'.   nAVATIE  DRUGIH  KLAWI[  RAZRE[AET
SWERTKU I PRODOLVENIE WYPOLNENIQ.

   nIVNQQ ^ASTX ISPOLXZUETSQ DLQ WWODA KOMAND,  STROK  PROGRAMMY  I  WHODNYH
INPUT-DANNYH, A TAKVE DLQ OTOBRAVENIQ SOOB]ENIJ.  nIVNQQ ^ASTX \KRANA SOSTO-
IT IZ DWUH STROK (WERHNQQ IZ NIH ^ISTAQ - DLQ RAS[IRENIQ).  pRI PEREPOLNENII
WERHNEJ STROKI OSU]ESTWLQETSQ SWERTKA.

   kAVDAQ POZICIQ IMEET ATRIBUTY OPREDELQ@]IE EE KAK ^ISTU@ (CWET FONA), LI-
BO  KAK  ZAKRA[ENNU@  (OSNOWNOJ CWET), S POWY[ENNOJ ILI PONIVENNOJ QRKOSTX@,
MERCA@]U@ ILI NET.

   dOSTUPNY CWETA:  ^ERNYJ, GOLUBOJ, KRASNYJ, PURPURNYJ (FIOLETOWYJ),  ZELE-
NYJ, VELTYJ I BELYJ.

   kRAQ \KRANA MOGUT BYTX USTANOWLENY  W  OPREDELENNYJ  CWET  ISPOLXZOWANIEM
OPERATORA BORDER.

   kAVDAQ POZICIQ PODRAZDELQETSQ NA 8*8 TO^EK, A GRAFIKA SIMWOLOW  OBESPE^I-
WAETSQ  INDIWIDUALXNYM  OPREDELENIEM  KAVDOJ TO^KI.  aTRIBUTY KAVDOJ POZICII
NASTRAIWA@TSQ PRI ZAPISI SIMWOLA ILI PRI USTANOWKE TO^KI (pixel-A).   sPOSOB
NASTROJKI  OPREDELQETSQ PARAMETRAMI WYWODA, IME@]IMI DWE USTANOWKI (POSTOQN-
NU@ I WREMENNU@) W [ESTI OPERATORAH:
        PAPER, INK, FLASH, BRIGHT, INVERSE I OVER.

   pOSTOQNNYE PARAMETRY DLQ WERHNEJ ^ASTI \KRANA USTANAWLIWA@TSQ W  OPERATO-
RAH  PAPER, INK I T.D.  oBY^NO ONI IME@T ^ERNYJ CWET DLQ FONOWOJ TO^KI (INK)
I BELYJ DLQ ZAKRA[ENNOJ (PAPER), NORMALXNU@ QRKOSTX, NE  MERCA@]IE,  NE  IN-
WERSNYE.  pOSTOQNNYE PARAMETRY DLQ NIVNEJ ^ASTI \KRANA ISPOLXZU@T CWET RAMKI
(BORDER COLOUR) KAK CWET FONA (NEZAKRA[ENNYJ), S ^ERNYM  ILI  BELYM  CWETOM,
NORMALXNU@ QRKOSTX, NE MERCA@]IE.

   wREMENNYE PARAMETRY USTANAWLIWA@TSQ KOMANDAMI:  PAPER, INK I T.D., WSTAW-
LQEMYMI  W  OPERATORY  PRINT,  LPRINT,  INPUT,  PLOT, DRAW I CIRCLE, A TAKVE
PAPER, INK I TOMU PODOBNYMI UPRAWLQ@]IMI SIMWOLAMI, KOGDA ONI  WYWODQTSQ  NA
TELEWIZOR.
o P I S A N I E   M I K R O K O M P X @ T E R A   ZX SPECTRUM       Page C-4



   wREMENNYE PARAMETRY SOHRANQ@TSQ DO KONCA DEJSTWIQ  OPERATORA  PRINT  (ILI
DRUGIH).

   pARAMETRY PAPER I INK MOGUT PRINIMATX ZNA^ENIQ OT 0 DO 9.  pARAMETRY OT 0
DO 7 OPREDELQ@T CWETA WYWODIMOGO SIMWOLA:
        0 - ^ERNYJ    (BLACK)
        1 - GOLUBOJ   (BLUE)
        2 - KRASNYJ   (RED)
        3 - FIOLETOWYJ(MAGENTA)
        4 - ZELENYJ   (GREEN)
        5 - SINIJ     (CYAN)
        6 - VELTYJ    (YELLOW)
        7 - BELYJ     (WHITE)

   pARAMETR 8 OPREDELQET, ^TO CWET DOLVEN OSTATXSQ PRI WYWODE BEZ IZMENENIQ.

   pARAMETR 9 (KONTRASTNOSTX) OPREDELQET, ^TO CWET DOLVEN STATX LIBO  BELYM,
LIBO ^ERNYM DLQ WYDELENIQ EGO OT DRUGIH CWETOW.

   pARAMETRY FLASH I BRIGHT MOGUT PRINIMATX ZNA^ENIQ 0, 1 ILI 8:
        pARAMETR 1 - WKL@^AETSQ POWY[ENNAQ QRKOSTX I MERCANIE;
        pARAMETR 0 - POWY[ENNAQ QRKOSTX I MERCANIE OTKL@^A@TSQ;
        pARAMETR 8 - UKAZYWAET, ^TO WSE OSTAETSQ BEZ IZMENENIJ;

   pARAMETRY OVER I INVERSE MOGUT PRINIMATX ZNA^ENIQ 0 ILI 1:
        OVER 0 - NOWYJ SIMWOL ZATIRAET STARYJ;
        OVER 1 - KOD STAROGO SIMWOLA I NOWOGO SIMWOLA SOEDINQ@TSQ
                 OPERACIEJ 'ISKL@^A@]EGO ILI', OBRAZUQ NOWYJ SIMWOL
                 (OVERPRINTING);
        INVERSE 0 - NOWYJ SIMWOL PE^ATAETSQ W NEINWERSNOM WIDE;
        INVERSE 1 - NOWYJ SIMWOL PE^ATAETSQ W INWERSNOM WIDE;

   kOGDA NA TELEWIZOR PEREDAETSQ UPRAWLQ@]IJ SIMWOL TAB, TO DWA STAR[IH BAJ-
TA  ISPOLXZU@TSQ  DLQ  SPECIFIKACII TAB STOP (PERWYJ BAJT QWLQETSQ STAR[IM).
|TO OBESPE^IWAETSQ PROGONOM OT 32 DO N (UKAZANNYM W  TAB)  I  ZATEM  WYWODOM
NUVNOGO KOLI^ESTWA PROBELOW DLQ SME]ENIQ TEKU]EJ POZICII WYWODA W KOLONKU N.

   eSLI NA WYWOD PEREDAETSQ ZAPQTAQ, KAK UPRAWLQ@]IJ  SIMWOL,  TO  WYWODITSQ
NUVNOE  KOLI^ESTWO  PROBELOW DLQ PEREWODA TEKU]EJ POZICII WYWODA W POZICI@ 0
ILI 16.

   eSLI PEREDAETSQ UPRAWLQ@]IJ SIMWOL <ENTER>, TO POZICIQ WYWODA PEREWODITSQ
NA NA^ALO SLEDU@]EJ STROKI.



C.3  pRINTER.


   wYWOD NA PRITER OSU]ESTWLQETSQ ^EREZ BUFER DLINOJ W 32 SIMWOLA.   o^ERED-
NAQ STROKA WYDAETSQ IZ BUFERA NA PRINTER W SLEDU@]IH SLU^AQH:
        A) kOGDA OKON^EN WYWOD ODNOJ STROKI I WYWOD PEREHODIT K
           DRUGOJ STROKE;
        B) pRI PEREDA^E W BUFER SIMWOLA <ENTER>;
        W) pRI ZAWER[ENII PROGRAMMY, ESLI E]E OSTALISX DRUGIE NE
           WYWEDENNYE DANNYE;
        G) eSLI WSTRETILISX UPRAWLQ@]IE SIMWOLY TAB ILI ZAPQTAQ,
           TREBU@]IE PEREWODA STROKI;

   uPRAWLQ@]IE SIMWOLY TAB I ZAPQTAQ PROIZWODQT WYWOD PROBELOW PRI RABOTE  S
TELEWIZOROM.
o P I S A N I E   M I K R O K O M P X @ T E R A   ZX SPECTRUM       Page C-5



   uPRAWLQ@]IJ SIMWOL AT IZMENQET POZICI@ WYWODA, ISPOLXZUQ ^ISLO,  ZADA@]EE
POZICI@.

   pRINTER TAK VE PRAWILXNO REAGIRUET NA UPRAWLQ@]IE SIMWOLY  INVERSE,  OVER
(I  OPERATORY  S  TEM  VE  IMENEM),  NO  NE WOSPRINIMAET PAPER, INK, FLASH I
BRIGHT.

   pRI WWODE BREAK PRINTER OSTANAWLIWAETSQ S WYDA^EJ SOOB]ENIQ 'B'.  pRI OT-
SUTSTWII PRINTERA WYWOD PROSTO NE OSU]ESTWLQETSQ.











                                 APPENDIX D

             q Z Y K   P R O G R A M M I R O W A N I Q   BASIC




   wSE ^ISLA W SISTEME MOGUT IMETX TO^NOSTX 9  ILI  10  ZNAKOW.   nAIBOLX[EE
^ISLO  10^38, A NAIMENX[EE POLOVITELXNOE ^ISLO 4*10^-39).  ~ISLA IME@T WNUT-
RENNEE PREDSTAWLENIE KAK ^ISLA S PLAWA@]EJ (DWOI^NOJ) TO^KOJ,  S  WYDELENIEM
ODNOGO BAJTA NA POKAZATELX STEPENI E W INTERWALE OT 1 DO 255, I ^ETYREH BAJ-
TOW NA MANTISSU M W INTERWALE [0.5..1).

   pOSKOLXKU 1/2<=M<1, STAR[IJ ZNA^A]IJ BIT MANTISSY WSEGDA 1.  sLEDOWATELX-
NO, MY MOVEM ZAMENQTX EGO NA BIT, OBOZNA^A@]IJ ZNAK:  0 - DLQ POLOVITELXNOGO
^ISLA I 1 - DLQ OTRICATELXNOGO.

   nAIMENX[EE CELOE IMEET SPECIALXNOE PREDSTAWLENIE, W KOTOROM  PERWYJ  BAJT
0,  WTOROJ BAJT ZNAKA (0 I 0FFH), A TRETIJ I ^ETWERTYJ SAMO ^ISLO W DOPOLNI-
TELXNOM KODE (MLAD[IE ZNA^A]IE CIFRY W PERWOM BAJTE).

   ~ISLOWYE PEREMENNYE IME@T IMQ PROIZWOLXNOJ DLINY, NA^INA@]EESQ S BUKWY  I
PRODOLVA@]EESQ BUKWAMI ILI CIFRAMI.  pROBELY I SIMWOLY UPRAWLENIQ CWETOM IG-
NORIRU@TSQ I WSE BUKWY PREOBRAZU@TSQ K MINIMALXNO UPAKOWANNOMU WIDU.

   uPRAWLQ@]IE PEREMENNYE DLQ FOR-NEXT CIKLOW IME@T IMENA DLINOJ W ODNU BUK-
WU.

   ~ISLOWYE MASSIWY IME@T IMENA DLINOJ W ODNU BUKWU, KOTORAQ MOVET BYTX  TA-
KOJ  VE, KAK IMQ SKALQRNOJ PEREMENNOJ.  |TI MASSIWY MOGUT IMETX PROIZWOLXNOE
KOLI^ESTWO IZMERENIJ I PROIZWOLXNYJ RAZMER.  NA^ALXNYJ INDEKS WSEGDA 1.

   sTROKI SIMWOLOW BOLEE GIBKIE W SWOEJ DLINE.  iMQ STROKOWOJ PEPEREMENNOJ W
OTLI^IE OT PROSTOJ PEREMENNOJ ZAKAN^IWAETSQ SIMWOLOM DOLLARA ($).

   sTROKOWYE MASSIWY TAKVE MOGUT IMETX PROIZWOLXNOE KOLI^ESTWO  IZMERENIJ  I
RAZMER.   iH  IMENA  PREDSTAWLQ@T SOBOJ ODNU BUKWU I SLEDU@]IJ ZA NEJ SIMWOL
'$', NO NE MOGUT SOWPADATX S IMENEM PROSTOJ STROKI SIMWOLOW.

   wSE STROKI W MASSIWAH IME@T  FIKSIROWANNU@  DLINU,  KOTORAQ  OPREDELQETSQ
^ISLOM, ZADA@]IM POSLEDN@@ RAZMERNOSTX W OPERATORE DIM.  nA^ALXNYJ INDEKS 1.

   pODSTROKA OT STROKI MOVET BYTX POLU^ENA KAK SE^ENIE.  oNO BYWAET:
        A) pUSTYM;
        B) ~ISLOWYM WYRAVENIEM;
        W) nEKOTORYM '^ISL. WYRAVENIE' 'TO' '^ISL. WYRAVENIE'
           I ISPOLXZOWATXSQ W:
 
                *) sTROKOWYH WYRAVENIQH (SE^ENIQH);
                **) sTROKOWYH MASSIWAH PEREMENNYH
                (INDEKS1, INDEKS2,..., INDEKSN, SE^ENIE)
                     ILI, ^TO TOVE SAMOE
                (INDEKS1, INDEKS2,..., INDEKSN)(SE^ENIE).
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-2



   w SLU^AE *) STROKA WYRAVENIQ IMEET ZNA^ENIE  S$.   eSLI  SE^ENIE  MASSIWA
PUSTO, TO S$ S^ITAETSQ PODSTROKOJ OT SAMOJ SEBQ.

   eSLI SE^ENIE PREDSTAWLQETSQ ^ISLOWYM WYRAVENIEM S ZNA^ENIEM M, TO REZULX-
TATOM BUDET M-YJ SIMWOL OT S$ (PODSTROKA DLINOJ 1).

   eSLI SE^ENIE PREDSTAWLENO W FORME B) I PERWOE  ^ISLOWOE  WYRAVENIE  IMEET
ZNA^ENIE M (UMAL^IWAEMOE ZNA^ENIE 1), A WTOROE N (UMAL^IWAEMOE ZNA^ENIE S$),
I ESLI 1<=M<=N<=DLINA S$, TO REZULXTATOM BUDET PODSTROKA OT S$  S  M-YM  NA-
^ALXNYM SIMWOLOM I N-YM KONE^NYM.

   eSLI 0<=N<M, TO REZULXTATOM BUDET PUSTAQ STROKA.  w L@BOM  DRUGOM  SLU^AE
WYDAETSQ SOOB]ENIE OB O[IBKE '3'.

   sE^ENIE WYPOLNQETSQ PERED FUNKCIEJ ILI OPERACIEJ, KOTORAQ OSU]ESTWLQETSQ,
ESLI SKOBKAMI NE PREDPISANO SDELATX INA^E.

   pODSTROKA MOVET NAZNA^ATXSQ (SMOTRI OPERATOR LET).  eSLI ^ASTX STROKI ZA-
PISYWAETSQ W STROKOWYJ LITERAL, ONA DOLVNA UDWAIWATXSQ.
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-3



D.1  fUNKCII.

        -----------------------------------------------------------------
        |   iMQ   |   tIP   |      dEJSTWIE (WOZWRA]AEMOE ZNA^ENIE)     |
        | FUNKCII |ARGUMENTA|                                           |
        |---------|---------|-------------------------------------------|
        |  ABS    | ^ISLO   | aBSOL@TNOE ZNA^ENIE                       |
        |---------|---------|-------------------------------------------|
        |  ACS    | ^ISLO   | aRKKOSINUS W RADIANAH. wYDAET SOOB]ENIE   |
        |         |         | OB O[IBKE A, ESLI X NE LEVIT W INTERWALE  |
        |         |         | OT  -1 DO 1.                              |
        |---------|---------|-------------------------------------------|
        |  AND    |LOGI^ES- |                                           |
        |         |KAQ OPE- |                                           |
        |         |RACIQ.   |                                           |
        |         |PRAWYJ   |                                           |
        |         |OPERAND  |                                           |
        |         |WSEGDA   |                                           |
        |         |^ISLO.   |                                           |
        |         |SLEWA MO-|                                           |
        |         |VET BYTX:|                                           |
        |         | -^ISLO, |                 / A, ESLI B<>0            |
        |         |  TOGDA---->   A  AND  B =<                          |
        |         |         |                 \ B, ESLI B=0             |
        |         |         |                                           |
        |         | -STROKA,|                 / A$, ESLI B<>0           |
        |         |  TOGDA---->   A$ AND  B =<                          |
        |         |         |                 \"", ESLI B=0             |
        |---------|---------|-------------------------------------------|
        |  ASN    | ^ISLO   | aRKSINUS W RADIANAH. wYDAET SOOB]ENIE     |
        |         |         | A, ESLI X NE LEVIT W INTERWALE OT -1 DO 1 |
        |---------|---------|-------------------------------------------|
        |  ATN    | ^ISLO   | aRKTANGENS W RADIANAH.                    |
        |---------|---------|-------------------------------------------|
        |  ATTR   | DWA ^IS-| ~ISLO, DWOI^NYJ KOD KOTOROGO, PREDSTAWLQ- |
        |         | LOWYH   | ET SOBOJ ATRIBUTY Y-OJ POZICII X-OJ STRO- |
        |         | ARGUMEN-| KI \KRANA. bIT 7 (STAR[IJ) RAWEN 1 DLQ    |
        |         | TA X I  | MERCA@]EGO POLQ, I 0 DLQ NEMERCA@]EGO.    |
        |         | Y, ZAK- | BITY S 5 PO 3 - CWET FONA. bITY S 2 PO    |
        |         | L@^AEMYE| 1 - CWET ZAKRA[IWANIQ. wYDAET SOOB]ENIE   |
        |         | W SKOBKI| B, ESLI 0<=X<=23 I 0<=Y<=31.              |
        |---------|---------|-------------------------------------------|
        |  BIN    |         | |TO NE OBY^NAQ FUNKCIQ. zA BIN ZAPISYWA-  |
        |         |         | ETSQ POSLEDOWATELXNOSTX NULEJ I EDINIC,   |
        |         |         | PREDSTAWLQ@]AQ SOBOJ DWOI^NOE PREDSTAW-   |
        |         |         | LENIE ^ISLA, KOTOROE ZAPISYWAETSQ W PA-   |
        |         |         | MQTX.                                     |
        |---------|---------|-------------------------------------------|
        |  CHR$   | ^ISLO   | sIMWOD, ^EJ KOD PREDSTAWIM ^ISLOM X, OK-  |
        |         |         | RUGLENNYM K BLIVAJ[EMU CELOMU.            |
        |---------|---------|-------------------------------------------|
        |  CODE   | STROKA  | kOD PERWOGO SIMWOLA W STROKE X (ILI 0,    |
        |         | SIMWOLOW| ESLI X - PUSTAQ STROKA).                  |
        |---------|---------|-------------------------------------------|
        |  COS    | ^ISLO W | kOSINUS X.                                |
        |         | RADIANAH|                                           |
        |---------|---------|-------------------------------------------|
        |  EXP    | ^ISLO   | E W STEPENI X.                            |
        -----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-4



        -----------------------------------------------------------------
        |  FN     |         | FN S POSLEDU@]IM IMENEM, OPREDELENNOJ     |
        |         |         | POLXZOWATELEM FUNKCII (SM.DEF). aRGUMENTY |
        |         |         | DOLVNY ZAKL@^ATXSQ W SKOBKI. dAVE, ESLI   |
        |         |         | NET ARGUMENTOW, SKOBKI WSE RAWNO DOLVNY   |
        |         |         | ZAPISYWATXSQ.                             |
        |---------|---------|-------------------------------------------|
        |  IN     | ^ISLO   | oSU]ESTWLQETSQ WWOD NA UROWNE MIKROPRO-   |
        |         |         | CESSORA IZ PORTA X (0<=X<=0FFFFH). zAGRU- |
        |         |         | VAETSQ PARA REGISTROW BC I WYPOLNQETSQ    |
        |         |         | KOMANDA ASSEMBLERA IN A(C)                |
        |---------|---------|-------------------------------------------|
        |  INKEY$ | NET     | ~TENIE S KLAWIATURY. wOZWRA]AET SIMWOL    |
        |         |         | WWEDENNYJ S KLAWIATURY (W REVIME [L] ILI  |
        |         |         | [C]), ESLI BYLO DEJSTWITELXNOE NAVATIE    |
        |         |         | KLAWI[I, ILI PUSTU@ STROKU W PROTIWNOM    |
        |         |         | SLU^AE.                                   |
        |---------|---------|-------------------------------------------|
        |  INT    | ^ISLO   | oKRUGLENIE K BLIVAJ[EMU MENX[EMU CELOMU.  |
        |---------|---------|-------------------------------------------|
        |  LEN    | STROKA  | dLINA STROKI                              |
        |         | SIMWOLOW|                                           |
        |---------|---------|-------------------------------------------|
        |  LN     | ^ISLO   | nATURALXNYJ LOGARIFM. wYDAET SOOB]ENIE    |
        |         |         | A, ESLI X<=0 .                            |
        |---------|---------|-------------------------------------------|
        |  NOT    | ^ISLO   | 0, ESLI X<>0, 1, ESLI X=0. oPERACIQ IMEET |
        |         |         | ^ETWERTYJ PRIORITET.                      |
        |---------|---------|-------------------------------------------|
        |  OR     | LOGI^ES-|                                           |
        |         | KAQ OPE-|          / 1, ESLI B<>0                   |
        |         | RACIQ.  | A OR B =<                                 |
        |         | OBA OPE-|          \ A, ESLI B=0                    |
        |         | RANDA   |                                           |
        |         | ^ISLA   | oPERACIQ IMEET WTOROJ PRIORITET.          |
        |---------|---------|-------------------------------------------|
        |  PEEK   | ^ISLO   | zNA^ENIE BAJTA W PAMQTI PO ADRESU X, OK-  |
        |         |         | RUGLENNOMU K BLIVAJ[EMU CELOMU.           |
        |---------|---------|-------------------------------------------|
        |  PI     | NET     | ~ISLO PI (3.14159265...)                  |
        |---------|---------|-------------------------------------------|
        |  POINT  | DWA ^IS-| 1, ESLI TO^KA \KRANA S KOORDINATAMI (X,Y) |
        |         | LOWYH   | ZAKRA[ENA. 0, ESLI \TA TO^KA IMEET CWET   |
        |         | ARGUMEN-| FONA. wYDAET SOOB]ENIE B, ESLI NE WYPOL-  |
        |         | TA  X I | NQ@TSQ USLOWIQ 0<=X<=255 I 0<=Y<=175.     |
        |         | Y, ZAK- |                                           |
        |         | L@^ENNYH|                                           |
        |         | W SKOBKI|                                           |
        |---------|---------|-------------------------------------------|
        |  RND    | NET     | o^EREDNOE PSEWDOSLU^AJNOE ^ISLO IZ POSLE- |
        |         |         | DOWATELXNOSTI, POLU^AEMOJ WOZWEDENIEM W   |
        |         |         | 75 STEPENX MODULQ ^ISLA 65537, WY^ITANI-  |
        |         |         | EM 1 I DELENIEM NA 65536. ~ISLO LEVIT W   |
        |         |         | INTERWALE 0<=Y<=1.                        |
        |---------|---------|-------------------------------------------|
        | SCREEN$ | DWA ^IS-| sIMWOL (OBY^NYJ ILI INWERSNYJ), KOTORYJ   |
        |         | LOWYH   | POQWLQETSQ NA \KRANE W STROKE X, POZICII  |
        |         | ARGUMEN-| Y. dAET PUSTU@ STROKU, ESLI SIMWOL NE     |
        |         | TA X I  | OPOZNAN.                                  |
        |         | Y, ZAK- |                                           |
        |         | L@^ENNYH|                                           |
        |         | W SKOBKI|                                           |
        -----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-5



        -----------------------------------------------------------------
        |  SGN    | ^ISLO   | -1, ESLI X < 0                            |
        |         |         |  0, ESLI X = 0                            |
        |         |         |  1, ESLI X > 0                            |
        |---------|---------|-------------------------------------------|
        |  SIN    | ^ISLO W | sINUS X                                   |
        |         | RADIANAH|                                           |
        |---------|---------|-------------------------------------------|
        |  SQR    | ^ISLO   | kORENX KWADRATNYJ. wYDAET SOOB]ENIE A,    |
        |         |         | ESLI X < 0.                               |
        |---------|---------|-------------------------------------------|
        |  STR$   | ^ISLO   | sTROKA SIMWOLOW, KOTORAQ DOLVNA BYTX      |
        |         |         | OTOBRAVENA, ESLI X WYWODITSQ.             |
        |---------|---------|-------------------------------------------|
        |  USR    | ^ISLO   | wYZYWAET PODPROGRAMMU W MA[INNYH KODAH,   |
        |         |         | NA^ALXNYJ ADRES KOTOROJ X. pRI WOZWRATE   |
        |         |         | REZULXTATOM BUDET SODERVIMOE REGISTROWOJ  |
        |         |         | PARY BC.                                  |
        |---------|---------|-------------------------------------------|
        | USR     | STROKA  | aDRES GRUPPY BAJTOW, ZADA@]IH OPREDELEN-  |
        |         | SIMWOLOW| NYJ POLXZOWATELEM SIMWOL DLQ ZAKREPLENIQ  |
        |         |         | EGO ZA X.                                 |
        |---------|---------|-------------------------------------------|
        |  VAL    | STROKA  | wY^ISLENIE X KAK ^ISLOWOGO WYRAVENIQ. WY- |
        |         | SIMWOLOW| DAET SOOB]ENIE C, ESLI X SODERVIT SIN-    |
        |         |         | TAKSI^ESKIE O[IBKI ILI DAET STROKOWOE     |
        |         |         | (NE ^ISLOWOE) ZNA^ENIE. wOZMOVNY I DRUGIE |
        |         |         | O[IBKI.                                   |
        |---------|---------|-------------------------------------------|
        |  VAL$   | STROKA  | wY^ISLQET X KAK STROKOWOE WYRAVENIE. WY-  |
        |         | SIMWOLOW| DAET SOOB]ENIE C, ESLI X SODERVIT SIN-    |
        |         |         | TAKSI^ESKU@ O[IBKU ILI DAET NE STROKOWOE  |
        |         |         | (^ISLOWOE) ZNA^ENIE.                      |
        -----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-6



D.1.1  oPERACII.

pREFIKSNYE:
        -       ^ISLO   OTRICATELXNOE ZNA^ENIE
iNFIKSNYE:
        +       SLOVENIE DLQ ^ISEL, KONKATENCIQ DLQ STROK
        -       WY^ITANIE
        *       UMNOVENIE
        /       DELENIE
        ^       WOZWEDENIE W STEPENX
        =       RAWENSTWO       \
        >       BOLX[E           | oBA OPERANDA DOLVNY BYTX OD-
        <       MENX[E           | NOGO TIPA. rEZULXTAT RAWEN 1,
        >=      BOLX[E ILI RAWNO | ESLI SRAWNENIE ISTINNO, I 0,
        <=      MENX[E ILI RAWNO | ESLI NET.
        <>      NE RAWNO        /
fUNKCII I OPERACII IME@T SLEDU@]IE PRIORITETY:
        iNDEKSACIQ I SE^ENIQ            - 12
        wSE FUNKCII ZA ISKL@^ENIEM
          NOT I PREFIKSNOGO MINUSA      - 11
        ^                               - 10
        pREFIKSNYJ MINUS                -  9
        *, /                            -  8
        +, -                            -  6
        =, >, <, <=, >=, <>             -  5
        NOT                             -  4
        AND                             -  3
        OR                              -  2
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-7



D.1.2  oPERATORY.


   pRINQTYE OBOZNA^ENIQ:
        A - ODNA BUKWA;
        V - PEREMENNAQ;
        X, Y, Z - ^ISLOWYE WYRAVENIQ;
        M, N - ^ISLOWYE WYRAVENIQ, KOTORYE OKRUGLQ@TSQ K BLIVAJ[EMU
               CELOMU;
        E - NEKOTOROE WYRAVENIE;
        F - WYRAVENIE, IME@]EE STROKOWOE ZNA^ENIE;
        S - POSLEDOWATELXNOSTX OPERATOROW, RAZDELENNYH DWOETO^IEM ':'
        C - POSLEDOWATELXNOSTX SIMWOLOW UPRAWLENIQ CWETOM. kAVDYJ
            ZAKAN^IWAETSQ ZAPQTOJ ILI TO^KOJ S ZAPQTOJ. cWETOWOJ SIMWOL
            IMEET FORMU OPERANDOW:
                PAPER, INK, FLASH, BRIGHT, INVERSE ILI OVER.

   tEKST PROIZWOLXNOGO WYRAVENIQ MOVET RASPOLAGATXSQ W  L@BOM  MESTE  STROKI
(ZA  ISKL@^ENIEM NOMERA STROKI, KOTORYJ DOLVEN RAZME]ATXSQ W NA^ALE STROKI).
wSE OPERATORY, KROME INPUT, DEF I DATA MOGUT ISPOLXZOWATXSQ I KAK KOMANDY  I
W PROGRAMMAH.

   kOMANDA ILI STROKA PROGRAMMY MOVET SODERVATX NESKOLXKO OPERATOROW, RAZDE-
LENNYH DWOETO^IEM (':').

   nET OGRANI^ENIJ NA POLOVENIE OPERATORA W STROKE, HOTQ ESTX NEKOTORYE  OG-
RANI^ENIQ W IF I REM.
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-8



        ----------------------------------------------------------------
        |     o P E R A T O R      |       dEJSTWIE  OPERATORA
        |--------------------------|------------------------------------
        | BEEP X,Y                 | wOSPROIZWODIT ZWUK DLITELXNOSTX@
        |                          | X SEK, WYSOTOJ Y POLUTONOW WWERH
        |                          | OT OSNOWNOGO TONA do (ILI WNIZ,
        |                          | ESLI Y OTRICATELXNOE).
        |--------------------------|------------------------------------
        | BORDER M                 | uSTANAWLIWAET CWET RAMKI (BORD@RA)
        |                          | \KRANA. wYDAET SOOB]ENIE OB O[IBKE
        |                          | K, ESLI  0>M>?.
        |--------------------------|------------------------------------
        | BRIGHT M                 | uSTANAWLIWAET QRKOSTX SIMWOLA|
        |                          |  0 - DLQ OBY^NOJ QRKOSTI;
        |                          |  1 - DLQ POWY[ENNOJ QRKOSTI;
        |                          |  8 - SOHRANQET SU]ESTWU@]U@ QRKOSTX
        |--------------------------|------------------------------------
        | CAT                      | bEZ MICRODRIVE NE RABOTAET.
        |--------------------------|------------------------------------
        | CIRCLE X,Y,Z             | iZOBRAVAET DUGU ILI OKRUVNOSTX S
        |                          | CENTROM W TO^KE S KOORDINATAMI
        |                          | (X,Y) I RADIUSOM Z.
        |--------------------------|------------------------------------
        | CLEAR                    | uNI^TOVAET WSE PEREMENNYE I O^I]AET
        |                          | ZANIMAEMU@  IMI  PAMQTX. wYPOLNQET
        |                          | RESTORE I CLS, USTANAWLIWAET PLOT
        |                          | POZICI@ W NIVN@@ LEWU@ TO^KU \KRANA
        |                          | I O^I]AET GOSUB-STEK.
        |--------------------------|------------------------------------
        | CLEAR N                  | pODOBNO CLEAR, NO DOPOLNITELXNO IZ-
        |                          | MENQET SISTEMNU@ PEREMENNU@ RAMTOP
        |                          | NA N I ZADAET NOWYJ GOSUB-STEK.
        |--------------------------|------------------------------------
        | CLOSE#                   | bEZ MICRODRIVE NE RABOTAET.
        |--------------------------|------------------------------------
        | CLS                      | (CLEAR SCREEN) O^I]AET FAJL \KRANA.
        |--------------------------|------------------------------------
        | CONTINUE                 | pRODOLVAET WYPOLNENIE PROGRAMMY,NA-
        |                          | ^ATOJ RANEE I OSTANOWLENNOJ S SOOB-
        |                          | ]ENIEM, OTLI^NYM OT  0. eSLI BYLO
        |                          | SOOB]ENIE 9 ILI L, TO WYPOLNENIE
        |                          | PRODOLVAETSQ SO SLEDU@]EGO OPERATO-
        |                          | RA, W DRUGIH SLU^AQH S TOGO OPERA-
        |                          | TORA, GDE SLU^ILASX O[IBKA.
        |                          | eSLI SOOB]ENIE WOZNIKLO W KO-
        |                          | MANDNOJ STROKE, TO CONTINUE WYZOWET
        |                          | POPYTKU POWTORITX KOMANDNU@ STROKU
        |                          | I PEREJDET W CIKL, ESLI BYLO SOOB-
        |                          | ]ENIE 0:1, DAET SOOB]ENIE 0, ESLI
        |                          | BYLO 0:2, ILI DAET SOOB]ENIE N, ES-
        |                          | LI BYLO 0:3 ILI BOLEE. w KA^ESTWE
        |                          | CONTINUE ISPOLXZUETSQ KL@^EWOE SLO-
        |                          | WO CONT NA KLAWIATURE.
        |--------------------------|------------------------------------
        | COPY                     | pERESYLAET KOPI@ 22 STROK \KRANA NA
        |                          | PRINTER, ESLI ON PODKL@^EN. pOMNI-
        |                          | TE, ^TO PO COPY NELXZQ RASPE^ATATX
        |                          | NAHODQ]IJSQ NA \KRANE AWTOMATI^ES-
        |                          | KIJ LISTING. wYDAET SOOB]ENIE D,
        |                          | ESLI NAVATX KLAWI[U BREAK.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                   Page D-9



        ----------------------------------------------------------------
        | DATA E1,E2,E3,...        | ~ASTX SPISKA DANNYH. dOLVNA RASPO-
        |                          | LAGATXSQ W PROGRAMME.
        |--------------------------|------------------------------------
        | DEF FNA(A1,A2,...,AK)=E  | oPREDELQEMAQ POLXZOWATELEM FUNKCIQ.
        |                          | dOLVNA RASPOLAGATXSQ W PROGRAMME.
        |                          | A, A1, A2 I T.D. EDINSTWENNYE BUKWY
        |                          | ILI BUKWY I '$' DLQ STROKOWYH ARGU-
        |                          | MENTOW, ZNA^ENIJ. iSPOLXZUETSQ FOR-
        |                          | MA DEF FNx(), ESLI NET ARGUMENTOW.
        |--------------------------|------------------------------------
        | DELETE F                 | bEZ MICRODRIVE NE RABOTAET
        |--------------------------|------------------------------------
        | DIM A(N1,N2,...,NK)      | uNI^TOVAET MASSIW S IMENEM A I
        |                          | USTANAWLIWAET ^ISLOWOJ MASSIW A
        |                          | S K IZMERENIQMI I PRISWAIWAET
        |                          | WSEM EGO \LEMENTAM ZNA^ENIE 0.
        |--------------------------|------------------------------------
        | DIM A$(N1,N2,...,NK)     | uNI^TOVAET MASSIW ILI STROKU S IME-
        |                          | NEM A$ I USTANAWLIWAET SIMWOLXNYJ
        |                          | MASSIW S K IZMERENIQMI I PRISWAIWA-
        |                          | ET WSEM EGO \LEMENTAM ZNA^ENIE "".
        |                          | mASSIW MOVET BYTX PREDSTAWLEN KAK
        |                          | MASSIW STROK FIKSIROWANNOJ DLINY
        |                          | NK, S K-1 RAZMERNOSTX@.
        |                          | sOOB]ENIE 4 WYDAETSQ, ESLI
        |                          | NEDOSTATO^NO MESTA DLQ RAZME]ENIQ
        |                          | MASSIWA. mASSIW NE OPREDELEN DO EGO
        |                          | OPISANIQ W OPERATORE DIM.
        |--------------------------|------------------------------------
        | DRAW X,Y                 | tO VE SAMOE, ^TO I DRAW X,Y,0.
        |                          | ~ERTIT PRQMU@ LINI@.
        |--------------------------|------------------------------------
        | DRAW X,Y,Z               | iZOBRAVAET LINI@ OT TEKU]EJ GRAFI-
        |                          | ^ESKOJ POZICII W TO^KU S PRIRA]ENI-
        |                          | QMI X,Y PO DUGE W Z RADIAN. wYDAET
        |                          | SOOB]ENIE B PRI WYHODE ZA \KRAN.
        |--------------------------|------------------------------------
        | ERASE                    | bEZ MICRODRIVE NE RABOTAET
        |--------------------------|------------------------------------
        | FLASH N                  | oPREDELQET, BUDET LI SIMWOL MERCA@-
        |                          | ]IM ILI S POSTOQNNYM SWE^ENIEM.
        |                          | N=0 DLQ POSTOQNNOGO SWE^ENIQ, N=1 -
        |                          | DLQ MERCANIQ, N=8 - DLQ SOHRANENIQ
        |                          | PREDYDU]EGO SOSTOQNIQ.
        |--------------------------|------------------------------------
        | FOR A=X TO Y             | FOR A=X TO Y STEP 1
        |--------------------------|------------------------------------
        | FOR A=X TO Y STEP Z      | uSTANAWLIWAET UPRAWLQ@]U@ PEREMENNU@
        |                          | A RAWNOJ ZNA^ENI@ X, PREDEL Y, [AG
        |                          | [AG PRIRA]ENIQ Z, ZACIKLIWAET ADRES,
        |                          | UKAZANNYJ W OPERATORE POSLE FOR
        |                          | OPERATORA. pROWERQET, ESLI NA^ALX-
        |                          | NOE ZNA^ENIE BOLX[E (ESLI STEP>=0)
        |                          | ILI MENX[E (ESLI STEP<0), ^EM PREDEL,
        |                          | TO PROISHODIT PEREHOD K OPERATORU
        |                          | NEXT A ILI WYDA^A SOOB]ENIQ 1, ESLI
        |                          | NET (SM. NEXT). sOOB]ENIE 4 WYDAETSQ,
        |                          | ESLI NEDOSTATO^NO MESTA DLQ RAZME]ENIQ
        |                          | UPRAWLQ@]EJ PEREMENNOJ.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-10



        ----------------------------------------------------------------
        | FORMAT F                 | bEZ MICRODRIVE NE RABOTAET.
        |--------------------------|------------------------------------
        | GO SUB N                 | pROTALKIWAET STROKU S OPERATOROM
        |                          | GO SUB W STEK DLQ ISPOLXZOWANIQ ZA-
        |                          | TEM KAK GO TO N. wYDAETSQ SOOB]E-
        |                          | NIE 4, ESLI NE WSE PODPROGRAMMY ZA-
        |                          | WER[ILISX S RETURN.
        |--------------------------|------------------------------------
        | GO TO N                  | pRODOLVAET WYPOLNENIE PROGRAMMY SO
        |                          | STROKI N, ILI, ESLI N OPU]ENO, TO S
        |                          | PERWOJ STROKI POSLE \TOJ.
        |--------------------------|------------------------------------
        | IF X THEN S              | eSLI X ISTINNO (NE RAWNO 0), TO
        |                          | WYPOLNQETSQ S. S WKL@^AET WSE
        |                          | OPERATORY DO KONCA STROKI.
        |                          | fORMA 'IF X THEN NOMER STROKI'
        |                          | NEDOPUSTIMA.
        |--------------------------|------------------------------------
        | INK N                    | uSTANAWLIWAET CWET ZAKRA[IWANIQ
        |                          | (T.E. CWET, KOTORYM BUDUT IZOBRA-
        |                          | VATXSQ SIMWOLY NA CWETE FONA).
        |                          | N W INTERWALE OT 0 DO 7 UKAZYWAET
        |                          | CWET. N=8 - OSTAWITX CWET BEZ IZME-
        |                          | NENIQ, N=9 - UWELI^ENIE KONTRASTA.
        |                          | WYDAET SOOB]ENIE K, ESLI N NE LE-
        |                          | VIT W INTERWALE OT 0 DO 9.
        |--------------------------|------------------------------------
        | INPUT ...                | gDE '...' ESTX POSLEDOWATELXNOSTX
        |                          | WWODIMYH SIMWOLOW, RAZDELQEMYH KAK
        |                          | W OPERATORE PRINT ZAPQTYMI, TO^KAMI
        |                          | S ZAPQTOJ ILI APOSTROFAMI. wWODIMY-
        |                          | MI SIMWOLAMI MOGUT BYTX|
        |                          |   A) nEKOTORYJ PRINT-SIMWOL, NA^I-
        |                          |      NA@]IJSQ NE S BUKWY;
        |                          |   B) iMQ PEREMENNOJ;
        |                          |   W) sTROKA IMEN PEREMENNYH STROKO-
        |                          |      WOGO TIPA.
        |                          | PRINT-SIMWOLY W SLU^AE A) PREDSTAW-
        |                          | LQ@TSQ TAK VE, KAK I W OPERATORE
        |                          | PRINT, ZA ISKL@^ENIEM TOGO, ^TO ONI
        |                          | WSE WYWODQTSQ W NIVN@@ ^ASTX \KRANA.
        |                          | w SLU^AE B) KOMPX@TER OSTANAWLIWAET-
        |                          | SQ I VDET WWODA NEKOTOROGO WYRAVE-
        |                          | NIQ S KLAWIATURY, ZNA^ENIE KOTOROGO
        |                          | BUDET PRISWOENO PEREMENNOJ. wWOD
        |                          | OSU]ESTWLQETSQ OBY^NYM OBRAZOM, A
        |                          | SINTAKSI^ESKIE O[IBKI WYDA@TSQ MER-
        |                          | CA@]IM [?]. dLQ STROKOWOGO WYRAVE-
        |                          | NIQ WWODNOJ BUFER USTANAWLIWAETSQ
        |                          | DLQ RAZME]ENIQ DWUH TAKIH STROK
        |                          | (KOTORYJ PRI NEOBHODIMOSTI MOVET
        |                          | BYTX UWELI^EN). eSLI PERWYJ WWODI-
        |                          | MYJ SIMWOL STOP, TO PROGRAMMA OS-
        |                          | TANAWLIWAETSQ S SOOB]ENIEM H.
        |                          | sLU^AJ W) PODOBEN SLU^A@ B) S TOJ
        |                          | LI[X RAZNICEJ, ^TO WWODIMAQ INFOR-
        |                          | MACIQ PREDSTAWLQET SOBOJ STROKOWYJ
        |                          | LITERAL NEOGRANI^ENNOJ DLINY, I
        |                          | STOP W \TOM SLU^AE NE SRABOTAET.
        |                          | dLQ OSTANOWA WY DOLVNY NAVATX KLA-
        |                          | WI[U 'KURSOR WNIZ'.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-11



        ----------------------------------------------------------------
        | INVERSE N                | sIMWOL UPRAWLENIQ INWERSIEJ WYWODI-
        |                          | MOGO SIMWOLA. eSLI N=0, SIMWOL WY-
        |                          | WODITSQ W OBY^NOM WIDE S PRORISOW-
        |                          | KOJ CWETOM ZAKRA[IWANIQ (INK) NA
        |                          | CWETE FONA (PAPER). eSLI N=1, TO
        |                          | CWETOWOE RE[ENIE IZOBRAVENIQ SIMWO-
        |                          | LA MENQETSQ NA OBRATNOE. sMOTRI
        |                          | PRILOVENIE B. wYDAET SOOB]ENIE K,
        |                          | ESLI N NE 0 ILI 1.
        |--------------------------|------------------------------------
        | LET V=E                  | pRISWAIWAET ZNA^ENIE E PEREMENNOJ
        |                          | V. kL@^EWOE SLOWO LET NE MOVET
        |                          | BYTX OPU]ENO. sKALQRNAQ PEREMENNAQ
        |                          | NE OPREDELENA, POKA NE WSTRETITSQ
        |                          | W OPERATORAH LET, READ ILI INPUT.
        |                          | eSLI V INDEKSIRUEMAQ STROKOWAQ
        |                          | PEREMENNAQ ILI SE^ENIE STROKOWOGO
        |                          | MASSIWA (PODSTROKA), TO PRISWAIWA-
        |                          | NIE OSU]ESTWLQETSQ S USE^ENIEM
        |                          | SPRAWA ILI DOPOLNENIEM PROBELAMI DO
        |                          | FIKSIROWANNOJ DLINY.
        |--------------------------|------------------------------------
        | LIST                     | tO VE, ^TO I LIST 0.
        |--------------------------|------------------------------------
        | LIST N                   | zAPISYWAET TEKST PROGRAMMY W WERH-
        |                          | N@@ ^ASTX \KRANA, NA^INAQ S PERWOJ
        |                          | STROKI, MENX[EJ, ^EM N, I DELAET
        |                          | N TEKU]EJ STROKOJ.
        |--------------------------|------------------------------------
        | LLIST                    | tO VE, ^TO I LIST 0.
        |--------------------------|------------------------------------
        | LLIST N                  | pODOBNO LIST, NO WYWOD OSU]ESTWLQ-
        |                          | ETSQ NA PRINTER.
        |--------------------------|------------------------------------
        | LOAD F                   | zAGRUVAET PROGRAMMU I PEREMENNYE.
        |--------------------------|------------------------------------
        | LOAD F DATA ()           | zAGRUVAET ^ISLOWOJ MASSIW.
        |--------------------------|------------------------------------
        | LOAD F DAT$()            | zAGRUVAET STROKOWYJ MASSIW.
        |--------------------------|------------------------------------
        | LOAD F CODE M,N          | ZAGRUVAET STAR[IE N BAJTOW, NA^I-
        |                          | NAQ S ADRESA M.
        |--------------------------|------------------------------------
        | LOAD F CODE M            | zAGRUVAET BAJTY, NA^INAQ S ADRESA M
        |--------------------------|------------------------------------
        | LOAD F CODE              | zAGRUVAET BAJTY PO TOMU VE ADRESU,
        |                          | S KOTOROGO ONI BYLI RAZGRUVENY.
        |--------------------------|------------------------------------
        | LOAD F SCREEN$           | aNALOGI^NO LOAD F CODE 16384,6912.
        |                          | O^I]AET FAJL \KRANA I ZAGRUVAET EGO
        |                          | S KASSETNOGO MAGNITOFONA. sMOTRI
        |                          | GLAWU 20.
        |--------------------------|------------------------------------
        | LPRINT                   | pODOBNO PRINT, NO ISPOLXZUET PRINTER.
        |--------------------------|------------------------------------
        | MERGE F                  | pODOBNO LOAD F, NO NE ZATIRAET WS@
        |                          | STARU@ PROGRAMMU W PAMQTI, A ZAME-
        |                          | NQET TOLXKO TE STROKI I PEREMENNYE,
        |                          | U KOTORYH SOWPADA@T NOMERA ILI IME-
        |                          | NA S TAKIMI VE NA LENTE.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-12



        ----------------------------------------------------------------
        | MOVE F1,F2               | bEZ MICRODRIVE NE RABOTAET.
        |--------------------------|------------------------------------
        | NEW                      | zAPUSKAET PO NOWOJ SISTEMU PROGRAM-
        |                          | MIROWANIQ BASIC, UNI^TOVAQ STARU@
        |                          | PROGRAMMU I PEREMENNYE I ISPOLXZUE-
        |                          | MU@ PAMQTX, WKL@^AQ I BAJT ADRESA W
        |                          | SISTEMNOJ PEREMENNOJ RAMBOT, NO SO-
        |                          | HRANQET SISTEMNYE PEREMENNYE UDG,
        |                          | P RAMT, RASP I PIP.
        |--------------------------|------------------------------------
        | NEXT A                   | A) nAHODIT UPRAWLQ@]U@ PEREMENNU@ A;
        |                          | B) pRIBAWLQET K NEJ ZNA^ENIE STEP;
        |                          | W) eSLI STEP>=0, A ZNA^ENIE A
        |                          |    STALO BOLX[E ZNA^ENIQ 'PREDEL',
        |                          |    ILI STEP<0, A ZNA^ENIE A
        |                          |    MENX[E, ^EM ZNA^ENIE 'PREDEL',
        |                          |    TO PROISHODIT PEREHOD K OPERATO-
        |                          |    RU CIKLA.
        |                          | sOOB]ENIE 2 WYDAETSQ, ESLI NE NAJ-
        |                          | DENA PEREMENNAQ A.
        |                          | sOOB]ENIE 1 WYDAETSQ, ESLI A NE
        |                          | QWLQETSQ UPRAWLQ@]EJ  PEREMENNOJ
        |                          | CIKLA.
        |--------------------------|------------------------------------
        | OPEN#                    | bEZ MICRODRIVE NE RABOTAET.
        |--------------------------|------------------------------------
        | OUT M,N                  | wYWODIT BAJT N W PORT M. oPERACIQ
        |                          | WYPOLNQETSQ NA UROWNE MIKROPRO-
        |                          | CESSORA (ZAGRUVAET W REGISTROWU@
        |                          | PARU BC ADRES M, A W REGISTR A - N
        |                          | I WYPOLNQET KOMANDU ASSEMBLERA
        |                          | OUT (C),A).
        |                          | 0<=M<=65535, -255<=N<=255,
        |                          | INA^E WYDAETSQ SOOB]ENIE B.
        |--------------------------|------------------------------------
        | OVER N                   | uPRAWLQ@]IJ SIMWOL NADPE^ATYWANIQ
        |                          | PO WYWEDENNOJ STROKE. eSLI N=0, TO
        |                          | WYWODIMYJ SIMWOL ZATIRAET SU]EST-
        |                          | WU@]IJ W DANNOJ POZICII. eSLI N=1,
        |                          | TO NOWYJ SIMWOL SOEDINQETSQ SO STA-
        |                          | RYM, OBRAZUQ ZAKRA[IWA@]IJ CWET,
        |                          | PRI USLOWII, ^TO STARYJ SIMWOL IMEL
        |                          | UKAZANIE CWETA, OTLI^NOE OT STA-
        |                          | ROGO, ILI CWET FONA, ESLI OBA UKA-
        |                          | ZYWA@T NA ODIN I TOT VE CWET (LIBO
        |                          | FONA, LIBO  ZAKRA[IWANIQ. SLOVE-
        |                          | NIE PO MODUL@ 2 ). sMOTRI PRILOVE-
        |                          | NIE B.
        |--------------------------|------------------------------------
        | PAPER N                  | pODOBEN INK, NO UPRAWLQET CWETOM
        |                          | FONA.
        |--------------------------|------------------------------------
        | PAUSE N                  | oSTANAWLIWAET WYPOLNENIE PROGRAMMY
        |                          | I ZADERVIWAET IZOBRAVENIE NA \KRANE
        |                          | NA N KADROW (50 KADROW/SEK -
        |                          | ^ASTOTA KADROWOJ RAZWERTKI) ILI DO
        |                          | NAVATIQ L@BOJ KLAWI[I.
        |                          | 0<=N<=65535, INA^E WYDAETSQ SOOB]ENIE
        |                          | B. pRI N=0 WREMQ ZADERVKI
        |                          | NE U^ITYWAETSQ I PRODOLVAETSQ DO
        |                          | PERWOGO NAVATIQ KLAWI[I.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-13



        ----------------------------------------------------------------
        | PLOT C;M,N               | wYWODIT TO^KU ZAKRA[IWA@]EGO CWETA
        |                          | (OBRABOTANNAQ OVER I INVERSE) S KO-
        |                          | ORDINATAMI (ABS(M),ABS(N)) SME]AET
        |                          | GRAFI^ESKU@ (PLOTPOSITION) POZICI@.
        |                          | eSLI CWETOWOJ SIMWOL C NE SPECI-
        |                          | FICIROWAN INA^E, TO CWET ZAKRA[IWA-
        |                          | NIQ W POZICII, GDE RASPOLOVENA \TA
        |                          | TO^KA IZMENQETSQ NA TEKU]IJ SPLO[-
        |                          | NOJ ZAKRA[IWA@]IJ CWET, I DRUGIE
        |                          | UKAZANIQ (CWET FONA, MERCANIE, QR-
        |                          | KOSTX) OSTA@TSQ BEZ IZMENENIQ.
        |                          | 0<=ABS(M)<=255,
        |                          | 0<=ABS(N)<=175, INA^E - SOOB]ENIE B.
        |--------------------------|------------------------------------
        | POKE M,N                 | zAPISYWAET ZNA^ENIE N W BAJT PA-
        |                          | MQTI PO ADRESU M.
        |                          |    0<=M<=65535,
        |                          | -255<=N<=255, INA^E SOOB]ENIE B.
        |--------------------------|------------------------------------
        | PRINT ...                | gDE '...' POSLEDOWATELXNOSTX PRINT-
        |                          | SIMWOLOW, RAZDELENNYH ZAPQTYMI,
        |                          | TO^KAMI S ZAPQTOJ ILI APOSTROFAMI,
        |                          | KOTORYE WYWODQTSQ W \KRANNYJ FAJL
        |                          | DLQ OTOBRAVENIQ NA \KRANE TELEWIZO-
        |                          | RA. tO^KA S ZAPQTOJ SAMA DEJSTWIQ
        |                          | NE WYZYWAET, A ISPOLXZUETSQ DLQ
        |                          | RAZGRANI^ENIQ SIMWOLOW. zAPQTAQ PO-
        |                          | ROVDAET UPRAWLQ@]IJ SIMWOL 'ZAPQ-
        |                          | TAQ', I APOSTROF POROVDAET SIMWOL
        |                          | <ENTER>.
        |                          | w KONCE OPERATORA PRINT, ESLI ON NE
        |                          | ZAKAN^IWAETSQ TO^KOJ S ZAPQTOJ, ZA-
        |                          | PQTOJ ILI APOSTROFOM, AWTOMATI^ESKI
        |                          | WYWODITSQ SIMWOL <ENTER>.
        |                          | PRINT-SIMWOLOM MOVET BYTX|
        |                          |   A) pUSTAQ STROKA (T.E. NI^EGO);
        |                          |   B) ~ISLOWOE WYRAVENIE.
        |                          | eSLI ZNA^ENIE WYRAVENIQ OTRICATELX-
        |                          | NO, TO WYWODITSQ ZNAK MINUS.
        |                          | eSLI X<=10^-5 ILI X>=10^13, WYWOD
        |                          | OSU]ESTWLQETSQ W POKAZATELXNOJ
        |                          | FORME. mANTISSA PREDSTAWLQETSQ
        |                          | 8-MX@ CIFRAMI (S NORMALIZACIEJ) I
        |                          | DESQTI^NOJ  TO^KOJ (OTSUTSTWUET
        |                          | TOLXKO TOGDA, KOGDA W MANTISSE ODNA
        |                          | CIFRA) POSLE PERWOJ CIFRY. POKAZATELX
        |                          | STEPENI ZAPISYWAETSQ POSLE
        |                          | BUKWY 'E' S POSLEDU@]IM ZNAKOM I
        |                          | DWUMQ CIFRAMI PORQDKA. iNA^E X WY-
        |                          | WODITSQ KAK OBY^NOE DESQTI^NOE ^ISLO
        |                          | S 8-MX@ ZNA^A]IMI CIFRAMI.
        |                          |   W) sTROKOWOE WYRAVENIE.
        |                          | w STROKE WOZMOVNY PROBELY DO I POSLE
        |                          | SIMWOLOW.
        |                          | uPRAWLQ@]IE SIMWOLY WYZYWA@T OPRE-
        |                          | DELQEMOE IMI DEJSTWIE. nE OTRAVAEMYE
        |                          | NA \KRANE SIMWOLY WYWODQTSQ KAK '7'.
        |                          |   G) AT M,N
        |                          |      wYWOD W STROKU M, POZICI@ N
        ...................................................................
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-14



        ...................................................................
        |                          |   D) TAB N
        |                          |      wYWOD UPRAWLQ@]EGO SIMWOLA TAB
        |                          | S POSLEDU@]IMI DWUMQ BAJTAMI N
        |                          | (PERWYJ BAJT STAR[IJ). wYZYWAET
        |                          | TAB-OSTANOW.
        |                          |   E) cWETOWOJ SIMWOL W FORME PAPER,
        |                          | INK, FLASH, BRIGHT, INVERSE ILI
        |                          | OVER OPERATORA.
        |--------------------------|------------------------------------
        | RANDOMIZE                | tO VE, ^TO I  RANDOMIZE 0
        |--------------------------|------------------------------------
        | RANDOMIZE N              | uSTANAWLIWAET SISTEMNU@ PEREMENNU@
        |                          | SEED, ISPOLXZUEMU@ DLQ  WY^ISLENIQ
        |                          | O^EREDNOGO ZNA^ENIQ FUNKCII RND.
        |                          | eSLI  N<>0, TO SEED PRINIMAET
        |                          | ZNA^ENIE N, INA^E SEED
        |                          | PRINIMAET ZNA^ENIE DRUGOJ SISTEMNOJ
        |                          | PEREMENNOJ FRAMES, PODS^ITYWA@]EJ
        |                          | KADRY, OTOBRAVAEMYE NA \KRANE, ^TO
        |                          | OBESPE^IWAET WPOLNE SLU^AJNOE ^ISLO.
        |                          | oPERATOR ZAPUSKAET SOKRA]ENIE
        |                          | RAND (SM. KLAWI[U). wYDAET SOOB]ENIE
        |                          | B, ESLI N NE LEVIT W INTERWALE OT
        |                          | 0 DO 65535.
        |--------------------------|------------------------------------
        | READ V1,V2,...,VK        | pRISWAIWAET PEREMENNYM ODNOJ ZA
        |                          | DRUGOJ ZNA^ENIQ, POSLEDOWATELXNO
        |                          | PREDSTAWLENNYE W SPISKE DATA.
        |--------------------------|------------------------------------
        | REM ...                  | nE WYPOLNQETSQ. '...' MOVET BYTX
        |                          | POSLEDOWATELXNOSTX@ SIMWOLOW (IS-
        |                          | KL@^AQ ENTER). mOVET WKL@^ATX DWOE-
        |                          | TO^IE ('|') DLQ UKAZANIQ OTSUTSTWIQ
        |                          | OPERATOROW W STROKE S REM.
        |--------------------------|------------------------------------
        | RESTORE                  | tO VE SAMOE, ^TO I RESTORE 0 .
        |--------------------------|------------------------------------
        | RESTORE N                | pEREZAPISYWAET UKAZATELX DANNYH W
        |                          | PERWYJ OPERATOR DATA W STROKE MENX-
        |                          | [EJ, ^EM N. sLEDU@]IJ OPERATOR
        |                          | READ NA^NET S^ITYWANIE OTS@DA.
        |--------------------------|------------------------------------
        | RETURN                   | sSYLAETSQ NA OPERATOR GO SUB W STEKE
        |                          | I PEREDAET UPRAWLENIE NA STROKU
        |                          | POSLE NEGO. wYDAET SOOB]ENIE 7, ESLI
        |                          | NET UKAZYWAEMOGO OPERATORA W STEKE.
        |                          | hARAKTERNAQ O[IBKA, KOGDA OPERATORY
        |                          | GO SUB NE SBALANSIROWANY OPERATORAMI
        |                          | RETURN .
        |--------------------------|------------------------------------
        | RUN                      | tO VE SAMOE, ^TO I RUN 0 .
        |--------------------------|------------------------------------
        | RUN N                    | CLEAR, I ZATEM GO TO N
        |--------------------------|------------------------------------
        | SAVE F                   | wYWOD NA LENTU PROGRAMMY I DANNYH.
        |--------------------------|------------------------------------
        | SAVE F LINE M            | zAPISYWAET NA LENTU PROGRAMMU I PE-
        |                          | REMENNYE TAKIM OBRAZOM, ^TO PRI ZA-
        |                          | GRUZKE PROGRAMMA AWTOMATI^ESKI WY-
        |                          | POLNQETSQ SO STROKI M.
        ----------------------------------------------------------------
q Z Y K   P R O G R A M M I R O W A N I Q   BASIC                  Page D-15



        ----------------------------------------------------------------
        | SAVE F DATA ()           | zAPISX NA LENTU ^ISLOWOGO MASSIWA.
        |--------------------------|------------------------------------
        | SAVE F DATA $()          | zAPISX NA LENTU STROKOWOGO MASSIWA $
        |--------------------------|------------------------------------
        | SAVE F CODE M,N          | zAPISYWAET NA LENTU N BAJTOW, NA-
        |                          | ^INAQ S ADRESA M.
        |--------------------------|------------------------------------
        | SAVE F SCREEN$           | aNALOGI^NO SAVE F CODE 16384,6912.
        |                          | wYDAET SOOB]ENIE F, ESLI 'F' - PUSTAQ
        |                          | STROKA ILI IMEET DLINU BOLEE 10.
        |                          | sMOTRI GLAWU 20.
        |--------------------------|------------------------------------
        | STOP                     | oSTANAWLIWAET WYPOLNENIE PROGRAMMY
        |                          | S WYDA^EJ SOOB]ENIQ 9. CONTINUE
        |                          | (PRODOLVENIE) BUDET OSU]ESTWLQTXSQ
        |                          | SO SLEDU@]EGO OPERATORA.
        |--------------------------|------------------------------------
        | VERIFY                   | tO VE, ^TO I LOAD, ZA ISKL@^ENIEM
        |                          | TOGO, ^TO DANNYE ZAGRUVA@TSQ W ozu,
        |                          | NO SRAWNIWA@TSQ S NAHODQ]IMISQ TAM.
        |                          | wYDAET SOOB]ENIE B, ESLI OBNARUVEN
        |                          | HOTQ BY ODIN NE SOWPADA@]IJ BAJT.
        ----------------------------------------------------------------











                                 APPENDIX E

                              pRIMERY PROGRAMM




   pERWAQ IZ \TIH PROGRAMM TREBUET WWESTI DATU I DAET DENX  NEDELI,  KOTORYJ
SOOTWETSTWUET \TOJ DATE.
        10 REM CONVERT DATE TO DAY
        20 DIM D$(7,6):REM DAYS OF WEEK
        30 FOR N=1 TO 7:READ D$(N):NEXT N
        40 DIM M(12):REM LENGTHS OF MONTHS
        50 FOR N=1 TO 12:READ M(N):NEXT N
        100 REM INPUT DATE
        110 INPUT "DAY?";DAY
        120 INPUT "MONTH?';MONTH
        130 INPUT "YEAR (20TH CENTURY ONLY)?";YEAR
        140 IF YEAR<1901 THEN PRINT "20TH CENTURY STARTS AT 1901":GOTO 100
        150 IF YEAR>2000 THEN PRINT "20TH CENTURY ENDS AT 2000":GOTO 100
        160 IF MONTH<1 THEN GOTO 210
        170 IF MONTH>12 THEN GOTO 210
        180 IF YEAR/4-INT(YEAR/4)=0 THEN LET M(2)=29:REM LEAP YEAR
        190 IF DAY>M(MONTH) THEN PRINT "THIS MONTH HAS ONLY";
        M(MONTH);" DAYS.":GOTO 500
        200 IF DAY>0 THEN GOTO 300
        210 PRINT "STUFF AND NONSENSE. GIVE ME A REAL DATE."
        220 GOTO 500
        300 REM CONVERT DATE TO NUMBER OF DAYS SINCE START OF CENTURY
        310 LET Y=YEAR-1901
        320 LET B=365*Y+INT(Y/4):REM NUMBER OF DAYS TO START OF YEAR
        330 FOR N=1 TO MONTH-1:REM ADD ON PREVIOUS MONTH
        340 LET B=B+M(N):NEXT N
        350 LET B=B+DAY
        400 REM CONVERT TO DAY OF WEEK
        410 LET B=B-7*INT(B/7)+1
        420 PRINT DAY;"/";MONTH;"/";YEAR
        430 FOR N=6 TO 3 STEP -1:REM REMOVE TRAILING SPACES
        440 IF D$(B,N)<>" " THEN GOTO 460
        450 NEXT N
        460 LET E$=D$(B,TO N)
        470 PRINT "IS A"; E$;"DAY"
        500 LET M(2)=28:REM RESTORE FEBRUARY
        510 INPUT "AGAIN?",A$
        520 IF A$="N" THEN GOTO 540
        530 IF A$<>"N" THEN GOTO 100
        1000 REM DAYS OF WEEK
        1010 DATA "MON","TUES","WEDNES"
        1020 DATA "THURS","FRI","SATUR","SUN"

pRIMERY PROGRAMM                                                    Page E-2



   |TA PROGRAMMA USTANAWLIWAET SOOTWETSTWIE MEVDU QRDOM, FUTOM I D@JMOM:
        10 INPUT "YARDS?",YD,"FEET?",FT,"INCHES?",IN
        40 GOSUB 2000:REM PRINT THE VALUES
        50 PRINT "  =  ";
        70 GOSUB 1000:REM THE ADJUSTMENT
        80 GOSUB 2000:REM PRINT THE ADJUSTED VALUES
        90 PRINT
        100 GOTO 10
        1000 REM SUBROUTINE TO ADJUST YD,FT,IN TO THE NORMAL FORM
        FOR YARDS, FEETS AND INCHES
        1010 LET IN=36*YD+12*FT+IN:REM NOW EVERYTHING IS IN INCHES
        1030 LET S=SGN IN:LET IN=ABS IN:REM WE WORK WITH IN
        POSITIVE, HOLDING ITS SIGN IN S
        1060 LET FT=INT(IN/12):LET IN=(IN-12*FT)*S:REM NOW
        IN IS OK
        1080 LET YD=INT(FT/3)*S:LET FT=FT*S-3*YD:RETURN
        2000 REM SUBROUTINE TO PRINT YD,FT AND IN:
        PRINT YD;"YD";FT;"FT";IN;"IN";:RETURN

pRIMERY PROGRAMM                                                    Page E-3



   |TA PROGRAMMA MODELIRUET WYBRASYWANIE MONETY DLQ IGRY W "KITAJKU":
        5 RANDOMIZE
        10 FOR M=1 TO6:REM FOR 6 THROWS
        20 LET C=0:REM INITIALIZE COIN TOTAL TO 0
        30 FOR N=1 TO 3:REM FOR 3 COINS
        40 LET C=C+2+INT(2*RND)
        50 NEXT N
        60 PRINT "  ";
        70 FOR N=1 TO 2:REM 1ST FOR THE THROWN HEXAGRAM,
        2-ND FOR THE CHANGES
        80 PRINT "---";
        90 IF C=7 THEN PRINT "-";
        100 IF C=8 THEN PRINT " ";
        110 IF C=6 THEN PRINT "X";:LET C=7
        120 IF C=9 THEN PRINT "0";:LET C=8
        130 PRINT "---"
        140 NEXT N
        150 PRINT
        160 INPUT A$
        170 NEXT M:NEW

   dLQ ZAPUSKA PROGRAMMY WWEDITE EE W KOMPX@TER, ZAPUSTITE NA WYPOLNENIE,  A
ZATEM NAVMITE KLAWI[U <ENTER> PQTX RAZ DLQ POLU^ENIQ DWUH GEKSAGRAMM.  pROS-
MOTRITE "KITAJSKU@ KNIGU IZMENENIJ".  tEKST BUDET OPISYWATX SITUACI@ I  POS-
LEDOWATELXNOSTX  SOOTWETSTWU@]IH \TOMU DEJSTWIJ, A WY DOLVNY OCENITX GLUBINU
PARALLELEJ MEVDU NEJ I WA[EJ SOBSTWENNOJ VIZNX@.   nAVMITE  KLAWI[U  <ENTER>
[ESTOJ RAZ I PROGRAMMA BUDET OBNULQTXSQ - \TO IZBAWIT WAS OT LEGKOMYSLENNOGO
ISPOLXZOWANIQ REZULXTATOW.

   mNOGIE POLXZOWATELI NAJDUT TEKSTY WSEGDA BOLEE WEROQTNYMI, NEVELI ONI SA-
MI MOGUT \TO PREDPOLAGATX.

pRIMERY PROGRAMM                                                    Page E-4



   sLEDU@]AQ PROGRAMMA - IGRA "Q]ERY".  wY ZADUMYWAETE  NAZWANIE  NEKOTOROGO
VIWOTNOGO,  A KOMPX@TER PYTAETSQ EGO OTGADATX, ZADAWAQ WAM WOPROSY, NA KOTO-
RYE WY DOLVNY OTWE^ATX "DA" ILI "NET".  eSLI KOMPX@TER NE BYL RANEE ZNAKOM S
TAKIM VIWOTNYM, TO ON POPROSIT WAS ZADATX EMU NAWODQ]IE WOPROSY, KOTORYE PO-
MOGUT EMU NAJTI PRAWILXNYJ OTWET ILI ON POPROSIT WAS PREDLOVITX  EMU  ZADATX
NAZWANIE NOWOGO VIWOTNOGO:
        5 REM PANGOLINS
        10 LET NQ=100:REM NUMBER OF QUESTIONS AND ANIMALS
        15 DIM Q$(NQ,50):DIM A(NQ,2):DIM R$(1)
        20 LET QF=8
        30 FOR N=1 TO QF/2-1
        40 READ Q$(N):READ A(N,1):READ A(N,2)
        50 NEXT N
        60 FOR N=N TO QF-1
        70 READ Q$(N):NEXT N
        100 REM START PLAYING
        110 PRINT "THINK OF AN ANIMAL.","PRESS ANY KEY TO CONTINUE."
        120 PAUSE 0
        130 LET C=1:REM START WITH 1ST QUESTION
        140 IF A(C,1)=0 THEN GOTO 300
        150 LET P$=Q$(C):GOSUB 910
        160 PRINT "?":GOSUB 1000
        170 LET IN=1:IF R$="U" THEN GOTO 210
        180 IF R$="Y" THEN GOTO 210
        190 LET IN=2:IF R$="N" THEN GOTO 210
        200 IF R$<>"N" THEN GOTO 150
        210 LET C=A(C,IN):GOTO 140
        300 REM ANIMAL
        310 PRINT "ARE YOU THINKING OF"
        320 LET P$=Q$(C):GOSUB 900:PRINT "?"
        330 GOSUB 1000
        340 IF R$="Y" THEN GOTO 400
        360 IF R$="N" THEN GOTO 500
        380 PRINT "ANSWER ME PROPERLY WHEN I'M TALKING TO YOU.":GOTO 300
        400 REM QUESSED IT
        410 PRINT "I THOUQHT AS MUCH.":GOTO 800
        500 REM NEW ANIMAL
        510 IF QF>NQ-1 THEN PRINT "I'M SURE YOUR ANIMAL IS VERY",
        "INTERESTING, BUT I DON'T HAVE","ROOM FOR IT JUST NOW.":
        GOTO 800
        520 LET Q$(QF)=Q$(C):REM MOVE OLD ANIMAL
        530 PRINT "WHAT IS IT, THEN?":INPUT Q$(QF+1)
        540 PRINT "TELL ME A QUESTION WHICH DISTINQUISHES BETWEEN"
        550 LET P$=Q$(QF):GOSUB 900:PRINT "AND"
        560 LET P$=Q$(QF+1):GOSUB 900:PRINT " "
        570 INPUT S$:LET B=LEN S$
        580 IF S$(B)="?" THEN LET B=B-1
        590 LET Q$(C)=S$(TO B):REM INSERT QUESTION
        600 PRINT "WHAT IS THE ANSWER FOR"
        610 LET P$=Q$(QF+1):GOSUB 900:PRINT "?"
        620 GOSUB 1000
        630 LET IN=1:LET IO=2:REM ANSWERS FOR NEW AND OLD ANIMALS
        640 IF R$="Y" THEN GOTO 700
        660 LET IN=2:LET IO=1
        680 IF R$="N" THEN GOTO 700
        690 PRINT "THAT'S NO GOOD.":GOTO 600
        700 REM UPDATE ANSWERS
        710 LET A(C,IN)=QF+1:LET A(C,IO)=QF
        720 LET QF=QF+2:REM NEXT FREE ANIMAL SPACE
        730 PRINT "THAT FOOLED ME."
        800 REM ADAIN?
        810 PRINT "DO YOU WANT ANOTHER GO?":GOSUB 1000
        820 IF R$="Y" THEN GOTO 100
pRIMERY PROGRAMM                                                    Page E-5



        840 STOP
        900 REM PRINT WITHOUT TRAILING SPACES
        905 PRINT " ";
        910 FOR N=50 TO 1 STEP -1
        920 IF P$(N)<>" " THEN GOTO 940
        930 NEXT N
        940 PRINT P$(TO N);:RETURN
        1000 REM GET REPLY
        1010 INPUT R$:IF R$=" " THEN RETURN
        1020 LET R$=R$(1):RETURN
        2000 REM INITIAL ANIMALS
        2010 DATA "DOES IT LIVE IN THE SEA",4,2
        2020 DATA "IS IT SCALY",3,5
        2030 DATA "DOES IT EAT ANTS",6,7
        2040 DATA "A WHALE", "A BLANCMANGE", "A PANGOLIN","AN ANT"

pRIMERY PROGRAMM                                                    Page E-6



   sLEDU@]AQ PROGRAMMA RISUET NA \KRANE "UNION JACK":
        10 LET R=2:LET W=7:LET B=1
        20 BORDER 0:PAPER B:INK W:CLS
        40 INVERSE 1:REM BLACK IN BOTTOM OF SCREEN
        50 FOR N=40 TO 0 STEP -8
        60 PLOT PAPER 0;7,N:DRAW PAPER 0;241,0
        70 NEXT N:INVERSE 0
        100 REM DRAW IN WHITE PARTS
        105 REM ST. GEORGE
        110 FOR N=0 TO 7
        120 PLOT 104+N,175:DRAW 0,-35
        130 PLOT 151-N,175:DRAW 0,-35
        140 PLOT 151-N,48:DRAW 0,35
        150 PLOT 104+N,48:DRAW 0,35
        160 NEXT N
        200 FOR N=0 TO 11
        210 PLOT 0,139-N:DRAW 111,0
        220 PLOT 255,139-N:DRAW -111,0
        230 PLOT 255,84+N:DRAW -111,0
        240 PLOT 0,84+N:DRAW 111,0
        250 NEXT N
        300 REM ST. ANDREW
        310 FOR N=0 TO 35
        320 PLOT 1+2*N,175-N:DRAW 32,0
        330 PLOT 224-2*N,175-N:DRAW 16,0
        340 PLOT 254-2*N,48+N:DRAW -32,0
        350 PLOT 17+2*N,48+N:DRAW 16,0
        360 NEXT N
        370 FOR N=0 TO 19
        380 PLOT 185+2*N,140+N:DRAW 32,0
        390 PLOT 200+2*N,83-N:DRAW 16,0
        400 PLOT 39-2*N,83-N:DRAW 32,0
        410 PLOT 54-2*N,140+N:DRAW -16,0
        420 NEXT N
        425 REM FILL IN EXTRA BITS
        430 FOR N=0 TO 15
        440 PLOT 255,160+N:DRAW 2*N-30,0
        450 PLOT 0,63-N:DRAW 3102*N,0
        460 NEXT N
        470 FOR N=0 TO 7
        480 PLOT 0,160+N:DRAW 14-2*N,0
        485 PLOT 255,63-N:DRAW 2*N-15,0
        490 NEXT N
        500 REM RED STRIPES
        510 INVERSE 1
        520 REM ST. GEORGE
        530 FOR N=96 TO 120 STEP 8
        540 PLOT PAPER R;7,N:DRAW PAPER R;241,0
        550 NEXT N
        560 FOR N=112 TO 136 STEP 8
        570 PLOT PAPER R;N,168:DRAW PAPER R;0,-113
        580 NEXT N
        600 REM ST. PATRICK
        610 PLOT PAPER R;170,140:DRAW PAPER R;70,35
        620 PLOT PAPER R;179,140:DRAW PAPER R;70,35
        630 PLOT PAPER R;199,83:DRAW PAPER R;56,-28
        640 PLOT PAPER R;184,83:DRAW PAPER R;70,-35
        650 PLOT PAPER R;86,83:DRAW PAPER R;-70,-35
        660 PLOT PAPER R;72,83:DRAW PAPER R;-70,-35
        670 PLOT PAPER R;56,140:DRAW PAPER R;-56,28
        680 PLOT PAPER R;71,140:DRAW PAPER R;-70,35
        690 INVERSE 0:PAPER 0:INK 7
pRIMERY PROGRAMM                                                    Page E-7



   sLEDU@]AQ PROGRAMMA - \TO IGRA W SLOWA.  pERWYJ  IGROK  WWODIT  SLOWO,  A
WTOROJ EGO OTGADYWAET.
        5 REM HANGMAN
        10 REM SET UP SCREEN
        20 INK 0:PAPER 7:CLS
        30 LET X=240:GOSUB 1000:REM DRAW MAN
        40 PLOT 238,128:DRAW 4,0:REM MOUTH
        100 REM SET UP WORD
        110 INPUT W$:REM WORD TO GUESS
        120 LET B=LEN W$:LET V$=" "
        130 FOR N=2 TO B:LET V$=V$+" "
        140 NEXT N:REM V$=WORD GUESSED SO FAR
        150 LET C=0:LET D=0:REM GUESS AND MISTAKE COUNTS
        160 FOR N=0 TO B-1
        170 PRINT AT 20,N;"-";
        180 NEXT N:REM WRITE'S INSTEAD OF LETTERS
        200 INPUT "GUESS A LETTER:";G$
        210 IF G$="" THEN GOTO 200
        220 LET G$=G$(1):REM 1ST LETTER ONLY
        230 PRINT AT 0,C;G$
        240 LET C=C+1:LET U$=V$
        250 FOR N=1 TO B:REM UPDATE GUESSED WORD
        260 IF W$(N)=G$ THEN LET V$(N)=G$
        270 NEXT N
        280 PRINT AT 19,0;V$
        290 IF V$=W$ THEN GOTO 500:REM WORD GUESSED
        300 IF V$<>U$ THEN GOTO 200:REM GUESSED WAS RIGHT
        400 REM DRAW NEXT PART OF GALLOWS
        410 IF D=8 THEN GOTO 600:REM HANGED
        420 LET D=D+1
        430 READ N0,U0,N,U
        440 PLOT N0,U0:DRAW N,U
        450 GOTO 200
        500 REM FREE MAN
        510 OVER1:REM RUB OUT MAN
        520 LET X=240:GOSUB 1000
        530 PLOT 238,128:DRAW 4,0:REM MOUTH
        540 OVER 0:REM REDRAW MAN
        550 LET X=146:GOSUB 1000
        560 PLOT 143,129:DRAW 6,0,PI/2:REM SMILE
        570 GOTO 800
        600 REM HANG MAN
        610 OVER 1:REM RUB OUT FLOOR
        620 PLOT 255,65:DRAW -48,0
        630 DRAW 0,-48:REM OPEN TRAPDOOR
        640 PLOT 238,128:DRAW 4,0:REM RUB OUT MOUTH
        650 REM MOVE LIMBS
        655 REM ARMS
        660 PLOT 255,117:DRAW -15,-15:DRAW -15,15
        670 OVER 0
        680 PLOT 236,81:DRAW 4,21:DRAW 4,-21
        690 OVER 1:REM LEGS
        700 PLOT 255,66:DRAW -15,15:DRAW -15,-15
        710 OVER 0
        720 PLOT 236,60:DRAW 4,21:DRAW 4,-21
        730 PLOT 237,127:DRAW 6,0,-PI/2:REM FROWN
        740 PRINT AT 19,0;W$
        800 INPUT "AGAIN?";A$
        810 IF A$="" THEN GOTO 850
        820 LET A$=A$(1)
        830 IF A$="N" THEN STOP
        840 IF A$(1)="N" THEN STOP
        850 RESTORE :GOTO 5
pRIMERY PROGRAMM                                                    Page E-8



        1000 REM DRAW MAN AT COLUMN X
        1010 REM HEAD
        1020 CIRCLE X,132,8
        1030 PLOT X+4,134:PLOT X-4,134:PLOT X,131
        1040 REM BODY
        1050 PLOT X,123:DRAW 0,-20
        1055 PLOT X,101:DRAW 0,-19
        1060 REM LEGS
        1070 PLOT X-15,66:DRAW 15,15:DRAW 15,-15
        1080 REM ARMS
        1090 PLOT X-15,117:DRAW 15,-15:DRAW 15,15
        1100 RETURN
        2000 DATA 120,65,135,0,184,65,0,91
        2010 DATA 168,65,16,16,184,81,16,-16
        2020 DATA 184,156,68,0,184,140,16,16
        2030 DATA 204,156,-20,-20,240,156,0,-16
        2020 DATA 184,156,68,0,184,140,16,16
        2030 DATA 204,156,-20,-20,240,156,0,-16











                                 APPENDIX F

               {ESTNADCATERI^NAQ I DWOI^NAQ SISTEMY S^ISLENIQ




   w KOMPX@TERE ZX SPECTRUM ISPOLXZUETSQ [ESNADCATIRI^NAQ SISTEMA S^ISLENIQ.
pRI \TOM KAVDAQ [ESTANDCATIRI^NAQ CIFRA ZAPISYWAETSQ ^ETYRMQ DWOI^NYMI (TET-
RADA).  tAKIM OBRAZOM, W ODNOM BAJTE MOVET BYTX ZAPISANO DWA  [ESNADCATIRI^-
NYH ^ISLA.
        ---------------------------------
        |  10   |   16  |      2        |
        ---------------------------------
        |    0  |    0  |  0000 0000    |
        |    1  |    1  |  0000 0001    |
        |    2  |    2  |  0000 0010    |
        |    3  |    3  |  0000 0011    |
        |    4  |    4  |  0000 0100    |
        |    5  |    5  |  0000 0101    |
        |    6  |    6  |  0000 0110    |
        |    7  |    7  |  0000 0111    |
        |    8  |    8  |  0000 1000    |
        |    9  |    9  |  0000 1001    |
        |   10  |    A  |  0000 1010    |
        |   11  |    B  |  0000 1011    |
        |   12  |    C  |  0000 1100    |
        |   13  |    D  |  0000 1101    |
        |   14  |    E  |  0000 1110    |
        |   15  |    F  |  0000 1111    |
        |   16  |   10  |  0001 0001    |
        |   17  |   12  |  0001 0010    |
        |   18  |   13  |  0001 0011    |
        |   19  |   14  |  0001 0100    |
        |   20  |   15  |  0001 0101    |
        |   21  |   16  |  0001 0110    |
        |   22  |   17  |  0001 0111    |
        |   23  |   18  |  0001 1000    |
        |   24  |   19  |  0001 1001    |
        |   25  |   1A  |  0001 1010    |
        |   26  |   1B  |  0001 1011    |
        |   27  |   1C  |  0001 1100    |
        |   28  |   1D  |  0001 1101    |
        |   29  |   1E  |  0001 1110    |
        |   30  |   1F  |  0001 1111    |
        |   31  |   20  |  0010 0000    |
        ---------------------------------

   dWA BAJTA OBRAZU@T MA[INNOE SLOWO.   dLQ  ZAPISI  DWOI^NYH  KODOW  SLUVIT
FUNKCIQ BIN.  nAPRIMER 'BIN 0' ZAPI[ET W PAMQTX DWOI^NYJ 0, 'BIN 10' ZAPISY-
WAET ^ISLO DWA I T.D.  dLQ ZAPISI '-3' NEOBHODIMO UKAZATX '-BIN 11',  NO  NE
'BIN-11'.   ~ISLO NE MOVET PREWY[ATX 65535, T.E., ZANIMATX BOLEE [ESTNADCATI
DWOI^NYH RAZRQDOW (BITOW).











                                 APPENDIX G

                           uKAZATELX KOMAND BASIC



                ABS.............[E]-G...................
                ACS.............[E]-<SH>W...............
                AND.............[K],[L],[C]-<SS>Y.......
                ASN.............[E]-<SH>O...............
                AT..............[K],[L],[C]-<SS>I.......
                ATN.............[E]-<SH>E...............
                ATTR............[E]-<SH>L...............
                 
                BEEP............[E]-<SH>Z...............
                BIN.............[E]-B...................
                BORDER..........[K]-B...................
                BREAK...........<CS><SPACE>.............
                BRIGHT..........[E]-<SH>B...............
                 
                CAPS LOCK.......[K],[L]-<CS>2...........
                CAPS SHIFT..............................
                CAT.............[E]-<SS>9...............
                CHR$............[E]-U...................
                CIRCLE..........[E]-<SH>H...............
                CLEAR...........[K]-X...................
                CLOSE#..........[E]-<SS>5...............
                CLS.............[K]-V...................
                CODE............[E]-I...................
                CONTINUE........[K]-C...................
                COPY............[K]-Z...................
                COS.............[E]-W...................
                 
                DATA............[E]-D...................
                DEF FN..........[E]-<SS>1...............
                DELETE..........[C],[G]-0/[K],[L]-<CS>0.
                DIM.............[K]-D...................
                DRAW............[K]-W...................
                 
                EDIT............[K],[L],[C]-<CS>1.......
                ENTER...................................
                ERASE...........[E]-<SS>7...............
                EXP.............[E]-X...................
                 
                FLASH...........[E]-<SH>V...............
                FN..............[E]-<SS>2...............
                FOR.............[K]-F...................
                FOR-NEXT CIKL...........................
                FORMAT..........[E]-<SS>0...............
                 
                GO SUB..........[K]-H...................
                GO TO...........[K]-G...................
                GRAPHICS........[K],[L],[G]-<CS>0.......
                 
                IF..............[K]-U...................
                IN..............[E]-SH-I................
uKAZATELX KOMAND BASIC                                              Page G-2



                INK.............[E]-SH-X................
                INKEY$..........[E]-N...................
                INPUT...........[K]-I...................
                INVERSE.........[E]-SH-M................
                INT.............[E]-R...................
                 
                LEN.............[E]-K...................
                LET.............[K]-L...................
                LINE............[E]-<SS>3...............
                LIST............[K]-K...................
                LLIST...........[E]-V...................
                LN..............[E]-Z...................
                LOAD............[K]-J...................
                LPRINT..........[E]-C...................
                 
                MERGE...........[E]-<SH>T...............
                MOVE............[E]-<SS>6...............
                 
                NEW.............[K]-A...................
                NEXT............[K]-N...................
                NOT.............[K],[L],[C]-<SS>S.......
                 
                OPEN#...........[E]-<SS>4...............
                OR..............[K],[L],[C]-<SS>U.......
                OUT.............[E]-O...................
                OVER............[E]-N...................
                 
                PAPER...........[E]-C...................
                PAUSE...........[K]-M...................
                PEEK............[E]-O...................
                PI..............[E]-M...................
                PLOT............[K]-O...................
                POKE............[K]-O...................
                PRINT...........[K]-P...................
                 
                RANDOMISE.......[K]-T...................
                READ............[E]-A...................
                REM.............[K]-E...................
                RESTORE.........[E]-S...................
                RETURN..........[K]-Y...................
                RND.............[E]-T...................
                RUN.............[K]-R...................
                 
                SAVE............[K]-S...................
                SCREEN$.........[E]-<SH>K...............
                SGN.............[E]-F...................
                SIN.............[E]-O...................
                SQR.............[E]-H...................
                STEP............[K],[L],[C]-<SS>D.......
                STOP............[K],[L],[C]-<SS>A.......
                STR$............[E]-Y...................
                SYMBOL SHIFT............................
                 
                TAB.............[E]-P...................
                TAN.............[E]-E...................
                THEN............[K],[L],[C]-<SS>G.......
                TO..............[K],[L],[C]-<SS>F.......
                 
                USR.............[E]-L...................
                 
                VAL.............[E]-J...................
                VAL$............[E]-<SH>J...............
                VERIFAY.........[E]-<SH>R...............
uKAZATELX KOMAND BASIC                                              Page G-3



                                                                                                                                    