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)