Turbo BASIC XL

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 06:04, 5 sty 2006
KMK (Dyskusja | wkład)
(Błędy w Turbo BASIC-u)
← Previous diff
Wersja z dnia 09:35, 9 sty 2006
KMK (Dyskusja | wkład)
(bugs++)
Next diff →
Linia 9: Linia 9:
* porównanie dwóch funkcji CHR$ w jednym wyrażeniu jest zawsze prawdziwe, np. '''IF CHR$(1)=CHR$(2) THEN STOP''' spowoduje zatrzymanie programu. Ten sam błąd ma też [[Atari BASIC]]. * porównanie dwóch funkcji CHR$ w jednym wyrażeniu jest zawsze prawdziwe, np. '''IF CHR$(1)=CHR$(2) THEN STOP''' spowoduje zatrzymanie programu. Ten sam błąd ma też [[Atari BASIC]].
* próba wykonania potęgowania z wykładnikiem, który nie jest liczbą całkowitą dodatnią (np. '''? 10^-1''' albo '''? 10^3.5''') powoduje błąd i komunikat '''ERROR- 11 OVERFLOW'''. * próba wykonania potęgowania z wykładnikiem, który nie jest liczbą całkowitą dodatnią (np. '''? 10^-1''' albo '''? 10^3.5''') powoduje błąd i komunikat '''ERROR- 11 OVERFLOW'''.
 +* zupełnie nie działa logarytmowanie, funkcje '''LOG''' i '''CLOG''' zwracają bezsensowne wyniki.
* kontrola składni nie przyjmuje słów kluczowych '''%GET''', '''%PUT''' i '''-MOVE''' jeśli są wpisane małymi literami. * kontrola składni nie przyjmuje słów kluczowych '''%GET''', '''%PUT''' i '''-MOVE''' jeśli są wpisane małymi literami.
* kontrola składni przyjmuje zmienne tekstowe jako argumenty instrukcji '''GET''', chociaż ta może zapisywać wartości tylko do zmiennych numerycznych. * kontrola składni przyjmuje zmienne tekstowe jako argumenty instrukcji '''GET''', chociaż ta może zapisywać wartości tylko do zmiennych numerycznych.

Wersja z dnia 09:35, 9 sty 2006

Turbo BASIC XL to odmiana języka BASIC dla komputera Atari XL/XE, stworzona w 1985 roku przez niemieckiego programistę Franka Ostrowskiego i rozpowszechniona jako program public domain przez czasopismo "Happy Computer". Oprócz wersji XL istnieje też odmiana przeznaczona dla komputerów serii 400/800.

Turbo BASIC wgrywa się do pamięci RAM komputera z dysku lub taśmy. Interpreter charakteryzuje się dużą ilością rozszerzeń w stosunku do oryginalnego Atari BASIC-a, istnieje też kompilator Turbo BASIC XL Compiler.

Pierwszorzędną zaletą Turbo BASIC-a XL jest jego szybkość, programy wykonywane są od trzech do pięciu razy szybciej niż w interpreterze Atari BASIC, co jest w sporej części wynikiem tego, iż Turbo BASIC ma własny, bardzo szybki pakiet procedur zmiennoprzecinkowych, który sprawdza się świetnie w większości zastosowań.

Błędy w Turbo BASIC-u

  • uruchomienie programu: 10 TRAP 10:GET #1,A powoduje całkowite zapełnienie i "zawinięcie" się stosu procesora; instrukcja TRAP wprawdzie zdejmuje ze stosu pewną ilość danych, ale rzadko bywa to ilość właściwa. Ten sam błąd ma też Atari BASIC.
  • porównanie dwóch funkcji CHR$ w jednym wyrażeniu jest zawsze prawdziwe, np. IF CHR$(1)=CHR$(2) THEN STOP spowoduje zatrzymanie programu. Ten sam błąd ma też Atari BASIC.
  • próba wykonania potęgowania z wykładnikiem, który nie jest liczbą całkowitą dodatnią (np. ? 10^-1 albo ? 10^3.5) powoduje błąd i komunikat ERROR- 11 OVERFLOW.
  • zupełnie nie działa logarytmowanie, funkcje LOG i CLOG zwracają bezsensowne wyniki.
  • kontrola składni nie przyjmuje słów kluczowych %GET, %PUT i -MOVE jeśli są wpisane małymi literami.
  • kontrola składni przyjmuje zmienne tekstowe jako argumenty instrukcji GET, chociaż ta może zapisywać wartości tylko do zmiennych numerycznych.
  • funkcja DEC źle działa, jeśli przekazana jej liczba szesnastkowa zawiera małe litery.

Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools