Instrukcje i funkcje BASICa
(kopia strony Jacka Machury)

ABS Wartość bezwzględna z argumentu
ACS Arcus cosinus argumentu (wynik w mierze łukowej)
AND Operator iloczynu logicznego. Wartość logiczna iloczynu dwóch lub więcej wyrażeń logicznych będzie prawdą tylko wtedy, gdy wszystkie składowe wyrażenia logicznego też będą prawdziwe
ASN Arcus sinus argumentu (wynik w mierze łukowej)
AT Modyfikator ten określa współrzędne pola ekreanu, od którego rozpocząć się ma kolejny napis. Argumenty AT rozdzielone są przecinkiem, np: PRINT AT 10,12,"ZX SPECTRUM"
ATN Arcus tangens argumentu (wynik w mierze łukowej)
ATTR Dostarcza argumenty wskazanego pola (patrz SCREEN$). Przyjmuje liczbę z zakresu 0-255. Wartość ATTR=FLASH*128 + BRIGHT*64 + PAPER * 8 +INK
BEEP Wytwarza dźwięk o zadanej wysokości i czasie trwania. Pierwszy argument określa czas trwania w sekundach, drugi wysokośc tonu (dozwolone wartości od -60 do +69. Wartość 0 odpowiada tonowi C (261.63 Hz). Od tego tonu rozciąga się w dół i w górę numeracja dźwięków w odstępach półtonowych.
BIN Umożliwia wpisywanie liczb w postaci binarnej, np: POKE USR "a", BIN 10101010
BORDER Ustala barwę ramki i kolor tła
BRIGHT Umożliwia używanie rozjaśnionych kolorów
CAT Powoduje wyświetlenie zawartości kasetki. Użycie: CAT nr, nr to numer mikrodrajwa
CHR$ Działa odwrotnie do CODE. Dostarcza znaku o kodzie podanym jako argument, np: LET A$=CHR$ 65
CIRCLE Kreśli na ekranie okrąg. Argumenty to współrzędne środka okręgu (X i Y) i promień, np: CIRCLE 128,50,30
CLEAR Bez argumentu likwiduje wszystkie zadeklarowane do tej pory tablice i zmienne proste, zwalniając zajmowaną przez nie pamięć. Jeśli CLEAR posiada argument liczbowy, to oprócz wyzerowania zmiennych określany jest najwyższy adres pamięci RAM, dostępny dla interpretera BASIC
CLOSE # Zamyka strumień danych. Użycie: CLOSE #5, gdzie 5 to numer strumienia
CLS Kasuje zawartość ekranu, gasząc wszystkie jego punkty i nadając wszysytkim polom atrybuty ustawione uprzednio instrukcjami PAPER, INK, BRIGHT, FLASH
CODE Dostarcza kod znaku podanego jako argument, np: LET X=CODE "A"
CONTINUE Wznawia pracę programu
COPY Powoduje wydrukowanie na drukarce zawartości ekranu wysokiej rozdzielczości
COS Cosinus argumentu wyrażonego w mierze łukowej
DATA Pozwala umieścić w programie dane o charakterze liczbowym i tekstowym. W jedenj instrukcji DATA można zawrzeć wiele danych obu typów. Poszczególne elementy listy danych muszą być oddzielone przecinkiem. Dane tekstowe muszą być ujęte w znaki cudzysłowu. (patrz READ)
DEF FN Pozwala użytkownikowi na definiowanie własnych funkcji. Po słowie kluczowym DEF FN umieszcza się nazwę. Za nazwą należy umieścić w nawiasie parametry formalne funkcji. Po prawej stronie symbolu = należy umieścić przepis na wyznaczenie funkcji. Aby wywołać funkcję w programie wystarczy umieścić w wyrażeniu słowo kluczowe FN z następującą po nim nazwą funckji (a za nią w nawiasach parametry aktualne)
DIM Deklaruje tablicę , rezerwując niezbędną pamięć. Jedną instrukcją DIM można zadeklarować tylko pojedynczą tablicę, np: DIM T$(10,20) - deklaruje tablicę tekstową złożoną z 10 elementów, każdy o długości 20 znaków.
DRAW Wykreśla odcinki. Może mieć dwa lub trzy argumenty. Dwa pierwsze wyznaczają współrzędne końca odcinka względem jego początku. Początkiem odcinka jest ostatni punkt narysowany na ekranie poprzednią instrukcją. Trzeci argument określa kąt, utworzony przez styczne do odcinka w jego punkcie początkowym i końcowym. Kąt ten musi być podany w radianach.
ERASE Usuwa pliki z kasetki mikrodrajwa. Użycie: ERASE "m"; nr; "nazwa", m oznacza, że operacja dotyczy mikrodrajwa, nr to numer mikrodrajwa,nazwa to nazwa pliku na kasetce"
EXP Funkcja wykładnicza e do potęgi x
FLASH Służy do ustawiania atrybutu migotania
FN Służy do wywoływania zdefiniowanych przez użytkownika funkcji (patzr DEF FN)
FOR Instrukcja do tworzenia pętli, występująca zawsze z NEXT. FOR x=a to b, gdzie x to zmienna sterująca pętli, a - początkowa wartość zmiennej x, b - końcowa wartość zmiennej x.
FORMAT Formatuje nową kasetkę (do Mikrodrajwu). Użycie: FORMAT "m"; nr; "nazwa , gdzie nr - numer mikrodrajwa (1 do 8), nazwa to nazwa kasetki, litera m oznacza, że instrukcja dotyczy mikrodrajwa
GOSUB Wywołanie podprogramu przez GOSUB działa identycznie jak GOTO, a oprócz tego zapamiętuje miejsce w programie, w którym zostało wykonane. (patrz RETURN);
GOTO Skok bezwarunkowy powoduje wykonanie jako następnej pierwszej instrukcji z wiersza o numerze określonym wartością argumentu
IF Bada wartość logiczną wyrażenia zawartego między IF a THEN. Gdy wyrażenie jest prawdziwe, wykonywana jest instrukcja umieszczona po THEN.W razie fałszu wszystkie instrukcje między THEN a końcem wiersza są ignorowane i program przechodzi do pierwszej instrukcji w następnym wierszu
IN Funkcja służy do odczytywania wartości z portu wejścia/wyjścia. Użycie: LET x=IN y ,gdzie y to adres portu
INK Określa obowiązującą barwę dla wypełnienia (atramentu)
INKEY$ Testuje klawiaturę. Jeśli w chwili wywołania nie był naciśnięty żaden klawisz, wartością tej funkcji jest łańcuch pusty. W przeciwnym wypadku wartością jest pojedynczy znak, odpowiadający naciśniętemu klawiszowi
INPUT Umożliwia wprowadzanie danych z klawiatury, np: INPUT "IMIE:",I$
INT Część całkowita argumentu. Wartośćią funkcji jest największa liczba całkowita nie przewyższająca wartością argumentu. Przy argumencie dodatnim odcina część ułamkową
INVERSE INVERSE z argumentem 1 oznacza, że w wydruku kolor atramentu będzie zamieniony z kolorem tła (negatyw). Negatywowy obraz może być określany globalnie lub lokalnie w instrukcji PRINT. Wyłączenie trybu INVERSE następuje przez podanie w wywołaniu tej instrukcji argumentu 0
LEN Wyznacza długość łańcucha, będącego jej argumentem
LET Instrukcja przypisania, np. LET y=5
LINE Występuje z SAVE i INPUT. W pierwszym program zapisany instrukcją: SAVE "program" line 20, po wczytaniu będzie automatycznie uruchamiał sie od linii 20. W przypadku użycia INPUT LINE A$, interpreter nie wyświetli znaków cudzysłowu
LIST Wyświetla listing programu. Jeśli argumentem jest numer linii, to wyświetlanie listnigu zakończy się na tej linii (lub jej najbliższej)
LLIST Drukuje na drukarce listing programu
LN Logarytm naturalny argumentu. Aby uzyskać logarytm dziesiętny argumenty, wystarczy wynik podzielić przez LN 10
LOAD Ładuje program do pamięci. Użycie: LOAD "nazwa". Jeśli nie poda się nazwy, zostanie wczytany pierwszy napotkany program
LOAD CODE Umożliwia wczytanie z taśmy wybranego fragmentu pamięci. Użycie: LOAD "nazwa" CODE aaaa,nnnn, gdzie aaaa oznacza adres pierwszej komórki do której wpisać zawartość pliku, nnnn jest zaś liczbą komórek do odczytania. Można też użyć tej instrukcji bez argumentów
LOAD DATA Ładuje z taśmy zawartość tablicy.Użycie: LOAD "nazwa" DATA nazwazmiennej
LOAD SCREEN$ Wczytuje obrazek do pamięci obrazu. Użycie: LOAD "obraz" SCREEN$
LPRINT Instrukcja zastosowana zamiast PRINT powoduje, że wszystkie komunikaty będą wysyłane na drukarkę
MERGE Wczytuje do pamięci program, ale bez kasowania programu juz w niej znajdującego się
MOVE Przepisuje jednego pliku do drugiego.Użycie: MOVE #5 to #6, gdzie 5 to źródło danych, a 6 to miejsce przeznaczenia. Oprócz tego można użyc tej instrukcji, podając specyfikacje kanału
NEW Fizycznie kasuje zawarty w pamięci program i wszystkie zmienne
NEXT Występuje z instrukcją FOR i informuje interpreter, które instrukcje są zawarte w pętli
NOT Operator zmienia na przeciwną wartość logiczną wyrażenia, przed którym został umieszczony
OPEN# Otwiera strumień danych. Użycie: OPEN #5; "m"; 1; "nazwa" , gdzie 5 to numer strumienia, m oznacza, że operacja dotyczy mikrodrajwa, 1 to numer mikrodrajwa,nazwa to nazwa pliku na kasetce
OR Symbolizuje sumę logiczną. Wartość logiczna sumy logicznej dwóch lub więcej wyrażeń będzie prawdą wtedy, gdy prawdziwe będzie przynajmniej jedno ze składowych wyrażeń logicznych
OUT Umożliwia wysłanie do portu określonej wartości. Użycie: OUT adresportu,wartość
OVER Instrukcja używana przy nakładaniu na siebie różnych znaków
PAPER Określa obowiązującą barwę dla tła
PAUSE Wstrzymuje wykonywanie programu na zadany czas (w pięćdziesiątych częściach sekundy. Argument 0 powoduje przerwę o nie określonej długości.
PEEK Umożliwia odczytanie zawartości określonej komórki pamięci. Użycie: LET y=PEEK (adres)
PI Funkcja o wartości stałej, równej 3,1415927
PLOT Zapala lub gasi punkt ekranu o wskazanych współrzędnych, np: PLOT 100,150
POINT Pozwala komputerowi "widzieć" ekran. Argumenty funkcji muszą być ujęte w nawiasy, mogą być dowolnymi wyrażeniami i określają współrzędne wybranego punktu ekranu. Jeśli wskazany punkt jest wypełniony (ma barwę atramentu), wartością funkcji będzie 1, a w przeciwnym razie - 0.
POKE Umożliwia wprowadzenie do komórki pamięci określonej wartości. Pierwszy argument to adres, a drugi to wartość
PRINT Wyprowadza na ekran ciąg znaków. Mogą być to wartości liczbowe lub tekstowe. Pojedyncza instrukcja może wyprowadzić na ekran wiele elementów, lecz muszą być one oddzielone przecinkami lub średnikami.
RANDOMIZE Wpływa na pracę generatora liczb losowych uruchamianego funkcją RND. Generowana liczba jest właściwie pseudoprzypadkowa, gdyż powstaje według algorytmu. RND dostarcza więc powtarzalnych serii liczb. Po RANDOMIZE bez argumenty seria liczb pseudolosowych startuje w miejscu zupełnie przypadkowym. Przy niezerowym argumencie generator liczb losowych wraca do ściśle określonego stanu, jednoznacznie sprecyzowanego.
READ Odczytuje dane ze zbioru DATA. Po rozkazie tym wymienione są nazwy zmiennych, którym ma zostać przypisana wartość, np. READ X
REM Służy do zamieszczania objaśnień w treści programu. Po REM może być umieszczony dowolny zbiór znaków
RESTORE Dane ze zbioru DATA mogą być potrzebne w programie wielokrotnie. Wykonanie instrukcji RESTORE powoduje odczytanie danych od początku, od poerwszego elementu pierwszej linii DATA. Niekiedy celowe może być odczytywanie tylko partii danych z pominięciem początku. W tym przypadku po RESTORE podaje się numer linii, od której zacznie sie po najbliższej instrukcji READ poszukiwanie instrukcji DATA
RETURN Instrukcja powrotu z podprogramu. Jest nieodzownym dopełnieniem GO SUB. Może wystąpić jedynie w podprogramie
RND Funkcja pseudolosowa. Jej wartością jest liczba rzeczywista z przedziału 0-1 (0-0,99999999)
RUN Uruchamia program. Jako argument można podać numer linii, od której ma się program uruchamiać. Bez argumentu uruchamia program od pierwszej napotkanej linii
SAVE Zapisuje program na taśmie, np: SAVE "ZX"
SAVE CODE Umożliwia zapisanie na taśmie wybranego fragmentu pamięci. Użycie: SAVE "nazwa" CODE aaaa,nnnn, gdzie aaaa oznacza adres pierwszej komórki pamięci należy zapisać, nnnn jest zaś liczbą komórek do zapisania, np: SAVE "blok" CODE 30000,1000 zapisuje komórki od 30000 do 30999
SAVE DATA Zapisuje na taśmę zawartość tablicy.Użycie: SAVE "nazwa" DATA nazwazmiennej
SAVE SCREEN$ Zapisuje zawartość pamięci obrazu na taśme. Użycie: SAVE "obraz" SCREEN$
SCREEN$ Funkcja ta traktuje ekran jako zbiór wierszy i pól znakowych. Dostarcza jednoznakowego łańcucha, odpowiadającego zawartości wskazanego pola, np: LET A$=SCREEN$(3,20). W tym przykładzie jest to dwudzieste pole wiersza trzeciego. Gdy we wskazanym polu nie znajduje się odpowiednik żadnego ze znanych komputerowi znaków, SCREEN$ dostarcza łańcuch pusty.
SGN Funkcja znaku. Przyjmuje tylko trzy możliwe wartości: -1 dla argumentów ujemnych, 0, dla argumentu zerowego i +1 dla dodatniego
SIN Sinus argumentu wyrażonego w mierze łukowej
SQR Pierwiastek kwadratowy z nieujemnego argumentu
STEP Ustawia krok w pętli FOR NEXT. Krok ten jest to liczba o jaką zwiększa się (lub zmniejsza) zmienna sterująca pętli
STOP Przerywa wykonywanie programu, wyświetlając informację o numerze wiersza i numerze instrukcji w wierszu, w której nastąpiło zatrzymanie. Wznowienie pracy programu możliwe jest zleceniem CONTINUE
STR$ Działa odwrotnie do VAL: dostarcza tekstu przedstawiającego wartość argumentu STR$. Argument ten musi być liczbą, np: LET V$=STR$ X
TAB Tabulator, powoduje wyświetlenie kolejnego elementu, począwszy od pola określonego wartością argumenty TAB, np: PRINT TAB 10;Y TAB 20;Z (wartość Y umieszczona zostanie począwszy od dziesiątego pola, wartość Z - od 20 pola wiersza. Jeżeli aktualna pozycja w wierszu jest większa miż argument TAB, tabulacja jest ignorowana.
TAN Tangens argumentu wyrażonego w mierze łukowej
THEN Używana przy tworzeniu instrukcji warunkowych, patrz IF
TO Używa się w pętli FOR NEXT oraz przy korzystaniu z instrunkcji PRINT, gdzie umożliwia wyświetlenie określonego ciągu znaków ze zmiennej tekstowej, np: PRINT a$ (3 TO 8)
USR Funkcja USR "litera" daje w wyniku adres, w obszarze UDG (ang. User Defined Graphics), znaku ujętego w cudzysłowy. Jest używana przy definiowaniu własnych znaków
VAL Dostarcza liczbowej wartości wyrażenia zapisanego w postaci tekstu, np. LET Y=VAL A$
VAL$ Funckja podobna do VAL. Usuwa w łańcuchu zbędne cudzysłowy
VERIFY Umożliwia weryfikacje zapisu
VERIFY CODE Umożliwia weryfikację zapisu bloku pamięci (argumenty takie jak przy SAVE)
VERIFY DATA Umożliwia weryfikację zapisu tablicy (argumenty takie jak przy SAVE)