25. Príkazy editora: LIST, LOAD, SAVE, NEW, CONT, DOS, BYE …

Na čo to je

Na skutočnom Atari je BASIC zároveň aj editor: píšeš doň riadky programu a medzi nimi príkazy, ktorými program vypíšeš, uložíš, spustíš. Niektoré z týchto príkazov nájdeš aj vo vnútri dobových programov – program sa sám vypíše, nahrá ďalšiu časť, alebo po skončení odíde do DOS-u.

Preložený program však nemá ani editor, ani svoj text. Táto kapitola hovorí, čo také príkazy urobia v ňom. Nie je to kapitola na učenie – je na nahliadnutie, keď ich stretneš.

Čo ktorý príkaz robí

PríkazV interpreteri na AtariV preloženom programe
LISTvypíše text programuvypíše čísla 1 až 30 a NOT IN COMP PRG
SAVE "D:MENO", CSAVEuloží program na disketu, kazetuvypíše NOT IN COMP PRG a ide ďalej
LOAD "D:MENO", CLOADnahrá iný programvypíše NOT IN COMP PRG a ide ďalej
ENTER "D:MENO"prečíta program zapísaný ako textvypíše NOT IN COMP PRG a ide ďalej
RUN "D:MENO"nahrá a spustí iný programnepreloží sa (chyba B26099)
RUNspustí program odznovaspustí program odznova (kapitola 17)
NEWzmaže program z pamäteukončí program
CONTpokračuje po STOP alebo BREAKnerobí nič
DOSodíde do ponuky DOS-uzavrie kanály a odíde do DOS-u
BYEodíde do vstavaného testu počítačaukončí program

Prekladač na príkazy z hornej polovice tabuľky upozorní.

Celý program

Súbor examples/editor.abas:

Atari BASIC
10 REM Commands of the editor in a compiled program
20 PRINT "Before LIST"
30 LIST
40 PRINT "Before SAVE"
50 SAVE "D:PROGRAM.BAS"
60 PRINT "Still running"
70 NEW
80 PRINT "Never printed"

Preklad a spustenie

Basic26 editor.abas --sim

Prekladač pri tom vypíše dve upozornenia:

editor.abas(3,4): warning B26219: LIST only says it is not available: a compiled program has no program text
editor.abas(5,4): warning B26219: SAVE only says it is not available: a compiled program has no program text

Upozornenie preklad nezastaví; hovorí len, že tento riadok nebude robiť to, čo v interpreteri.

Čo uvidíš

Before LIST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
NOT IN COMP PRG
Before SAVE
NOT IN COMP PRG
Still running

Ako to funguje

Program z viacerých častí

Väčšie dobové programy sa delili na časti, ktoré sa nahrávali za sebou: úvodná časť nakreslila titulný obrázok a skončila príkazom RUN "D:GAME.BAS". To je jediná vec z BASICu, ktorú prekladač odmietne – v preloženom programe nie je interpreter, do ktorého by sa ďalší program nahral.

Riešenie je preložiť každú časť zvlášť a spojiť ich inak: strojový kód a obrázky pribaliť k hlavnému programu (--embed, kapitola 43), alebo časti preložiť do samostatných súborov a spúšťať ich z DOS-u.

Tri slová, ktoré nie sú príkazmi editora, ale patria sem

SlovoČo robí
LETnepovinné slovo pred priradením (kapitola 4); v dobových programoch ho nájdeš tam, kde sa meno premennej začína slovom BASICu: LET TOP=5
COMto isté ako DIM – iné meno toho istého príkazu
GO TOto isté ako GOTO

Prísny režim

Keď chceš mať istotu, že program nerobí nič, čo by v preloženej podobe nedávalo zmysel, prelož ho s --strict: z upozornení na príkazy editora sa stanú chyby.

Basic26 editor.abas --strict

Časté chyby

Čo sa staloČo sa stane
program končí príkazom RUN "D:MENO"error B26099 – preklad sa nepodarí
program sa spolieha, že LIST ukáže jeho textukáže čísla a hlášku
program čaká, že CONT niečo spravínespraví
DOS v programe spustenom bez DOS-upočítač sa reštartuje alebo skončí vo vstavanom teste

Zhrnutie

Tým sa končí časť o Atari BASICu. Všetko, čo si sa doteraz naučil, platí aj v Turbo-BASICu XL – a ten pridáva veľa pohodlia.

Späť: 24. Súbory · Ďalej: 26. Turbo-BASIC XL