.PN79
20. reakciq na o{ibki i obrabotka o{ibok w qzyke bejsik

20.1. operator ERROR dlq opredeleniq ispolxzuemogo koda o{ibki i dlq
      modelirowaniq o{ibki w ramkah testirowaniq programmy

      pomo}x operator ERRO wyzywa`ts standartny soob}eni o o{ibka 
i nabor soob}eni o o{ibka bejsik-interpretatora sootwetstwenno 
modeliru`tsq opredelennye o{ibki pri testirowanii programmy.
format:  ERROR (<argument>)
     argumento move byt ~islowo wyravenie ~islowa peremenna il 
~islowa konstanta prinima`}a zna~eni bolx{ nul  menx{ 255 pr 
zadani zna~eniq sootwetstwu`}eg opredelennom kod o{ibki operato ERRO 
ta imitirue wozniknoweni |to o{ibki ~to naprimer wozmovn prowerit 
korrektnost rabot podprogramm obrabotk o{ibok esl dolve byt 
ispolxzowa sobstwenny ko o{ibki t rekomenduets ispolxzowat kod 
na~ina  25  obratno porqdke ~tob n naru{at sowmestimost  pozdnim 
wersiqm bejsik-interpretatora spiso wse soob}eni o o{ibkah kotory 
mogut bytx ispolxzowany w operatore ERROR, predstawlen w prilovenii w.

prime~anie:
     esl  programm imeets operato O ERRO GOT (smotr punk 20.2.) 
to pri kompilqcii dolvna bytx zadana opciq/e.

primer:        10 ERROR 4
               RUN
               OUT OF DATA IN 10
               200 ON ERROR GOTO 500
               210 INPUT "parametr";k%
               220 IF K% < 20 THEN ERROR 254
                    ...
               500 IF ERR=254 THEN PRINT "neweren parametr"


.CP15
20.2. operator ON ERROR GOTO dlq razwetwlenij w procedure reakcij na o{ibki

     format:  ON ERROR GOTO (<nomer stroki>)
     pr wstre~a`}ejs o{ibk proishodi otwetwleni programm  ukazannom 
nomer stroki  kotorog na~inaets u~asto programmy prednazna~enny dl 
reakci n o{ibk  pro~i neoby~ny situaci  bejsik-programme |to 
u~asto렠 programm dolve zawer{atxs operatoro RESUMŠ (sm punk 
20.3.) razwetwleni programm wypolnqets posl eg perwo obrabotki pr 
|to woznika`}i o{ibo~ny situaci qwlq`ts pri~inoꠠ sootwetstwu`}i 
perehodow  odno programm mogu wstretitxs neskolxk operatoro O ERRO 
GOTO pereho wsegd osu}estwlqets  to stroke kotora byl ukazan  
poslednem iz podobnyh operatorow.
     dl otmen dejstwi operator O ERRO GOT dolve byt zada operato 
 nomero stroki rawny 0 esl operato dostigaets wnutr programm 
obrabotk o{ibok t wypolneni |to ~ast programm prerywaets  wydaets 
soob}eni o o{ibke rekomenduets ispolxzowat |to operato w wse te 
sle~aqh kogd o{ibk n mogu byt ustranen  pomo}x procedur obrabotk 
o{ibok.
     
prime~anie:
     dejstwi operator O ERRO GOT sohranqets   revim koman posl 
programmnog prerywaniq  procedur obrabotk o{ibo n move byt 
wypolnena reakciq na woznika`}u` o{ibku.
.CP8
primer:        10 ON ERROR GOTO 10000
                    .  .  .
               200 INPUT "koli~estwo:";ANZ%
               210 IF ANZ% > 50 THEN ERROR 243
                    .  .  .
               10000 IF ERR=243 THEN PRINT "o{ibka pri wwode koli~estwa!"
               10010 IF ERL=210 THEN RESUME 200

ukazanie:  pri ispolxzowanii bejsik-kompilqtora neobhodimo wybiratx opci`/e.


.CP15
20.3. operator RESUME dlq zawer{eniq procedury obrabotki o{ibok

     operato RESUMŠ zawer{ae wyzwannu p OΠ ERROҠ GOTϠ procedur 
obrabotki o{ibok, ~toby wozobnowitx normalxnoe wypolnenie programmy.
format:  RESUME [0]
       ili
         RESUME [NEXT]
       ili
         RESUME [<nomer stroki>]
     form RESUMŠ il RESUM  obespe~iwae prodolveni  to stroki  
kotoroj woznikla o{ibka.
     form RESUMŠ NEXԠ obespe~iwae prodolveni programm s stroki 
sledu`}ej za toj, w kotoroj woznikla o{ibka.
form RESUM <nome stroki obespe~iwae prodolveni programm s strok  
zadannym nomerom.

prime~anie:
     esl trebuets kompilirowat bejsik-programmu t sledue ispolxzowat 
opci`/X.


.CP15
20.4. peremennye ERR i  ERL    

     peremenny ERҠ  ER̠ qwlq`ts zarezerwirowannym identifikatoram 
peremennyh pr wozniknoweni programmno o{ibk peremenna ERҠ sodervi 
sootwetstwu`}i ko o{ibki analogi~n pr wozniknoweni o{ibk peremenna 
ER sodervi nome stroki gd on woznikla esl o{ibk woznikl pr prqmo 
wwode t nome strok rawe 65536 obei peremenny  bejsik-programm n 
mogu byt priswoen zna~eniq odnak i zna~eni mogu byt prowereny pr 
|tom prowerka peremennoj ERL dolvna proizwoditsq sledu`}im obrazom:
               IF ERL = <nomer stroki> THEN
     te samy garantiruetsq ~t posl ispolxzowani komand RETURΠ (sm 
punkt 20.3.) awtomati~eski budet prostawlen prawilxnyj nowyj nomer stroki.
.PA
prilovenie a. wozmovnosti wyzowa programm w ma{innyh kodah w qzyke bejsik

     w qzyke bejsik imeetsq wozmovnostx wyzowa programm w ma{innyh kodah.

1. funkciq USR

      pomo}x DE US opredelqets na~alxny adre podprogrammy  regist 
 zanosits peremenna kakog tip peredaets  podprogramm  ma{inny 
kodah:
     napolnenie registra a                   tip peredawaemyh peremennyh
     ---------------------                   ----------------------------
           A=2                          celoe ~islo, zanima`}ee 2 bajta
           a=3                          cepo~ka simwolow
           a=                       we}estwenno ~isl oby~no to~nosti,
                                        zanima`}ee 4 bajta
           a=                       we}estwenno堠 ~isl udwoenno 
                                        to~nosti, zanima`}ee 8 bajt
     esl peredawaemy paramet qwlqets ~islom t par rregistro "HL 
ukazywae n akkumulqto (FAC)  kotoro zapominaets ~islo akkumulqto 
imee dlin  bajt FAC7 FAC6 ... FAC0 FAC qwlqets 1- bajtom FAC - 
8-M bajtom).
     samo ~islo nahoditsq w akkumulqtore sledu`}im obrazom:
     - celoe ~islo w bajtah FAC3 (mlad{ie bity) i FAC2 (star{ie bity)
     - we}estwenno ~isl oby~no to~nost  bajta FAC (mlad{i bit 
       mantissy) FAC (sredni bit mantissy  FAC (star{i bit 
       mantissy 8- bi znakowyj)  FAC nahodits zna~eni |ksponenty 
       umenx{ennoe na 128;
     - we}estwenno ~isl udwoenno to~nost nahodits  bajta  FAC d 
       FAC (mantissa  FAC mlad{i bity  FAC star{i bit  znak)  
       FAC0 nahoditsq zna~enie |ksponenty, umenx{ennoe na 128.
     esl peredawaemy paramet qwlqets strokoj t par registro "se 
ukazywae n trehbajtowo pol opisani stroki  0- bajt |tog pol 
nahodits dlin strok ( diapazon o  d 255)  bajta    razme}aets 
adre na~al strok ( 1- bajt mlad{i bity w wtoro bajt star{i 
bity).
     wnimanie  esl strokowy paramet qwlqets stroko i bejsika t pol 
opisani strok nahodits poseredin programmy n pr kaki obstoqtelxstwa 
ono ne dolvno bytx izmeneno ili ispor~eno!
     |togo woob} goworq movn izbevatx esl wmest strokowo peremenno 
peredawatx strokowoe wyravenie
          <strokowaq peremennaq>+" "
 |to slu~a bude postroen nowo pol opisani strok wn oblast 
programmy, na kotoroe ukazywaet para registrow "DE".
     funkci USҠ wozwra}aet ka prawilo zna~eni tog v tipa ~t  
whodno parametr o programmist pr wozwrat parametro trebuets 
prawilxno zadatx harakteristiki tipa dannyh.


.CP15
2. operator CALL

     esl p CAL wyzywaets funkci il podprogramm be parametrow t 
wozwra proishodi p komand RET esl p CAL̠ wyzywaets funkci il 
podprogramm  parametrami t dl kavdog peredaets 2-hbajtowy adres 
esl parametro n bole treh t adres nahodqts  para registro "HL 
(perwy parametr) "DE (wtoro parametr  "BC (treti parametr) esl 
parametro bole treh t adres perwy dwu parametro nahodqts  para 
registro "HL  "DE" adres wse ostalxny parametro razme}a`ts  
massiw dannyh na~alxny adre |tog massiw nahodits  par registro 
"BC" koli~estw parametro  i tip n kontroliru`tsq otwetstwennost z 
|to wozlagaetsq na programmista.
wnimanie pereda~ parametro polnostx analogi~n pereda~  qzyka 
fortran drugi bejsik-dialekta  wozmovnostqm kompilqcii paskalx pl/1 
kobo  t.d te samy  pomo}x operator CAL̠ i bejsik movn 
neposredstwenn wyzywat zagruzo~ny堠 moduli sozdanny堠 drugim 
kompilqtorami.
.PA
prilovenie w. soob}eniq ob o{ibkah bejsik- interpretatora

     pr rabot bejsik-interpretator mogu wydawatxs sledu`}i soob}eni 
ob o{ibkah:

1 NEXԠ WITHOUԠ FOҠ       operator NEXԠ ukazanᠠ peremennaq n 
                              upotreblenna n  odno i rane obrabotanny 
                              operatorow FOR.
2.   SYNTAX ERROR             w programmnoj stroke najdeny o{ibo~nye simwoly
                              (naprimer, neparnye skobki, newernyj operator,
                              o{ibo~naq posledowatelxnostx to~ki, zapqtoj i
                              to~ki s zapqtoj).
3. RETURN WITHOUT GOSUB       obnaruven operator RETURN, dlq kotorogo ne su-
                              }estwuet GOSUB.
4. OUT OF DATA                wypolnen operator READ, w to wremq, kak w faj-
                              le bolx{e net konstant.
5. ILLEGAL FUNCTION CALL      proizwoditsq pereda~a  funkcii  nedopustimogo 
                              parametra.
6. OVERFLOW                   rezulxtat operacii prewy{aet dopustimyj diapa-
                              zon zna~enij.
7. OUT OF MEMORY              ne movet bytx predostawleno dostato~no rabo~ej
                              pamqtoz(pri~inysli{kobolx{a programma,
                              sli{kom mnogo peremennyh, sli{kom slovnye  wy-
                              raveniq sli{ko bolx{a glubin wlovennost 
                              ciklow FOR-NEXT i podprogramm).
8 UNDEFINE LIN NUMBE       operatora tip GOTO- GOSUB IF-THEN ELSE- 
                              il頠 DELETŠ ukaza nome stroki n 
                              su}estwu`}ej w programme.
9. SUBSCRIPT OUT OF RANGE     ispolxzuemyj indeks |lementa massiwa levit wne
                              zadannyh granic. dlq mnogomernogo massiwa woz-
                              movno otsutstwie indeksa.
10. REDIMENSIONED ARRAY       razmernostx massiwa opredelqetsq neskolxko raz
                              |t takv imee mesto kogd |lement massiw 
                              priswaiwaets zna~eni (pr |to awtomati~esk 
                              opredelqetsq razmernostx 10), a zatem w opera-
                              tore DIM powtorno opredelqetsq razmernostx.
11. DIVISION BY ZERO          delenie na nulx  wstretilosx  w  wyraveni  ili 
                              pri wozwedenii w otricatelxnu` stepenx. w per-
                              wom slu~ae  prinimaetsq  naibolx{ee  wozmovnoe 
                              ~islo s prawilxnym znakom, wo wtorom- naibolx-
                              {e wozmovno polovitelxno ~islo prerywani 
                              programmy ne proishodit.
12. ILLEGAL DIRECT            nedopustimaq prqmaq obrabotka.
13. TYPE MISMATCH             sprawa i slewa ot znaka priswoeniq stoqt pere-
                              mennye raznyh tipow - strokowye i ~islowye.
14. OUT OF STRING SPACE       strokowye peremennye  zanima`t  ws`  dostupnu`      
                              oblastx pamqti, tak kak ih sli{kom  mnogo  ili
                              oni sli{kom dlinnye.
15. STRING TOO LONG           byla sdelana popytka sozdatx cepo~ku  simwolow     
                              iz bolee ~em 255 simwolow.
16. STRING FORMULA TOO        strokowoe wyravenie sli{kom dlinnoe ili  sli{-
    CEMPLEX                   kom slovnoe. wyravenie  sleduet  razdelitx  na
                              neskolxko bolee menx{ih wyravenij.
17. CAN'T CONTINUE            programma ne movet bytx prodolvena posle  pre-
                              rywaniq, tak kak ona izmenena.
18. UNDEFINED USER FUNCTION   funkciq USR wyzywaetsq prevde, ~em ona oprede-
                              lena.
19. NO RESUME                 po ON ERROR GOTO  byl  osu}estwlen  perehod  w
                              podprogrammu obrabotki o{ibok,  ne  soderva}u`        
.CP3                          operatora USER.
20. RESUME WITHOUT ERROR      obnaruven operator RESUME do togo, kak woznik-
                              la o{ibka.
21. UNPRINTABLE ERROR         dlq woznik{ej o{ibki ne  su}estwuet  soob}eniq 
                              ob o{ibke.  woznikaet  preimu}estwenno  togda, 
                              kogd zada operato ERROҠ  neopredelenny 
                              kodom o{ibki.
22. MISSING OPERAND           w operatore ne ukazan sootwetstwu`}ij operand.
23. LINE PUFFER OVERFLOW      byla sdelana popytka zanesti w  stroku  bolee  
                              255 simwolow.
26. FOR WITHOUT NEXT          dlq operatora NEXT otsutstwuet  sootwetstwu`-     
                              }ij operator FOR.
29 WHILŠWITHOUԠWENĠ      dloperatorWHILŠotsutstwue sootwetstwu`-
                              }ij operator WEND.
30. WEND WITHOUT WHILE        dlq operatora  WEND  otsutstwuet  otkrywa`}ij 
                              operator WHILE.
50. FIELD OVERFLOW            w operatore FIELD opredeleno bolx{e bajt, ~em
                              zadano dlq dliny zapisi w operatore OPEN-"R".
51. INTERNAL ERROR            wnutri bejsik-programmy w ma{innyh kodah woz-
                              nikla o{ibka. prikladnaq programma ne qwlqet-
                              sq pri~inoj |toj o{ibki.
52. BAD FILE NAME             trebuemyj fajl s zadannym nomerom ne byl otk-
                              ryt.
53. FILE NOT FOUND            operator KILL-, LOAD- ili OPEN sodervit  imq                  
                              fajla, otsutstwu`}ego na diskete.
54. BAD FILE MEELE            byla sdelana popytka wypolnitx operator  GET
                              ili PUT dlq posledowatelxnogo fajla, zagru-
                              zitx s pomo}x` LOAD fajl prqmogo dostupa ili
                              zadatx operator OPEN s o{ibo~nym revimom dos
                              tupa.
55. FILE IS ALREADY OPEN     byla sdelana popytka  powtorno  otkrytx  uve
                              otkrytyj fajl.
57. DISK I/O ERROR            pri ~tenii ili zapisi na wne{nee  ustrojstwo
                              woznikla o{ibka, kotoraq ne movet bytx ustra-
                              nena operacionnoj sistemoj.
58. FILE ALREADY EXISTS       w operatore NAME w ka~estwe nowogo imeni za-
                              dano imq uve su}estwu`}ego na teku}em  nako-
                              pitele fajla.
61. DISK FULL                 is~erpana oblastx pamqti na wne{nem zapomi-
                              na`}em ustrojstwe.
62. INPUT PAST END            byla sdelana popytka  s  pomo}x`  operatora     
                              INPUT pro~estx posledowatelxnyj fajl  posle
                              konca dannyh.
63BAĠ RECORĠ NUMBEҠ      operatorPUԠilGEԠispolxzuetsq nerazre-
                              {ennyj nomer zapisi (menx{e 1 ili bolee 32767)
64. BAD FILE NAME             w operatore KILL-, LOAD-, SAVE- ili OPEN-
                              ispolxzowano imq fajla, ne sootwetstwu`}ee do-
                              pustimomu formatu.
66DIRECԠ STATEMENԠ I     pr zagruzk programmnog fajl  format 
    FILE                      ASCII s~itana stroka bez nomera stroki. zag-
                              ruzka prerwana.
67. TOO MANY FILES            w oglawlenii fajlow net mesta dlq zapisi nowo-
                              go fajla.

prime~anie:
     ne ukazannye zna~eniq nomerow soob}enij ne ispolxzu`tsq.
.PA
prilovenie s. soob}eniq ob o{ibkah bejsik-kompilqtora

     pr頠 translqci programm kompilqtoro mogu wozniknut razli~ny 
soob}eniq ob o{ibkah, kotorye movno razdelitx na dwa klassa:
     - o{ibk dolvn byt ustraneny ta ka ina~ programm n smove 
       prawilxno rabotatx;
     - preduprevdeniq: ime`tsq neto~nosti, dopuskaemye kompilqtorom.
     re{enie o neobhodimosti izmenenij qwlqetsq delom polxzowatelq.
     
     soob}eni o o{ibka pr translqci wyda`ts wmest  teksto o{ibo~no 
programmno stroki po |to stroko stoi simwo "^  to meste gd 
kompilqtoro najden o{ibka rqdo  |ti simwolo wydaets ko o{ibki 
sostoq}ij iz dwuh bukw.
     mogut wstretitxsq sledu`}ie kody:
     soob}eniq ob o{ibkah:
BӠ  nedopustimy indek  peremenno massiw il newerno koli~estw 
     indeksow.
CD   w operatore COMMON imq peremennoj wstre~aetsq po menx{ej mere dwa raza.
CN   w operatore COMMON wstretilsq ranee ne opredelennyj massiw.
CO   operatory COMMON nahodqtsq w programme na nedopustimom meste.
D   dl massiw imeets operato DIM  t wremq ka massi uv opredele 
     w drugom meste prgrammy.
FD   funkciq opredelqetsq dwa  raza.
FΠ  operator FOҠ  NEXԠ n sowpada` il  dwu wlovenny cikla 
     ispolxzuetsq odna i ta ve peremennaq cikla.
I   zapro{enny p operator %INCLUD programmny faj n najde n wne{ne 
     zapomina`}em ustrojstwe.
L̠  delaets popytk ispolxzowat programmnu strok i bole ~e 25 
     simwolow.
LS   dlina cepo~ki simwolow bolx{e 255 simwolow.
O͠  perepolneni rabo~e oblast oz - sli{ko bolx{o massiw sli{ko 
     mnog peremennyh mnog nomero stro dl perehodo il sli{ko bolx{a 
     programma.
SN   sintaksi~eskaq o{ibka.
SѠ  imeets dublirowani nomero stro il operator stoq  neprawilxno 
     posledowatelxnosti.
Tà  sli{ko bolx{o wyravenie naprimer on sodervi sli{ko mnog 
     peremennyh, sli{kom mnogo razmernostej ili sli{kom mnogo argumentow.
T͠  pr priswoeni il pr pereda~ funkci parametro ispolxzu`ts 
     nesowpada`}ie ili nerazre{ennye tipy dannyh.
UC   w programmnoj stroke sodervitsq neopredelennyj operator.
UF   wyzywaetsq funkciq, kotoraq ne opredelena.
WE   ili WHILE bez WEND, ili WEND bez WHILE.
IO   delenie na nulx.
IE   otsutstwu`}aq opciq /e.
IX   otsutstwu`}aq opciq /h.
     preduprevdeniq:
ND   razmernostx massiwa ne opredelena qwno.
SI   wstretilsq operator, ignoriruemyj kompilqtorom.
     soob}eni o o{ibkah wydawaemy pr obrabotk堠 skompilirowanno 
programm t ve ~t   bejsik-interpretatora ws wmest |t nomer o{ibo 
predstawlen nive gd ukazan tolxk nome o{ibk  e zna~enie poqsnq`}i 
tekst sleduet smotretx w prilovenii w.
.PA
nomer o{ibki                                 zna~enie nomera o{ibki
------------                                 -----------------------
     2         SYNTAX ERROR                 sintaksi~eskaq o{ibka
     3         RETURN WITHOUT GOSUB         RETURN bez GOSUB
     4         OUT OF DATA                  konec dannyh
     5         ILLEGAL FUNTION CALL         nekorrektnyj wyzow funkcii
     6         OVERFLOW                     perepolnenie
     9         SUBSCRIPT OUT OF RANGE       zna~enie indeksa wne diapazona
     11        DIVISION BY ZERO             delenie na nulx
     14        OUT OF STRING SPACE          prewy{en razmer stroki
     20        RESUME WITHOUT ERROR         RESUME bez o{ibki
     21        UNPRINTABLE ERROR            neraspoznawaemaq o{ibka
     50        FIELD OVERFLOW               perepolnenie polq
     51        INTERNAL ERROR               wnutrennqq o{ibka
     52        BAD FILE NUMBER              newernyj nomer fajla
     53        FILE NOT FOUND               fajl ne najden
     54        BAD FILE MODE                newernyj revim raboty s fajlom
     55        FILE ALREADY OPEN            fajl uve otkryt
     56        DISK I/O ERROR               o{ibka wwoda/wywoda na diske
     58        FILE ALREADY EXISTS          fajl uve su}estwuet
     61        DISK FULL                    disk polon
     62        INPUT PAST END               INPUT posle END
     63        BAD RECORD NUMBER            newernyj nomer zapisi
     64        BAD FILE NAME                newernoe imq fajla
     67        TOO MANY FILES               sli{kom mnogo fajlow
.PA
prilovenie D.  tablica kodow  ASCII

{estnadcateri~noe       desqti~noe       predstawlenie    nazwanie
predstawlenie           zna~enie         simwola          simwola
-------------------------------------------------------------------------------
uprawlq`}ie simwoly:
     00                     0                        NUL zapolnitelx
     01                     1              ^A        SOH na~alo zagolowka
     02                     2              ^B        STX na~alo teksta
     03                     3              ^C        ETX konec teksta
     04                     4              ^D        EOT konec pereda~i
     05                     5              ^E        ENQ zapros
     06                     6              ^F        ACK podtwervdenie priem
     07                     7              ^G        BEL signal
     08                     8              ^H        BS simwol nazad
     09                     9              ^I        HT tabulqciq
     0A                    10              ^J        LF nowaq stroka
     0                    1            ^K        V wertikalxna tabul.
     OC                    12              ^L        FF prodwivenie formul.
     0D                    13              ^M        CR wozwrat karetki
     0E                    14              ^N        SO sdwig naruvu
     OF                    15              ^O        SI sdwig wnutrx
     10                    16              ^P        DLE smena kanala 
     11                    17              ^Q        DC1 ust-wo uprawleniq 1
     12                    18              ^R        DC2 ust-wo uprawleniq 2
     13                    19              ^S        DC3 ust-wo uprawleniq 3
     14                    20              ^T        DC4 ust-wo uprawleniq 4
     15                    21              ^U        NAK net podtwervdeniq
     16                    22              ^V        SYN sinhrosimwol
     17                    2            ^W        ET kone blok pereda~i
     18                    24              ^X        CAN otmena
     19                    25              ^Y        EM konec ustrojstwa
     1a                   2             ^ڠ       SU podstawlqemy simwol
     1B                    27              ^[        ESC smena registra
     1C                    28              ^/        FS razdelitelx fajlow
     1D                    29              ^]        GS razdelitelx grupp
     1E                    30              ^^        RS razdelitelx zapisej
     1F                    3             ^-        U razdelitel |lement.
simwoly:
     20                    32                        probel
     21                    33              !
     22                    34              "
     23                    35              #
     24                    36              $
     25                    37              %
     26                    38              &
     27                    39              '
     28                    40              (
     29                    41              )
     2a                    42              *
     2B                    43              +
     2C                    44              ,
     2D                    45              -
     2E                    46              .
     2F                    47              /
.PA
     30                    48              0
     31                    49              1
     32                    50              2
     33                    51              3
     34                    52              4
     35                    53              5
     36                    54              6
     37                    55              7
     38                    56              8
     39                    57              9 
     3A                    58              :
     3B                    59              ;
     3C                    60              <
     3D                    61              =
     3E                    62              >
     3F                    63              ?
     40                    64              @
     41                    65              A
     42                    66              B
     43                    67              C
     44                    68              D
     45                    69              E
     46                    70              F
     47                    71              G
     48                    72              H
     49                    73              I
     4A                    74              J
     4B                    75              K
     4C                    76              L
     4D                    77              M
     4E                    78              N
     4F                    79              O 
     50                    80              P
     51                    81              Q
     52                    82              R
     53                    83              S
     54                    84              T
     55                    85              U 
     56                    86              V
     57                    87              W
     58                    88              X
     59                    89              Y
     5A                    90              Z
     5B                    91              [
     5C                    92              \
     5D                    93              ]
     5E                    94              ^
     5F                    95              .
.PA
     60                    96              -
     61                    97              A
     62                    98              B
     63                    99              C 
     64                   100              D
     65                   101              E
     66                   102              F
     67                   103              G
     68                   104              H
     69                   105              I
     6A                   106              J
     6B                   107              K
     6C                   108              L
     6D                   109              M
     6E                   110              N
     6F                   111              O
     70                   112              P
     71                   113              Q
     72                   114              R
     73                   115              S
     74                   116              T
     75                   117              U
     76                   118              V
     77                   119              W
     78                   120              X
     79                   121              Y
     7A                   122              Z
     7B                   123              
     7C                   124              !
     7D                   125              
     7E                   126              -
     7F                   127                                DEL
     

.PA
priloveni e  razli~i mevd interpretiruemy  kompiliruemy dialektam 
                 bejsika

     wersi qzyk bejsik opisanna  nastoq}e sistemno dokumentacii 
otli~aets p rqd detale pr rabot  revima interpretaci  kompilqcii 
n |t ukazywalos  sootwetstwu`}i mesta otdelxny gla opisani qzyka  
dannom prilovenii sootwetstwu`}ie razli~iq swedeny wmeste.
      sqz  tem ~t komandy obespe~iwa`}i enteraktiwny wwo programm 
 e obrabotku  revim kompilqci n ispolxzu`tsq sledu`}i komand 
ignoriru`tsq bejsik-kompilqtorom:

               NEW            LIST           SAVE
               AUTO           LLIST          LOAD
               CONT           DELETE         MERGE
               EDIT           RENUM          ERASE          
      sledu`}i operatoro qzyk bejsi funkcionalxno ispolxzowani  
revimah kompilqcii i interpretacii otli~a`tsq opisannym nive obrazom.
1. komanda CLEAR

     dejstwiq,wypolnqemy komandoj  oboi revima odinakowye odnak  
revim kompilqci argument dolvn byt celog tipa esl  ka~estw 
argument ispolxzuets zna~enie rawno nul` t prinima`ts standartny 
zna~eniq komandy CLEAR.

2. komanda RUN

      revim kompilqci komand RU move byt wypolnen tolxk n prinima 
w wnimani opci "R". |to smysl lu~{ ispolxzowat operato CHAIN 
komand RUΠ  revim kompilqci wypolnqe programm  ma{inny kodah 
kotory zapomnen  fajla  priznako tip "COM" pr |to aktiwiruema 
programma movet bytx l`boj programmoj w ma{innyh kodah.

3. komandy TRON i TROFF

      revim kompilqci dolvn byt zadan opci /D esl trebuets 
ispolxzowat ob |t komandy  protiwno slu~a operator ignoriru`ts  
kompilqtor wydaet preduprevdenie.

4. operatory sogla{enij DEFINT, DEFSNG, DEFDBL i DEFSTR.

      revim kompilqci |t operator obrabatywa`ts stati~eski ~t 
ozna~aet ~t i dejstwi rasprostranqets n ws programmu ka tolxk 
kompilqto raspoznae  tekst programm operato DEF??? obojt |t 
operatory naprme  pomo}x operator GOTO ka  revim interpretacii  
revime kompilqcii newozmovno.

5. operator sogla{eniq DIM

      revim kompilqci dl opredeleni werhni grani indekso mogu 
ispolxzowatxs tolxk celo~islenny konstanty n n konstant  plawa`}e 
to~koj, peremennye ili wyraveniq.

6. operator ERASE

     w revime kompilqcii |tot operator ne su}estwuet.

7. operatory FOR, TO, STEP i NEXT

      revim kompilqci  ka~estw indeks cikl dopustim takv peremenny 
we}estwennogo tipa udwoennoj to~nosti.

8. operator CALL

      revim kompilqci n mest na~alxnog adres podprogramm ( wid 
desqti~no il {estnadcateri~no konstanty dolve nahoditxs identifikato 
podprogrammy sostoq}i maksimalxn i  simwolow dl procedu n qzyk 
assemblerᠠ |t im dolvn byt deklarirowan posl PUBLIC zadani 
parametro zawisi o opcij.

9. operator USR

      revim kompilqci sledue u~itywat ~t dl wyzowo USҠ  n 
predusmotren pereda~ parametrow odnak movn zapisat danny  za}i}ennu 
oblast pamqt  pomo}x operator POKE kotory poto mogu byt s~itan  
obrabotan proceduro  ma{inny kodah |t procedur move wozwratit odn 
celo~islenno zna~eni wyzywa`}e programme ostalxny zna~eni mogu byt 
s~itan i za}i}enno oblast pamqt  pomo}x operator PEEK rekomenduets 
swqzywat ispolxzuemy programm  ma{inny koda  kompiliruemo bejsik-
programmo  pomo}x redaktora |t ~ast programm mogu byt zate wyzwan 
s ispolxzowaniem operatora CALL.

10. operator CHAIN

     pr頠 kompilqci revim MERGŠ <nome stroki> CAL̠  DELETŠ n 
podderviwa`tsq pereda~ᠠ peremenny蠠  wyzywaemuࠠ programm dolvn 
wypolnqtxsq s pomo}x` operatora COMMON.

11. operator COMMON

     dlq revima kompilqcii format operatora COMMON ras{iren:
format:  COMMON [/<imq>/] [<identifikator peremennoj>]
         [<identifikator peremennoj>]...
     pr |to  ka~estw imen move byt zada identifikato (maksimalxn  
simwolow procedur  ma{inny kodah pr wyzow sootwetstwu`}e procedur  
pomo}x operator CAL |t izbawlqe o pereda~ peredawaemy parametrow 
ws massiwy ispolxzuemy  operatora COMMON dolvn byt predwaritelxn 
opredelen   operator DIM pere operatoro COMMO mogu nahodits tolxk 
operatory sogla{enij; imi qwlq`tsq sledu`}ie:
                    COMMON
                    DIM
                    OPTION BASE
                    REM
                    DEFDBL, DEFSNG, DEFINT, DEFSTR
                    %INCLUDE

12. operator REM

     stroki kommentariew w revime kompilqcii obhodqtsq.

13. operator END

      revim kompilqci p operator EN zakrywa`ts ws otkryty fajly 
kompilqto wypolnqe wozwra  operacionnu sistemu esl operato EN 
otsutstwuet t kompilqto prinimaet ~t o nahodits posl posledne 
programmnoj stroki.
.CP10
14. operator STOP

      revim kompilqci operato STOР sootwetstwue operator END 
dopolnitelxn pere䠠 wozwrato  operacionnuࠠ sistemuwydaets 
{estnadcateri~ny adres p kotorom wypolnqls operato STOP esl 
ispolxzowalis opci /D,/ il /E t wydaets takv  nome stroki  
kotoroj byl zadan operator STOP.

15. operator ON ERROR GOTO

      revim kompilqci dl bejsik-kompilqtor neobhodim ispolxzowat 
opci` /e.

16. operator RESUME

      revim kompilqci dl bejsik-kompilqtor neobhodim wybirat opci 
/X.
.PA
priloveni F  uprawlq`}i simwoly kotory mogu ispolxzowatxs pr 
                  obrabotke bejsik-programmy

     ka bejsik-interpretator ta  bejsik-kompilqto raspozna` rq 
uprawlq`}i simwolow kotory mogu ispolxzowatxs dl uprawleni i 
rabotoj.
<CTRL>+  wkl`~eni revim redaktirowani dl tolxk ~t wwedenno strok 
           (sm. takve razdel 5.7.).
<CTRL>+à  prerywani wypolneni programm  wozwra n urowen koman 
           interpretator (ispolxzuets tolxk dl bejsik-interpretator - 
           sm.takve razdel 5.5.).
<CTRL>+H   stiranie poslednego wwedennogo simwola (analog klawi{i <DEL>).
<CTRL>+I   ustanowka tabulqtora (analog klawi{i <taw>).
<CTRL>+Ϡ  prerywani programmno wyda~i programm pr |to prodolvae 
           wypolnqtxsq. powtornoe ispolxzowanie klawi{i wozobnowlqet wyda~u.
<CTRL>+R   powtornaq wyda~a tolxko ~to wwedennoj stroki.
<CTRL>+S   zadervka wypolneniq programmy.
<CTRL>+Q   prodolvenie raboty programmy, prerwannoj po <CTRL>+S.
<CTRL>+U   stiranie tolxko ~to wwedennoj stroki.
.PA
prilovenie G. zarezerwirowannye obozna~eniq w qzyke bejsik

               ABS            GOTO           POKE
               AND            HEX$           POS
               ATN            IF             PRINT
               AUTO           IMP            PRINT$
               CALL           INKEY$         PUT
               CDBL           INP            RANDOMIZE
               CHAIN          INPUT          READ
               CHR$           INPUT#         RENUM
               CINT           INPUT$         RESET
               CLEAR          INSTR          RESTORE
               CLOSE          INT            RESUME
               COMMON         KILL           RETURN
               CONT           LEFT$          RIGHT$
               COS            LEN            RND
               CSNG           LINE INPUT     RSET
               CVD            LINE INPUT#    RUN
               CVS            LIST           SAVE
               DATA           LLIST          SGN
               DEF            LOAD           SIN
               DEFDBL         LOG            SPACE$
               DEFINT         LOF            SPC
               DEFSNT         LOG            SQR
               DEFSTR         LPOS           STOP
               DELETE         LPRINT         STR$
               DIM            LSET           STRING$
               EDIT           MERGE          SWAP
               ELSE           MID$           SYSTEM
               END            MKD$           TAB
               EOF            MKI#           TAN
               EGV            MKS$           TROFF
               ERASE          MOD            TRON
               ERL            NEW            USR
               ERR            NAME           VAL
               ERROR          NOT            VARPTR
               EXP            OCT$           WAIT
               FIELD          ON             WEND
               FILES          OPEN           WHILE
               FN             OPTION BASE    WIDTH
               FOR            OR             WRITE
               FRE            OUT            %INCLUDE
               GET            PEEK
               GOSUB