2024. május 5., vasárnap

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Negyven éves az Altair BASIC - a Microsoft első terméke

1975 tavaszán, pár hónappal az Altair 8800 számítógép megjelenése után, a Microsoft piacra dobta első szoftverét, egy BASIC értelmezőt.

[ ÚJ TESZT ]

A 4K BASIC (3.2-es verzió) korlátai

Mivel a programnak bele kellett férnie 4kB-ba úgy, hogy még maradjon elegendő hely a BASIC forráskódnak, a változóknak, és a veremnek is, egy sor kompromisszumot kellett meghozni, ami korlátozta a program használhatóságát.

1. Nagybetűk használata

A parancsok és változók neveit csak nagybetűs írással lehet megadni. Tehát a PRINT 2+2 parancs működik, de a print 2+2 már szintaktikai hibát generál. A BASIC 4.0-ás verziója (4K és 8K változat is) már elfogadja a kisbetűs írást is.


A PRINT parancsot csak csupa nagybetűvel írva fogadja el

2. Kétbetűs hibaüzenetek

A helytakarékosság miatt minden hibaüzenet két karakterből állt. Pl.: SN = szintaktikai hiba; RG = RETURN GOSUB nélkül; /0 = osztás nullával stb. Így, az összesen 12 darab hibaüzenet elfér egy 24 bájtos táblázatban. A hosszú hibaüzenetek az Extended BASIC-ben jelentek meg (ott a 23 üzenet 407 bájtot foglal).

3. Rövid változónevek

A változók nevei egy, vagy két karakterből állhatnak. Az első karakternek betűnek kell lennie (A..Z), a második, opcionális karakternek pedig számnak (0..9). Így összesen 286 érvényes változónév érhető el. A 8K BASIC már elfogadja a hosszú változóneveket (arra kell csak figyelni, hogy ne tartalmazzon foglalt szót, pl.: a BEND már nem jó), de csak az első két karaktert veszi figyelembe. Vagyis a RETEK és a REPA ugyanazt a két változót jelenteti (ez a "feature" a C64-eseknek ez ismerős lehet – a későbbiekben ki fog derülni, miért).


A REPA és a RETEK változó ugyanaz.

4. Sztringek hiánya

A 4K BASIC nem ismeri a string típusú változót. A sztringek és a sztring-kezelő függvények (pl.: LEN, LEFT$, RIGHT$ stb.) a BASIC 8K-s verziójától érhetők el.

5. Csak float típus

Valójában nem csak sztringek nincsenek, hanem minden változó lebegőpontos típusként van ábrázolva. Ezáltal lassabb lesz a program futása olyan helyeken, ahol egyébként egész típus is elég lenne a szám ábrázolására (pl. egy FOR ciklusban), illetve emiatt nincsenek egész típusú műveleti rutinok se, a 2+2-t is lebegőpontos összeadó rutinnal (ami sokkal lassabb, mint két egész összeadása) számolja ki a BASIC.

Az előjeles egész típus az Extended BASIC-ben jelenik meg, a változó neve után írt százalék jellel lehet ezt jelezni az értelmezőnek (pl. A%=32).

6. Nincs LOAD és SAVE parancs

Mivel akkoriban a teletype és a lyukszalag író/olvasó berendezés ugyanazon a soros porton kommunikált, a program mentése úgy történt, hogy be kellett gépelni a LIST parancsot, majd még az ENTER leütése előtt a soros port kimenetét a teletype helyett a lyukszalag-íróra kellett átállítani. Így ahelyett, hogy a programlista kinyomtatásra került volna, egy üres lyukszalagra lyukasztódott.

A CLOAD és CSAVE (Casette LOAD és Casette SAVE) parancsok a 8K BASIC-ben jelentek meg, ezzel magnószalagra lehetett kimenteni, illetve betölteni a BASIC programot.

7. A legnagyobb használható sorszám a 65529

Ez nem is igazán korlát (hiszen senki nem akart hatvanezer soros programot írni – el se fért volna a memóriában), inkább csak érdekesség. A BASIC programok sorszáma kétbájtos egészként vannak eltárolva, így elvileg 65535 lehetne a legnagyobb elérhető sorszám, azonban az csak 65529, mert így rövidebb és egyszerűbb kódot lehetett írni. Érdekes módon ez a korlát még a x86-on futó GW-BASIC-ben is benne van.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • CHIP-8 – játék-engine 1977-ből

    Az RCA COSMAC VIP számítógép és a CHIP-8 nyelv bemutatója, amely még csaknem 40 év múltán is él.

  • Tévedés, hogy az M2M modern hóbort

    Sokan nem értik, miért van szükség okoseszközökre, mi ez a felhajtás az IoT körül. Az igazság az, hogy a történet korábban kezdődött, mint ahogy legtöbb olvasónk született.

  • Home computerek - első rész

    40 évvel ezelőtt jelentek meg az első nagy szériában gyártott homecomputerek, amelyek egy lavinát indítottak el.

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.