Movatterモバイル変換


[0]ホーム

URL:


Přeskočit na obsah
WikipedieWikipedie: Otevřená encyklopedie
Hledání

Sinclair BASIC

Z Wikipedie, otevřené encyklopedie
Program v Basicu ZX Spectra: číslované řádky obsahujípříkazy

Sinclair BASIC jedialekt programovacího jazykaBASIC pro počítačeSinclair ZX Spectrum vyvinulý firmou Nine Tiles Networks.

Historie

[editovat |editovat zdroj]

První varianta z roku1979 byla uložena ve 4KBROM počítačeZX80. Šlo o nekompletní implementaciminimal BASICu podle normyANSI z roku1978. Vývoj pokračoval 8 KB verzí proZX81 a implementací proZX Spectrum, která se vešla do 16 KB ROM. Na počítačíchZX Spectrum +2 aZX Spectrum +3 byl použit jazykSinclair 128 BASIC, který byl rozšířený o některé příkazy a možnost psát příkazy po písmenech.[1]

Protože implementace Sinclair BASICu ponechávala vROM počítačů ZX Spectrum nevyužité místo, objevilo se několik ROM se Sinclair BASICem rozšířeným o některé možnosti. Jednou z těchto modifikací je SE BASICAndrewa Owena, který podporuje i rozšířené grafické možnosti obvoduULAplus,[2] a jehož některé rozšířené příkazy byly inspirovány obdobnými rozšířenými příkazy počítačůTK 95,Timex Sinclair 2068 a původní španělské verze počítačeSinclair ZX Spectrum 128K+.[3] Andrew Owen je také autoremOpenSE Basicu, což je varianta Sinclair BASICu vydaná pod licencíGPL v.2.[4][5][6] Sinclair BASICem byl inspirován projektSparky eZX BASIC.[7]

Jazyk

[editovat |editovat zdroj]

Zápis a spuštění programu

[editovat |editovat zdroj]

V době návrhu Sinclair BASICu bylo běžné, že se řádky programu číslovaly. Programátor musel čísla řádků zapisovat sám. Pokud se číslo řádku nezapsalo, ihned po zadánípříkazu se tento příkaz vykonal.

Spuštění programu se provádí příkazem RUN (od začátku programu), nebo RUN s číslem řádku (od daného čísla řádku). Program je možné také spustit příkazem GO TO (s číslem řádku). Pokud je program spuštěn například příkazem RUN 5, ale číslo řádku 5 neexistuje, spustí se program od následujícího vyššího čísla řádku (například 10). Program není nutné ukončovat příkazem STOP, jak to bylo běžné v mnoha jiných variantách BASICu.

Příkazy spuštěného programu seinterpretovaly, proto byl běh programu relativně pomalý a BASIC vhodný spíše prodidaktické účely. K programování her a dalšího komerčního softwaru se užívaljazyk symbolických adres a jeho kompilace do strojových instrukcí procesoru pomocíassembleru.

Klíčová slova

[editovat |editovat zdroj]

Spectrum mělo 86 klíčových slov, která byla napsána naklávesnici. Slova se psala stiskem klávesy v režimu klíčových a rozšířených klíčových slov, režim byl indikován blikajícím písmeny K či E, které představovalkurzor. Ve výčtu jsou vyznačena takto:příkazy,výrazy,funkce aostatní klíčová slova:

ABS,ACS,AND[p 1],ASN,AT,ATN,ATTR, BEEP, BIN, BORDER, BRIGHT,CAT[p 2],CHR$, CIRCLE, CLEAR,CLOSE#[p 2], CLS,CODE,CONTINUE,COPY,COS,DATA,DEF FN,DIM, DRAW,ERASE[p 2],EXP, FLASH,FN, FOR,FORMAT[p 2], GO SUB, GO TO, IF,IN, INK,INKEY$, INPUT,INT, INVERSE,LEN, LET,LINE, LIST, LLIST,LN,LOAD, LPRINT, MERGE, MOVE[p 2], NEW, NEXT,NOT[p 1], OPEN#[p 2],OR[p 1], OUT, OVER, PAPER, PAUSE,PEEK,PI, PLOT,POINT, POKE, PRINT, RANDOMIZE, READ,REM, RESTORE, RETURN,RND, RUN, SAVE,SCREEN$,SGN,SIN,SQR,STEP,STR$,TAB,TAN,THEN ,TO,USR,VAL,VAL$, VERIFY

