Sinclair BASIC
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 5 juli 2022; kontroller kräver
2 redigeringar .
Sinclair BASIC (uppkallad efter uppfinnaren Sir Clive Sinclair ) är en dialekt av BASIC - programmeringsspråket som används på 8-bitars konsumentdatorer tillverkade av Sinclair Research och Timex Sinclair . Sinclair BASIC- tolken utvecklades av Nine Tiles Networks Ltd.
Ursprungligen designad 1979 för att passa in i 4K ROM på ZX80 -datorn . Denna version var en ofullständig implementering av 1978 års ANSI Minimum Standard . När den anpassades för datorerna ZX81 och TS1000 , som hade 8 KB ROM, förbättrades tolken och i versionen för ZX Spectrum-datorn med 16 KB ROM blev det en nästan komplett implementering av standarden.
Den ursprungliga Sinclair BASIC
Operatörer
Det finns 86 Sinclair BASIC - satser i ZX Spectrum-datorversionen, inklusive kommandon (50), funktioner (31) och andra nyckelord (5):
ABS , ACS , AND ¹, ASN , AT , ATN , ATTR , BEEP, BIN, BORDER, BRIGHT, CAT², CHR$ ³, CIRCLE, CLEAR, CLOSE#², CLS, CODE ³, CONTINUE, COPY, COS , DATA, DEF FN, DIM, DRAW, ERASE², EXP , FLASH, FN , FOR, FORMAT², GO SUB, GO TO, IF 4 , IN , INK, INKEY$ ³, INPUT, INT , INVERSE, LEN , LET 5 , LINE , LIST , LLIST , LN , LADDA , L _ _ _ _ _ , REM, RESTORE, RETURN, RND , RUN, SAVE, SCREEN$ ³, SGN , SIN , SQR , STEP , STR$ ³, TAB , TAN , THEN 4 , TO , USR , VAL 3, 6 , VAL$ ³, VERIFIERA
Operatörer finns endast i versioner för ZX81 och dess kloner TS1000 och TS1500 :
FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (istället för GO SUB, GO TO i ZX Spectrum-versionen)
I versionen av tolken för 128K-modeller (Spectrum 128K, Spectrum +2, +3, +2A och +2B) har två operatorer lagts till:
LEK, SPEKTRUM
Anteckningar
- AND, NOT och OR-funktionerna är logiska operatorer .
- CAT, CLOSE#, ERASE, FORMAT, MOVE och OPEN# är kommandon för att arbeta med filer på en ZX Microdrive- lagringsenhet. Om försök görs utan en sådan enhet (eller ett disksystem som stöder dessa kommandon), kommer de att resultera i ett fel .
- Strängvariabelnamn kan bara innehålla en bokstav.
Så "LET A=5", "LET Apples=5" och "LET A$="Hej"" är korrekta, men "LET APPLES$="Fruit"" skulle vara fel.
- Det finns ingen ELSE-sats i IF-THEN(-ELSE)-villkoren.
Alltså, istället för koden
10 OM V=5 GÅ TILL 50 ANNARS GÅ TILL 100
, måste du använda
10 OM V=5 GÅ TILL 50
20 GÅ TILL 100
- LET-satsen är obligatorisk (det vill säga "LET A=1" måste användas, inte "A=1"); vilket är en anmärkningsvärd skillnad från de flesta BASIC-dialekter.
- VAL-funktionen hanterar inte bara siffror utan även uttryck. Till exempel, "PRINT VAL(A$)", där strängen A$ innehåller "3*3+4+COS(0)", kommer att skriva ut siffran 14.
Till skillnad från BASIC-dialekter för konsumentdatorer som Microsoft BASIC , som använder funktionerna LEFT$(), MID$() och RIGHT$() för att komma åt delar av en sträng, använder Sinclair BASIC ett arrayliknande tillvägagångssätt. Till exempel kommer "A$ (5 TILL 10)" att returnera delsträngen som börjar vid den femte och slutar vid det tionde tecknet i strängvariabeln A$.
Tillägg och varianter
- Timex BASIC är dialekten som används på den Spectrum-kompatibla TS2068 -datorn (men inte TS2048 som använder den vanliga Sinclair BASIC). Utöver de vanliga Sinclair BASIC-operatörerna har den ytterligare sex: DELETE, FREE , ON ERR, RESET, SOUND, STICK .
- Beta BASIC , en förlängning av Sinclair BASIC släpptes1983 avDr. Andy Wright från BetaSOFT [1] . Det är en allmän uppfattning att detta är en fullfjädrad tolk, argumenterat med att den har en egen programredaktör. Faktum är att Beta BASIC (liksom andra tillägg) inte tillåter dig att skapa program som fungerar utan att ladda ner Beta BASIC-kod, och använderROM-rutiner (Sinclair BASIC).
- YS MegaBasic - utvecklad1984 [2] avMike Leamanfrån Your Spectrum, harmedan, upprepa, tillsuttalanden, kommandon för att manipulera en uppsättningsprites. Utbyggnaden syftar till att underlätta skapandet av spel och utbildningsprogram. Tillsammans med programmetSprite Designerför att skapa sprites.
- PRO-DOS , en förlängning utvecklad av HJB 1985 .
- Laser BASIC , en förlängning utvecklad av Oasis Software 1986 [3] . Det var specifikt avsett för att skapa spelprogram, i vilken egenskap det blev populärt (till exempel i Ryssland skrevs spelet " Throwing Fool " av Vyacheslav Mednonogov [4] på detta språk ). Denna BASIC var en del av Laser Compact-paketet, som även inkluderade imponerande demoprogram och BASIC Laser Compiler.
- SAM BASIC , även utvecklad av Dr. Andy Wright, var BASIC-tolken för SAM Coupé -datorn och var bakåtkompatibel med ZX Spectrum-versionen av Sinclair BASIC.
- Show , ett tillägg designat inte för programmering, utan för att skapa enkla presentationsvideor. Innehåller ett demoprogram. Ytterligare operatorer låter dig skapa ticker och etiketter som rullar i valfri riktning och visas i olika typsnitt. Utbyggnaden visade sig vara efterfrågad av kabel-tv-studior, som alltså visade sitt program för dagen. Har en version anpassad för IS-DOS .
- Sinclair Extended BASIC är ett pågående retroprojekt som syftar till att skapa en förbättrad version av Sinclair BASIC (beta var tillgänglig från och med juli 2005 ).
Källor
- Vickers, Steven (1982). Sinclar ZX Spectrum BASIC Programmering . Sinclair Research.
- Ardley, Neil (1984). Sinclair ZX Spectrum+ Användarhandbok . Dorling Kindersley med Sinclair Research. ISBN 0-86318-080-9 .
- GRUNDLÄGGANDE dialekter för ZX Spectrum . - Peter, 1992. - ISBN 5-7190-0001-1 .
Länkar
Anteckningar
- ↑ Beta Basic Arkiverad 13 april 2016 på Wayback Machine på World of Spectrums webbplats
- ↑ YS MegaBasic Arkiverad 25 mars 2016 på Wayback Machine på World of Spectrums webbplats
- ↑ Laser Basic Arkiverad 26 april 2016 på Wayback Machine på World of Spectrums webbplats
- ↑ Spektrum. Emergence" (Vega) . Hämtad 3 april 2016. Arkiverad från originalet 7 december 2014. (obestämd)
Dialekter av programmeringsspråket BASIC |
---|
Klassisk |
|
---|
övergångsperiod |
|
---|
processuella |
|
---|
Objekt |
|
---|
Mobil |
|
---|
Trösta |
|
---|