Turbo BASIC XL: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 6: Linia 6:
* 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]].
* 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]].
* 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 komendy '''? 10^-1''' powoduje komunikat '''ERROR-  11 OVERFLOW'''.
* próba wykonania potęgowania z ujemnym wykładnikiem (np. '''? 10^-1''') powoduje komunikat '''ERROR-  11 OVERFLOW'''.
* 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.
* funkcja '''DEC''' źle działa, jeśli przekazana jej liczba szesnastkowa zawiera małe litery.
* funkcja '''DEC''' źle działa, jeśli przekazana jej liczba szesnastkowa zawiera małe litery.

Wersja z 4 sty 2006, 08:07

Odmiana języka BASIC dla komputera Atari XL/XE, stworzona przez Franka Ostrowskiego, wgrywana do pamięci RAM komputera. Charakteryzuje się dużą ilością rozszerzeń w stosunku do oryginalnego Atari BASIC-a, ma też kompilator Turbo BASIC XL Compiler.

Pierwszorzędną cechą 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 ujemnym wykładnikiem (np. ? 10^-1) powoduje komunikat ERROR- 11 OVERFLOW.
  • kontrola składni nie przyjmuje słów kluczowych %GET, %PUT i -MOVE jeśli są wpisane małymi literami.
  • 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.