Výrazy a příkazy, které byly pouze na počítačích ZX81,TS1000 aTS1500:

FAST, SCROLL, SLOW, UNPLOT, GOSUB/GOTO (Spectrum má GO SUB a GO TO)

Model 128K přinesl tyto příkazy:

PLAY, SPECTRUM[p 3]

Původní Španělská verze počítače ZX Spectrum 128K+ neobsahovala systém nabídek jako pozdější anglická verze a verze z ní vycházející, ale místo nich používala další přidané příkazy:

EDIT, RENUMBER, DELETE a WIDTH.[8][p 4]

Tyto příkazy ovšem není možné vložit do programu, jsou určeny pouze k přímému vykonání.[9]

Timex BASIC používaný v TS2048 a TS2068 (kompatibilních se Spectrem) má navíc těchto šest slov:

DELETE,FREE,ON ERR,RESET, SOUND,STICK

PočítačeTK 90X aTK 95 mají navíc příkazy:

TRACE aUDG.[10]

Zvláštní rysy

[editovat |editovat zdroj]
Else
[editovat |editovat zdroj]

Neexistuje operátor ELSE ve výrazu IF – THEN (– ELSE). Tedy namísto

10IFV=5THENGOTO50ELSEGOTO100

se musí zapsat

10IFV=5THENGOTO5020GOTO100
LET
[editovat |editovat zdroj]

LET je povinné. Tedy zapisuje se

10LETA=1

na rozdíl od chybného zápisu

A=1

Proměnné

[editovat |editovat zdroj]

Název proměnné typutextový řetězec musí obsahovat pouze jeden znak. Tedy

10LETA=520LETApples=530LETA$="Hello"

jsou správné, ale

LETAPPLES$="Fruit"

je chybný zápis.

Hello World

[editovat |editovat zdroj]

Velmi jednoduchý příklad programuHello world může vypadat takto:

10PRINT"Hello World"

Možnosti rozšíření syntaxe a množiny příkazů v ZX Spectru

[editovat |editovat zdroj]
Podrobnější informace naleznete v článku Rozšířená syntaxe Sinclair BASICu.

Poznámky

[editovat |editovat zdroj]
  1. abcAND, NOT a OR jsoulogické operátory.
  2. abcdefCAT, CLOSE#, ERASE, FORMAT, MOVE a OPEN# jsou příkazy a výrazy proZX Microdrive. Pokud se použijí bez tohoto zařízení, vyvolají chybu. Československý počítačDidaktik tyto příkazy využíval také pokud byla připojena disketová jednotka. Příkazy OPEN# a CLOSE# je sice možné použít i bezZX Microdrive, ale pouze v jejich omezené variantě.
  3. tyto příkazy nahradily grafické znaky pod písmeny 'T' a 'U', což někdy způsobovalo chybné zobrazení u programů, které tyto grafické znaky využívaly.
  4. Příkaz WIDTH obsahoval chybu, kvůli které ho nebylo doporučeno používat.
  5. Podobným způsoben je řešen i kompilátor assembleru pro ZX Spectrum nazvanýAssembler[12] a stejný způsob používá i zařízeníMicroSource pro vkládání instrukcí assembleru a příkazůForthu do BASICu.[13]

Reference

