Sinclair BASIC
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Sinclair BASIC – BASIC programavimo kalbos dialektas, naudotas 8 bitų Sinclair Research ir Timex Sinclair asmeniniuose kompiuteriuose bei jų klonuose. Sinclair BASIC interpretatorius buvo sukurtas „Nine Tiles Networks“ kompanijos.
Sukurtas 1979, pradžioje jis tilpo 4 kB Sinclair ZX80 kompiuterio pastoviojoje atmintyje. Tai buvo neužbaigta 1978 metų ANSI minimalaus BASIC standarto realizacija. Vėliau Sinclair BASIC evoliucionavo Sinclair ZX81 ir TS1000 kompiuteriuose, kur buvo talpinamas jau į 8 kB ROM, ir buvo beveik galutinai užbaigtas Sinclair ZX Spectrum kompiuteryje, kuriame buvo įrašomas į 16 kB pastoviąją atmintį.
Turinys |
[taisyti] Sinclair BASIC aprašymas
[taisyti] Raktiniai žodžiai
Spectrum kompiuteryje Sinclair BASIC turėjo 86 raktinius žodžius, žyminčius komandas (kurių buvo 50), funkcijas (31) ir kitus raktažodžius (5). Jie buvo įvedami ne pažodžiui, o kiekvienas klaviatūros mygtukas atitiko keletą reikšmių, kurios buvo keičiamos perjungimo klavišais. Pavyzdžiui, BEEP komanda buvo įvedama iš pradžių kartu nuspaudus CAPS ir Symbol SHIFT, poto SYMBOL SHIFT plius Z.
- ABS, ACS, AND1, ASN, AT, ATN, ATTR, BEEP, BIN, BORDER, BRIGHT, CAT2, CHR$3, CIRCLE, CLEAR, CLOSE#2, CLS, CODE3, CONTINUE, COPY, COS, DATA, DEF FN, DIM, DRAW, ERASE2, EXP, FLASH, FN, FOR, FORMAT2, GO SUB, GO TO, IF4, IN, INK, INKEY$3, INPUT, INT, INVERSE, LEN, LET5, LINE, LIST, LLIST, LN, LOAD, LPRINT, MERGE, MOVE2, NEW, NEXT, NOT1, OPEN#2, OR1, OUT, OVER, PAPER, PAUSE, PEEK, PI, PLOT, POINT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RND, RUN, SAVE, SCREEN$3, SGN, SIN, SQR, STEP, STR$3, TAB, TAN, THEN 4, TO, USR, VAL3, 6, VAL$3, VERIFY
Komandos, kurios buvo unikalios tik ZX81 ir jo klonuose TS1000 ir TS1500 yra:
- FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (Spectrum turėjo funkciškai identiškas GO SUB, GO TO komandas)
Spectrum 128K ir Amstrad Spectrum +2, +3, +2A, +2B modeliuose BASIC komandų įvedimas jau buvo vykdomas tradiciniu būdu, užrašant juos paraidžiui. Taip pat šiuose modeliuose atsirado dvi naujos komandos, kurių senesni modeliai neatpažindavo: PLAY (veikė su nauju AY-3-8910 muzikiniu lustu) ir SPECTRUM (perjungdavo į 48K Spectrum modelio suderinamumo režimą).
[taisyti] Pastabos
- AND, NOT ir OR funkcijos yra loginės operacijos.
- CAT, ERASE, FORMAT ir MOVE iš pradžių buvo sukurti naudojimui su periferine įranga, tačiau nebuvo iki galo užbaigti. Jų naudojimas sugeneruodavo klaidos pranešimą (Invalid Stream).
- String (tekstinės eilutės duomenų tipo) kintamųjų vardai galėjo susidėti tik iš vienos raidės. „LET A=5“, „LET Apples=5“ ir „LET A$="Hello"“ yra teisingi sakiniai, tačiau „LET APPLES$="Fruit"“ bus klaidingas sakinys.
- Skirtingai nei dauguma kitų BASIC dialektų, Sinclair BASIC neturi ELSE operatoriaus sąlygos (IF) sakiniuose.
- LET yra būtinas, norint priskirti kintamajam reikšmę (pavyzdžiui, „LET A=1“, bet niekada „A=1“). Ši praktika irgi skiriasi nuo daugumos BASIC dialektų.
- VAL funkcija išreiškia ne tik skaičius, bet ir visus reiškinius, pavyzdžiui, „PRINT VAL(A$)“ išves 14, jei A$ yra lygus „3*3+4+COS(0)“.
Skirtingai nuo LEFT$(), MID$() ir RIGHT$() funkcijų plačiai naudotame Microsoft BASIC dialekte, tekstinių eilučių dalis Sinclair BASIC buvo galima pasiekti į masyvus panašiu stiliumi. Pavyzdžiui, „A$ (5 TO 10)“ atitiks A$ kintamojo tekstinės eilutės dalį nuo 5 iki 10 simbolio (imtinai).
[taisyti] Timex BASIC
Timex BASIC dialektas buvo naudojamas Spectrum suderinamuose TS2068 kompiuteriuose, bet ne TC2048, kuriame buvo naudojamas originalus Sinclair BASIC. Timex Sinclair turėjo papildomus 6 raktinius žodžius:
- DELETE, FREE, ON ERR, RESET, SOUND, STICK
- DELETE ištrina BASIC programos eilutes.
- FREE yra funkcija, grąžinanti laisvos operatyvios atminties kiekį. „PRINT FREE“ atvaizduos, kiek yra laisvos atminties tuo momentu.
- ON ERR yra klaidų atpažinimo funkcija, dažniausiai naudojama kaip „ON ERR GO TO“ arba „ON ERR GO SUB“.
- RESET neturėjo jokios paskirties pagrindiniam kompiuteriui ir buvo numatytas periferinių įrenginių pakartotinei kelčiai.
- SOUND komanda AY-3-8192 garso lustui.
- STICK – funkcija, grąžinanti vidinės vairalazdės (Timex Sinclair 2090) poziciją.
[taisyti] Praplėtimai ir variantai
- Beta BASIC, parašytas Andy Wright, iš pradžių buvo BASIC praplėtimas, bet vėliau virto į pilnavertį interpretatorių.
- SAM BASIC, taip pat parašytas Andy Wright ir buvo naudojamas SAM Coupé kompiuteriuose. Ši versija buvo atgaliniai suderinama su ZX Spectrum kompiuterio BASIC variantu.
- Sinclair Extended BASIC yra vystomas retro projektas, kurio tikslas sukurti patobulintą Sinclair BASIC versiją. Galima atsisiųsti beta versijas.
[taisyti] Šaltiniai
- Vickers, Steven (1982). Sinclar ZX Spectrum BASIC Programming. Sinclair Research.
- Ardley, Neil (1984). Sinclair ZX Spectrum+ User Guide. Dorling Kindersley kartu su Sinclair Research. ISBN 0-86318-080-9.
[taisyti] Nuorodos
- Sinclair ZX Spectrum BASIC Programming – originalus 1982 metų Steven Vickers parašytas programavimo vadovas
- Sinclair ZX81 Basic Programming – ZX81 BASIC programavimo vadovas, taip pat parašytas Steven Vickers
- Sinclair BASIC istorija