Grundläggande Vilnius

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 25 oktober 2019; kontroller kräver 5 redigeringar .
Grundläggande Vilnius
Språkklass algoritmisk, processuell
Utförandetyp Tolkar av kompilatortyp
Framträdde i 1985
Filtillägg _ .BAS, COD
Typ system slapp
Blivit påverkad MSX BASIC

BASIC Vilnius (även känd som BASIC-86 ) är en implementering av BASIC - programmeringsspråket för 16-bitars hem- och skoldatorer med PDP-11- arkitekturprocessorer . Ursprungligen utvecklad i Computing Center vid Vilnius State University (VTsKP VGU) 1985 . Används på datorer: DVK , BK-0010/BK-0011 , UKNTS , Nemiga .

Tydligen utvecklades BASIC Vilnius under starkt inflytande av MSX BASIC : namnen på de flesta operatörer och funktioner är desamma, såväl som felmeddelandekoder. Men i Basic Vilnius finns det ingen möjlighet att skriva flera satser på en rad, det finns ingen operator PLAY, det finns inga operatorer för att ställa in typen av variabler DEFINT, DEFDBL, etc., liksom några andra funktioner.

I många datorer som använde Vilnius Basic finns istället för dollarn $ (kod 36 10 =24 16 ) en generaliserad valutasymbol ¤ , och alla strängvariabler och funktioner skrivs genom den, till exempel MID¤.

Prestanda

När programmet startas av kommandot RUNkompileras programmet till en mellanliggande, så kallad gängad kod. Trådad kod är faktiskt en sekvens av subrutinsamtalsadresser och data för samtal. I det här fallet översätter översättaren, innan programmet körs, alla siffror till intern representation och alla uttryck till omvänd parentes . När ett program exekveras gör det exekveringssystemet anrop till de specificerade subrutinerna och överför förberedd data till dem. Således är den gängade koden snabbare än den vanliga tolkningen (eftersom exekveringen av programmet inte tar tid att "känna igen" numren och namnen på variabler, att transformera uttryck etc.), men långsammare än programmet i maskinkod som erhålls vid utgångens verkliga kompilator.

En titt på språket

Ett exempel på ett enkelt program:

10 CLS 20 SKRIV UT "Hej alla!" 30 SLUT

Programmet består av en uppsättning numrerade rader, varje rad innehåller ett påstående. Arbetet med att redigera texten i programmet sker i kommandoradsläget. Lag:

Språkoperatörer:

PIP RING CIRKEL CLEAR STÄNG CLS FÄRG DATA DEF DEF FN DEF USR DIM DRAW END FÖR GOSUB GOTO IF INPUT KEY LET LINE LOCATE LPRINT PÅ ÖPPNA UT NÄSTA PAINT POKE FÖRINSTÄLLDA PRINT PSET LÄS REM ÅTERSTÄLL RETURSKÄRM STOP TROFF TRON

Det är möjligt att reducera operatorer till tre tecken när du anger (till exempel: CIRCLEdu kan minska till CIR), och några, vars två första tecken inte matchar någon annan operator, till två ( POKE - PO). Kommandot PRINTkan ersättas med tecknet ?. Det är också möjligt att använda kedjekonstruktionen IF - THEN - samtidigt som man ELSE IFanvänder förkortningarna THoch . Den maximala längden på en rad i programmet är begränsad till 254 tecken. ELELIF

Funktioner:

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

Basic Vilnius inkluderar möjligheten att anropa subrutiner i maskinkod . För detta används konstruktionen DEF USR. Maskinkod kan laddas med ett kommando BLOADeller genereras av en operatör POKE.

Bland bristerna med denna BASIC är frånvaron av ett antal kommandon, till exempel INSTRatt söka efter förekomsten av en sträng i en sträng, DECatt översätta det 16:e numret till det 10:e, verktyg för att arbeta med fel under programkörning, kommandon för tecken för tecken inmatning från en fil.

Alternativ

Basic Vilnius för BK-0010/BK-0011 upptar 24 KB ROM. För att spara minne lagrades inte feltexter i ROM; fel anges inte i text, utan i koder, till exempel: "Fel 2 på rad 10".

För BK-0010 med Focal i ROM skapades en förenklad version av Vilnius BASIC, endast 9 KB i storlek, laddad i RAM från en bandspelare (den första versionen - 1985, den andra - 1987). Den stödde inte olika typer av siffror (endast enkelprecisionsrealer), liksom några av operatörerna och funktionerna i huvudversionen, men den grundläggande uppsättningen BASIC-funktioner implementerades. Samtidigt tillät versionen av det 87:e året användningen av flera operatörer på en rad, liksom stavningen av operatörer reducerade till en eller flera första bokstäver. Dessutom accelererade användningen av verklig aritmetik med enkel precision arbetet med reella tal flera gånger i förhållande till versionen för BK-0010-01 i ROM, vilket gjorde versionen i RAM verkligen till en extremt snabb BASIC-implementering när man arbetade med variabler av detta typ.

Det finns tre versioner av Basic Vilnius för UKNC - versionen i ROM-kassetten tar 24 KB, versionen för nedladdning via nätverket (nätverk) - 28 KB, diskversionen - 30 KB. Disk- och nätverksimplementeringar skiljer sig åt i närvaro av textfelmeddelanden. De senaste versionerna går tillbaka till september 1988.

Anpassningen av BASIC Vilnius för Nemiga-datorn gjordes tydligen senare och redan i Vitryssland. Språket i sig kännetecknas av närvaron av en operatör PLAYsom låter dig spela ljud och melodier.

Intressanta fakta

Litteratur

Anteckningar

  1. M. Maksimov. Är slumptal slumpmässiga? - Tidskrift "Science and Life", nr 10, 1986.
  2. https://www.youtube.com/watch?v=UJZpngjvCD8&list=PLiWLTRSJ9VmvBQHIEDEX6q8urb6Eqikwd&index=15 Arkiverad 21 september 2016 på Wayback Machine UKSC: Tillägg till 80-talets PC Test Non-Game Graphics

Länkar