[editovat |editovat zdroj]
  1. 128 BASIC na World of Spectrum
  2. ZX Interface 2 - SE BASIC (3rd Party ROM Cartridge)Archivováno 25. 3. 2015 naWayback Machine. na www.fruitcake.plus.com
  3. Z80 Programmers' ChallengeArchivováno 2. 4. 2015 naWayback Machine. na compgroups.net
  4. opense-basicArchivováno 24. 9. 2015 naWayback Machine. na filewatcher.com
  5. OpenSE Basic naSpeccyWiki
  6. OpenSE BASIC naWorld of Spectrum
  7. Specifications na rk-internet.com/eZXSparky
  8. Spectrum 128 ROM Disassembly - Spanish Spectrum 128Archivováno 31. 12. 2012 naWayback Machine. na fruitcake.plus.com
  9. ZX Interface 2 - Spanish ZX Spectrum 128 Emulator ROM CartridgeArchivováno 13. 5. 2013 naWayback Machine. na fruitcake.plus.com
  10. http://microhobby.speccy.cz/010303/ord/microdigital.htm
  11. ... do you add extra commands to Basic?.Sinclair User. March 1988, čís. 72, s. 70–71.Dostupné online. 
  12. Universum. Public Domain - programy (téměř) zadarmo.ZX Magazín. 1993, čís. 1/93, s. 23–26.ISSN1210-4833. 
  13. Going Forth ....Crash. February 1986, čís. 25, s. 95–97.Dostupné online. Dostupné také na:[1]. 
  14. Spectrum 128 Extended BASICArchivováno 24. 9. 2015 naWayback Machine. na www.fruitcake.plus.com
  15. Extending BASIC.Your Spectrum. May 1984, čís. 3.Dostupné online. (anglicky) 
  16. LOGAN, Ian.Spectrum Microdrive Book. [s.l.]: Melbourne House, 1983.Dostupné v archivu pořízeném dne 2014-05-17.ISBN 0-86161-127-6,ISBN 0-86759-128-5. Kapitola Adding New Statements, s. 91–104. (anglicky) Archivováno 17. 5. 2014 naWayback Machine.

Související články

[editovat |editovat zdroj]

Externí odkazy

[editovat |editovat zdroj]
Sinclair ZX Spectrum a kompatibilní počítače a další počítače Sinclair
Sinclair ZX Spectrum
(Sinclair Research aAmstrad)
Další počítače
Sinclair Research aAmstrad
PočítačeTimex Sinclair

TS1000,TS1500,TS2068,TS2048,TC2068,TC2048 (prototypy:TS2000, TS2016, TS2048, TS2068, TS2072,TC3256)
Přestože některé z prototypovýchh počítačů mají stejné názvy jako sériově vyráběné počítače, nejedná se o stejné počítače.

Periférie Sinclair Research
a Amstrad
Periférie Timex Sinclair

kazetový magnetofonTS2020, tiskárnaTS2040, modemTS2050, rozbočovač sběrniceTS2060, varianta ZX MicrodriveTS2065, tiskárnaTS2080, joystickTS2090, digitální kazetový magnetofonTC2010, tiskárnaTC2080,Timex FDD,FDD3000,Interface RS-232, klávesniceTT3000,Joystick-Sound Unit

Počítače a periférieDidaktik
Kompatibilní počítače
NadstavbySinclair BASICu
Hardware
Integrované obvody
Porty procesoru
Disketové řadiče a páskové jednotky
Joysticky a myši
(podle způsobu připojení)
Klony počítače Sinclair ZX Spectrum,MK14,Cambridge Z88,Timex Sinclair 3068
Znaková sada ZX Spectrum,Nahrávací rutina ZX Spectra,ROM počítačů ZX Spectrum,Systémové proměnné počítačů ZX Spectrum,IM2,Emulátor počítače ZX Spectrum
Citováno z „https://cs.wikipedia.org/w/index.php?title=Sinclair_BASIC&oldid=25446838
Kategorie:

[8]ページ先頭

©2009-2025 Movatter.jp