Grundlæggende Vilnius

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 25. oktober 2019; checks kræver 5 redigeringer .
Grundlæggende Vilnius
Sprog klasse algoritmisk, proceduremæssig
Udførelsestype Fortolker af kompilatortypen
Dukkede op i 1985
Filtypenavn _ .BAS, COD
Type system slap
Blev påvirket MSX BASIC

BASIC Vilnius (også kendt som BASIC-86 ) er en implementering af BASIC - programmeringssproget til 16-bit hjemme- og skolecomputere med PDP-11- arkitekturprocessorer . Oprindeligt udviklet i Computing Center ved Vilnius State University (VTsKP VGU) i 1985 . Brugt på computere: DVK , BK-0010/BK-0011 , UKNTS , Nemiga .

Tilsyneladende blev BASIC Vilnius udviklet under stærk indflydelse af MSX BASIC : navnene på de fleste operatører og funktioner er de samme, såvel som fejlmeddelelseskoder. Men i Basic Vilnius er der ingen mulighed for at skrive flere udsagn på én linje, der er ingen operator PLAY, der er ingen operatorer til at indstille typen af ​​variabler DEFINT, DEFDBL osv., samt nogle andre funktioner.

I mange computere, der brugte Vilnius Basic, er der i stedet for dollar $ (kode 36 10 =24 16 ) et generaliseret valutasymbol ¤ , og alle strengvariabler og -funktioner er skrevet igennem det, f.eks MID¤.

Ydeevne

Når programmet startes af kommandoen RUN, kompileres programmet til en mellemliggende, såkaldt gevindkode . Gevindkode er faktisk en sekvens af subrutineopkaldsadresser og data for opkald. I dette tilfælde oversætter oversætteren, før programmet udføres, alle tal til intern repræsentation og alle udtryk til omvendt parentes . Når et program udføres, foretager det eksekverende system opkald til de specificerede underrutiner og overfører de forberedte data til dem. Den trådede kode er således hurtigere end den sædvanlige fortolkning (fordi udførelse af programmet ikke tager tid at "genkende" numre og navne på variabler, at transformere udtryk osv.), men langsommere end programmet i maskinkode opnået ved output real compiler.

Et kig på sproget

Et eksempel på et simpelt program:

10 CLS 20 PRINT "Hej alle sammen!" 30 SLUT

Programmet består af et sæt nummererede linjer, hver linje indeholder et udsagn. Arbejdet med at redigere teksten i programmet foregår i kommandolinjetilstand. Hold:

Sprogoperatører:

BIP OPKALD CIRKEL RYD LUK CLS FARVE DATA DEF DEF FN DEF USR DIM DRAW END FOR GOSUB GÅ TIL HVIS INPUT NØGLE LAD LINJE FIND LPRINT PÅ OPEN OUT NEXT PAINT POKE PRESET PRINT PSET LÆS REM GENDAN RETURN SKÆRM STOP TROFF TRON

Det er muligt at reducere operatorer til tre tegn, når du indtaster (for eksempel: CIRCLEdu kan reducere til CIR), og nogle, hvoraf de to første tegn ikke matcher nogen anden operator, til to ( POKE - PO). Kommandoen PRINTkan erstattes af tegnet ?. Det er også muligt at bruge kædekonstruktionen IF - THEN - mens ELSE IFman bruger forkortelserne THog EL. ELIFDen maksimale længde af en linje i programmet er begrænset til 254 tegn.

Funktioner:

SQR SIN COS TAN ATN PI EXP LOG ABS FIX INT SGN RND FRE CINT CSNG CDBL KIG INP BIN¤ OKT¤ HEX¤ CHR¤ ASC LEN STRING¤ INKEY¤ STR¤ VAL MID¤ CSRLIN POS LPOS EOF PUNKT

Basic Vilnius inkluderer muligheden for at kalde subrutiner i maskinkode . Hertil bruges konstruktionen DEF USR. Maskinkode kan indlæses af en kommando BLOADeller genereres af en operatør POKE.

Blandt manglerne ved denne BASIC er fraværet af en række kommandoer, for eksempel INSTRat søge efter forekomsten af ​​en streng i en streng, DECat oversætte det 16. tal til det 10., værktøjer til at arbejde med fejl under programafvikling, kommandoer til tegn-for-tegn input fra en fil.

Indstillinger

Basic Vilnius til BK-0010/BK-0011 optager 24 KB ROM. For at spare hukommelse blev fejltekster ikke gemt i ROM; fejl angives ikke i tekst, men i koder, for eksempel: "Fejl 2 på linje 10".

Til BK-0010 med Focal i ROM blev der oprettet en forenklet version af Vilnius BASIC, kun 9 KB i størrelse, indlæst i RAM fra en båndoptager (den første version - i 1985, den anden - i 1987). Det understøttede ikke forskellige typer tal (kun enkeltpræcisions-reals), såvel som nogle af operatørerne og funktionerne i hovedversionen, men det grundlæggende sæt af BASIC-funktioner blev implementeret. Samtidig tillod versionen af ​​det 87. år brugen af ​​flere operatører på en linje, såvel som stavemåden af ​​operatører reduceret til et eller flere første bogstaver. Derudover accelererede brugen af ​​enkelt-præcision reel aritmetik arbejdet med reelle tal flere gange i forhold til versionen for BK-0010-01 i ROM, hvilket gjorde versionen i RAM virkelig til en ekstrem hurtig BASIC implementering, når man arbejdede med variabler af denne type.

Der er tre versioner af Basic Vilnius til UKNC - versionen i ROM-kassetten tager 24 KB, versionen til download via netværket (netværket) - 28 KB, diskversionen - 30 KB. Disk- og netværksimplementeringer adskiller sig ved tilstedeværelsen af ​​tekstfejlmeddelelser. De seneste versioner går tilbage til september 1988.

Tilpasningen af ​​BASIC Vilnius til Nemiga-computeren blev tilsyneladende lavet senere og allerede i Hviderusland. Sproget i sig selv er kendetegnet ved tilstedeværelsen af ​​en operatør PLAY, der giver dig mulighed for at afspille lyde og melodier.

Interessante fakta

Litteratur

Noter

  1. M. Maksimov. Er tilfældige tal tilfældige? - Tidsskrift "Science and Life", nr. 10, 1986.
  2. https://www.youtube.com/watch?v=UJZpngjvCD8&list=PLiWLTRSJ9VmvBQHIEDEX6q8urb6Eqikwd&index=15 Arkiveret 21. september 2016 på Wayback Machine UKSC: Supplement til 80'erne PC Test Non-Game Graphics

Links