![]() |
Wyjście Spis treści Poprzedni Następny
Tłumaczył z angielskiego: mgr Jerzy Wałaszek, wersja 1.0 |
©2012 mgr Jerzy Wałaszek
|
W ZX Spectrum liczba jest przechowywana
w zmiennoprzecinkowej postaci dwójkowej z jednym bajtem cechy c
(1 ≤ c ≤ 255) i czterema bajtami mantysy m
Ponieważ 1/2 ≤ m < 1, to najbardziej znaczący bit ułamkowy mantysy jest zawsze równy 1. Dlatego w rzeczywistym zapisie możemy go zastąpić bitem znaku — 0 dla liczb dodatnich i 1 dla ujemnych.
Małe liczby całkowite posiadają specjalny zapis, w którym pierwszy bajt ma wartość 0, drugi jest bajtem znaku (0 lub FFh), a trzeci i czwarty są liczbą całkowitą w notacji U2 z mniej znaczącym bajtem jako pierwszym.
Zmienne liczbowe maja nazwy o dowolnej długości rozpoczynające się od litery i zawierające dalej litery i cyfry. Spacje i kody kolorów są ignorowane, a wszystkie litery zostają zamienione na małe.
Zmienne sterujące pętli FOR-NEXT posiadają nazwy jednoliterowe.
Tablice liczbowe mają nazwy jednoliterowe, które mogą być takie same jak nazwy prostych zmiennych. Mogą one posiadać dowolną liczbę wymiarów o dowolnym rozmiarze. Indeksy rozpoczynają się od 1.
Łańcuchy znakowe mogą posiadać dowolną długość. Nazwa łańcucha składa się z jednej litery, za którą jest znak $.
Tablice łańcuchów mogą posiadać dowolną liczbę wymiarów o dowolnej wielkości. Nazwa jednoliterowa tablicy łańcuchowej ze znakiem $ nie może byc taka sama jak nazwa prostego łańcucha. Wszystkie łańcuchy w danej tablicy posiadają ustaloną długość, która jest określana przez ostatni wymiar w poleceniu DIM. Indeksy rozpoczynają się od 1.
Slicing: podłańcuchy łańcuchów mogą być określane za pomocą specjalnej notacji, którą tutaj nazywamy slicer. Może on być
(i) pusty lub
(ii) wyrażeniem liczbowym lub
(iii) opcjonalnym wyrażeniem liczbowym TO opcjonalnym wyrażeniem liczbowym
a używany jest do wyrażania podłańcucha przez
a) wyrażenie łańcuchowe (slicer)
b) tablica łańcuchów (indeks,...,indeks,slicer)
co znaczy to samo co
tablica łańcuchów (indeks,...,indeks)(slicer)
Dla a) załóżmy, że wyrażenie łańcuchowe ma wartość s$.
Jeśli slicer jest pusty, to wynikiem będzie s$ traktowane jako podłańcuch samego siebie.
Jeśli slicer jest wyrażeniem liczbowym o wartości m, to wynikiem będzie m-ty znak z s$ (podłańcuch o długości 1).
Jeśli slicer posiada postać (iii), to załóżmy, że pierwsze wyrażenie liczbowe ma wartość m (ustaloną wartością jest 1), a drugie n (ustaloną wartością jest długość s$).
Jeśli 1 ≤ m ≤ n ≤ długość s$, to wynikiem jest podłańcuch s$ rozpoczynający się od m-tego znaku i kończący się na znaku n-tym. Jeśli 0 ≤ n < m, to wynikiem jest pusty łańcuch. W przeciwnym razie powstaje błąd 3.
Slicing jest wykonywany przed obliczeniem funkcji lub operacji, chyba że zastosowane zostaną nawiasy.
Podłańcuchom można przypisywać dane (zobacz na LET).
Cudzysłów w łańcuchu musi być wpisany dwukrotnie.
Funkcja | Rodzaj argumentu (x) | Wynik |
ABS | liczba | Wartość bezwzględna |
ACS | liczba | arcus cos x w radianach. Błąd A, jeśli x nie jest w zakresie od -1 do +1 |
AND | operacja
dwuargumentowa, prawy argument zawsze jest liczbą. |
|
Lewy argument jest liczbą: | ![]() |
|
Lewy argument jest łańcuchem | ![]() |
|
ASN | liczba | arcus sin x w radianach. Błąd A, jeśli x nie jest w zakresie od -1 do +1 |
ATN | liczba | Arcus tangens w radianach. |
ATTR | dwa argumenty
x
i y, oba są liczbami; ujęte w nawiasy |
Liczba będąca wartością kodów atrybutu pozycji
znakowej leżącej w wierszu x i kolumnie y. Bit 7
(najbardziej
znaczący) jest ustawiony na 1 dla mrugania, 0 dla normalnego
obrazu, bit 6 odpowiada za jasność. 1 dla podwyższonej i 0 dla
normalnej. Bity 5 do 3 są kolorem tła. Bity 2 do 0 są kolorem
tuszu. Błąd B, jeśli nie jest spełnione 0≤x≤23 i 0≤y≤31 |
BIN | ciąg zer i jedynek | To naprawdę nie jest funkcja, lecz alternatywny zapis liczb. Za BIN następuje ciąg cyfr 0 i 1, które są dwójkową reprezentacją liczby. BIN zamienia ten zapis na wartość liczby. |
CHR$ | liczba | Znak o kodzie x, zaokrąglonym do najbliższej liczby całkowitej. |
CODE | łańcuch | Kod pierwszego znaku łańcucha (0, jeśli łańcuch jest pusty) |
COS | liczba (w radianach) | cos x |
EXP | liczba | ex |
FN | FN wraz z kolejną literą wywołuje funkcję zdefiniowaną przez użytkownika (zobacz na DEF_FN). Argumenty muszą być ujęte w nawiasy; nawet gdy brak argumentów, nawiasy muszą wciąż być obecne. | |
IN | liczba | Wynikiem jest wartość odczytana przez procesor z portu x (0≤x≤FFFFh) (ładuje parę rejestrów bc wartością x i wykonuje instrukcję języka asemblera in a(c)) |
INKEY$ | żaden | Czyta klawiaturę. Wynikiem jest znak odpowiadający naciśniętemu klawiszowi (w trybie L lub C), jeśli naciśnieto dokładnie jeden klawisz, w przeciwnym razie zwraca pusty łańcuch. |
INT | liczba | Część całkowita (zawsze zaokrąglona w dół). |
LEN | łańcuch | Długość łańcucha (liczba zawartych w nim znaków). |
LN | liczba | lnex (logarytm naturalny przy
podstawie e) Błąd A, jeśli x≤0 |
NOT | liczba | 0 dla x≤0, 1 dla x=0. NOT posiada priorytet 4 |
OR | operacja
dwuargumentowa, oba argumenty są liczbami |
![]() OR posiada priorytet 2 |
PEEK | liczba | Zawartość bajtu w pamięci o adresie x
(zaokrąglonym do najbliższej liczby całkowitej). Błąd B, jeśli x nie jest w zakresie od 0 do 65535. |
PI | żaden | π = 3.14159265... |
POINT | Dwa argumenty
x
i y, oba są liczbami; argumenty w nawiasach. |
1, jeśli piksel na pozycji
(x,y) ma kolor tuszu, 0, jeśli jest w kolorze tła. Błąd B, jeśli nie jest spełnione 0≤x≤255 i 0≤y≤175 |
RND | żaden | Kolejna liczba pseudolosowa z ciągu
generowanego przez wyznaczanie potęg 75 modulo 65537,
odejmowanie 1 i dzielenie przez 65536. 0≤y<1 |
SCREEN$ | Dwa argumenty x
i y, oba są liczbami; argumenty w nawiasach. |
Znak, który pojawia się albo normalnie, albo w
negatywie na ekranie w wierszu x i kolumnie y. Jeśli znak nie zostanie rozpoznany, to wynikiem jest pusty łańcuch. Błąd B, jeśli nie jest spełnione 0≤x≤23 i 0≤y≤31 |
SGN | liczba | Znak: -1 dla liczb ujemnych, 0 dla zera lub +1 dla liczb dodatnich. |
SIN | liczba (w radianach) | sin x |
SQR | liczba | Pierwiastek kwadratowy z x. Błąd A, jeśli x<0 |
STR$ | liczba | Ciąg znaków, który zostałby wyświetlony, gdyby x było drukowane na ekranie. |
TAN | liczba (w radianach) | tg x |
USR | liczba | Wywołuje procedurę w kodzie maszynowym o adresie x. Wynikiem jest zawartość pary rejestrów bc przy powrocie do systemu BASIC. |
USR | łańcuch | Adres wzoru bitowego grafiki definiowanej przez
użytkownika, która odpowiada x. Błąd A, jeśli x nie jest pojedynczą literą od a do u lub znakiem grafiki użytkownika. |
VAL | łańcuch | Oblicza x (bez obejmujących je nawiasów), jakby
było wyrażeniem liczbowym. Błąd C, jeśli x zawiera błąd składniowy lub daje wartość łańcuchową. Możliwe są inne błędy w zależności od wyrażenia. |
VAL$ | łańcuch | Oblicza x (bez obejmujących je nawiasów) jako
wyrażenie łańcuchowe. Błąd C, jeśli x zawiera błąd składniowy lub daje wartość liczbową. Możliwe są inne błędy w zależności od wyrażenia. |
- | liczba | Negacja arytmetyczna |
Poniżej znajdują się operacje dwuargumentowe:
+ | Dodawanie (dla liczb) lub łączenie (dla łańcuchów) | ||
- | Odejmowanie | ||
* | Mnożenie | ||
/ | Dzielenie | ||
↑ | Potęgowanie. Błąd B, jeśli lewy argument jest ujemny. | ||
= | Równe |
![]() |
Oba argumenty muszą być |
> | Większe | ||
< | Mniejsze | ||
<= | Mniejsze lub równe | ||
>= | Większe lub równe | ||
<> | Różne |
Funkcje i operacje posiadają następujące priorytety:
Operacja | Priorytet |
Indeksowanie i slicing | 12 |
Wszystkie funkcje za wyjątkiem NOT i jednoargumentowego minus | 11 |
↑ | 10 |
Jednoargumentowy minus (tj. minus używany do zanegowania czegoś) | 9 |
*, / | 8 |
+, - (minus używany do odejmowania jednej liczby od drugiej) | 6 |
=, >, <, <=, >=, <> | 5 |
NOT | 4 |
AND | 3 |
OR | 2 |
a | przedstawia jeden znak |
v | przedstawia zmienną |
x, y, z | przedstawia wyrażenia liczbowe |
m, n | przedstawia wyrażenia liczbowe zaokrąglone do najbliższej liczby całkowitej |
e | przedstawia wyrażenie |
f | przedstawia obliczane wyrażenie łańcuchowe |
s | przedstawia ciąg poleceń rozdzielonych dwukropkami. |
c | przedstawia ciąg elementów kolorów, każdy
zakończony przecinkiem lub średnikiem; element koloru ma postać poleceń PAPER, INK, FLASH, BRIGHT, INVERSE lub OVER |
Zauważ, że dowolne wyrażenia są dozwolone wszędzie (za wyjątkiem numeru wiersza na początku).
Wszystkie polecenia za wyjątkiem INPUT, DEF i DATA mogą być użyte albo jako rozkazy, albo w programach (chociaż czasem są bardziej sensowne w jednej roli niż w drugiej). Rozkaz lub wiersz programu może zawierać kilka poleceń rozdzielonych dwukropkami (:). Nie ma ograniczeń co do miejsca występowania w wierszu określonych poleceń — jednakże zobacz na IF i REM.
BEEP x, y | Odtwarza nutę poprzez wbudowany głośnik przez x sekund i o wysokości dźwięku równej y półtonów ponad środkowym C (lub poniżej, jeśli y jest ujemne). |
BORDER m | Ustawia kolor obrzeża ekranu oraz kolor
tła dla dolnej części ekranu. Błąd K, jeśli m nie leży w zakresie od 0 do 7. |
BRIGHT n | Ustawia jasność znaków, które będą
następnie drukowane. n=0 dla normalnej, 1 dla podwyższonej, 8 dla przezroczystej. Błąd K, jeśli n nie jest równe 0, 1 lub 8. |
CAT | Nie działa bez podłączonej stacji Microdrive, itp. |
CIRCLE x, y, z | Rysuje okrąg o środku w punkcie (x,y) i promieniu z. |
CLEAR | Usuwa wszystkie zmienne, zwalniając zajmowaną przez nie pamięć. Wykonuje RESTORE i CLS, resetuje pozycję PLOT do lewego dolnego narożnika ekranu i czyści stos GO SUB. |
CLEAR n | Jak CLEAR, lecz umożliwia zmianę zmiennej systemowej RAMTOP na n, po czym umieszcza tam nowy stos GO SUB. |
CLOSE # | Nie działa bez podłączonej stacji Microdrive, itp. |
CLS | Czyści ekran, ustawiając na nim bieżące atrybuty kolorów. |
CONTINUE | Wykonuje dalej program od punktu
ostatniego zatrzymania z raportem różnym od 0. Jeśli był
to raport 9 lub
L, to kontynuuje wykonanie od następnego
polecenia w programie (biorąc pod uwagę skoki); w
przeciwnym razie powtarza polecenie, w którym wystąpił
błąd. Jeśli ostatni raport został wygenerowany przez
polecenie w wierszu rozkazów, to CONTINUE będzie
próbowało kontynuować ten wiersz rozkazów i albo wpadnie
w pętlę, jeśli błąd wystąpił w 0:1, da raport 0, jeśli
był w 0:2 lub da raport N,
jeśli był w 0:3 lub dalej. Na klawiaturze polecenie CONTINUE występuje jako CONT. |
COPY | Wysyła kopię 22 wierszy obrazu na
drukarkę, jeśli została podłączona, w przeciwnym razie
nic nie robi. Zauważ, że COPY nie można używać do
drukowania automatycznych listingów, które pojawiają się
na ekranie. Jeśli będzie naciśnięty klawisz BREAK, powstanie raport D. |
DATA a1 , a2 , a3 , ... | Część listy DATA. Musi być w programie |
DEF FN a (a1 . . . ak )=e | Funkcja definiowana przez użytkownika,
musi być w programie. Każde z a oraz a1 do
ak musi być albo pojedynczą literą, albo
pojedynczą literą ze znakiem $ dla argumenty lub wyniku
łańcuchowego. Jeśli nie ma argumentów, to przyjmuje postać DEF FN a()=e. |
DELETE f | Nie działa bez podłączonej stacji Microdrive, itp. |
DIM a( n1 , . . . ,nk ) | Usuwa każdą tablicę o nazwie a i tworzy nową tablicę liczbową a o k wymiarach n1,...,nk. Inicjuje wszystkie elementy na 0. |
DIM a$( n1 , . . . ,nk ) | Usuwa każdą tablicę lub zmienną
łańcuchową o nazwie a$ i tworzy nową tablicę
znakową a$ o k wymiarach n1,...,nk.
Inicjuje wszystkie elementy na " ". Można ją traktować
jako tablicę łańcuchów o stałej długości nk z
k-1 wymiarami n1,...,nk-1. Powstaje błąd 4, jeśli nie ma miejsca, aby pomieścić tablicę. Tablica jest niezdefiniowana aż do momentu użycia jej z poleceniem DIM. |
DRAW x,y | DRAW x,y,0 |
DRAW x,y,z | Rysuje linię z bieżącej pozycji PLOT,
przesuwając się o x w poziomie i o y w
pionie względem początku, jednocześnie dokonując obrotu
o kąt z. Jeśli linia wyjdzie poza ekran, powstanie błąd B. |
ERASE | Nie działa bez podłączonej stacji Microdrive, itp. |
FLASH n | Określa, czy drukowany znak będzie lub nie będzie mrugał. n=0 brak mrugania, n=1 z mruganiem, n=8 bez zmiany. |
FOR a=x TO y | FOR a=x TO y STEP 1 |
FOR a=x TO y STEP z | Usuwa każdą prostą zmienną a i
na jej miejscu tworzy zmienną sterującą pętli z
wartością x, granicą y oraz krokiem z,
oraz adresem początku pętli, który wskazuje pierwszy
rozkaz za poleceniem FOR. Sprawdza, czy wartość
początkowa jest większa (gdy krok ≥ 0) lub mniejsza
(gdy krok < 0) od granicy, a jeśli tak, to pomija treść
pętli aż do następnego polecenia NEXT
a, dając błąd 1, jeśli
go nie znajdzie. Zobacz na NEXT. Błąd 4 pojawia się, gdy nie ma miejsca na zmienną kontrolną. |
FORMAT f | Nie działa bez podłączonej stacji Microdrive, itp. |
GO SUB n | Umieszcza na stosie numer wiersza z
poleceniem GO SUB, a następnie wykonuje
GO TO n. Błąd 4 występuje, gdy w programie braknie poleceń RETURN. |
GO TO n | Skacze do wiersza n (a jeśli takiego nie ma w programie, to do pierwszego wiersza za nim). |
IF x THEN s | Jeśli x jest prawdziwe
(niezerowe),
to s zostaje wykonane. Zauważ, że s
obejmuje wszystkie polecenia do końca tego wiersza. Postać IF x THEN numer wiersza jest niedozwolona. |
INK n | Ustawia kolor tuszu znaków, które dalej
będą drukowane. n jest w zakresie 0 do 7 dla
koloru, n = 8 dla przezroczystości lub 9 dla
kontrastu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest w zakresie od 0 do 9. |
INPUT ... | ' .
. . ' jest ciągiem elementów INPUT rozdzielonych,
jak w poleceniu PRINT, za pomocą przecinków,
średników lub apostrofów. Elementem INPUT może
być: (i) Dowolny element PRINT nie
rozpoczynający się od litery Elementy PRINT i separatory w (i) są traktowane dokładnie jak w PRINT, z wyjątkiem tego, że wszystko jest wyświetlane w dolnej części ekranu. Przy (ii) komputer zatrzymuje program i czeka na
wprowadzenie wyrażenia z klawiatury, którego wartość
zostanie następnie przypisana podanej zmiennej.
Wprowadzane dane są wyświetlane w normalny sposób, a
błąd składniowy daje mrugający znak ?. Dla wyrażeń typu
łańcuchowego w buforze wejściowym zostają umieszczone
dwa znaki cudzysłowu (które w razie potrzeby można
wymazać). Jeśli pierwszym znakiem w buforze będzie
STOP,
program zatrzyma się z błędem H.
(iii) jest jak (ii), za wyjątkiem tego, że dane
wejściowe są zawsze traktowane jak tekst bez
cudzysłowów, a STOP nie zadziała: aby zatrzymać program,
musisz nacisnąć klawisz
|
INVERSE n | Steruje negatywem znaku, który zostanie
następnie wydrukowany. Jeśli n=0, to znak zostanie
wydrukowany w normalny sposób w kolorze tła i tuszu.
Jeśli n=1, to znaki będą drukowane z zamienionymi
kolorami tła i tuszu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest równe 0 lub 1. |
LET v=e | Przypisuje wartość e zmiennej v. LET nie można opuszczać. Prosta zmienna jest niezdefiniowana, jeśli nie nadano jej wartości w poleceniach LET, READ lub INPUT. Jeśli v jest indeksowaną zmienną łańcuchową lub zmienną łańcuchową ze slicingiem (podłańcuchem), to przypisanie odbywa się wg zasad Prokrusta (stała długość): wartość łańcuchowa e jest albo przycinana, albo wypełniana spacjami z prawej strony, aby miała taką samą długość jak zmienna v. |
LIST | LIST 0 |
LIST n | Wyświetla w górnej części ekranu listing programu rozpoczynając od wiersza o numerze co najmniej n oraz czyniąc wiersz n wierszem bieżącym (umieszcza w nim kursor programu). |
LLIST | LLIST 0 |
LLIST n | Jak LIST, lecz z użyciem drukarki. |
LOAD f | Ładuje program i zmienne |
LOAD f DATA () | Ładuje tablicę liczbową |
LOAD f DATA $() | Ładuje tablicę znakową $ |
LOAD f CODE m,n | Ładuje co najwyżej n bajtów, poczynając od adresu m. |
LOAD f CODE m | Ładuje wszystkie bajty, poczynając od adresu m |
LOAD f CODE | Ładuje bajty z powrotem pod adres, z którego zostały zapisane. |
LOAD f SCREEN$ | LOAD f
CODE 16384,6912. Szuka na taśmie magnetofonowej podanego pliku o właściwym rodzaju i ładuje go do pamięci ekranu. Zobacz do Rozdziału 20. |
LPRINT | Jak PRINT, lecz z wykorzystaniem drukarki. |
MERGE f | Jak LOAD f, lecz nie usuwa wierszy i zmiennych starego programu. Po wczytaniu zastępuje nowymi wierszami programu wszystkie stare o tych samych numerach. Zastępuje również nowymi zmiennymi wszystkie stare o tych samych nazwach. |
MOVE f1,f2 | Nie działa bez podłączonej stacji Microdrive, itp. |
NEW | Rozpoczyna od nowa pracę systemu BASIC, usuwając program i zmienne i używając pamięci aż do adresu wskazywanego przez zmienną systemową RAMTOP. Zachowuje zmienne systemowe UDG, P_RAMT, RASP i PIP. |
NEXT a (i) | Znajduje zmienną sterującą (i) Dodaje krok pętli do wartości zmiennej (iii) Jeśli krok ≥ 0 i wartość > granica; lub jeśli krok < 0 i wartość < granica, to skacze do polecenia na początku pętli. Błąd 2 powstaje, gdy nie ma zmiennej a (nie została zdefiniowana przez FOR). Błąd 1 powstaje, jeśli jest taka zmienna, lecz nie jest zmienną sterującą pętli. |
OPEN # | Nie działa bez podłączonej stacji Microdrive, itp. |
OUT m,n | Wysyła bajt n do portu m
na poziomie procesora. (Ładuje parę rejestrów bc
wartością m, rejestr akumulatora a
wartością n i wykonuje instrukcję języka
asemblera out (c),a.) 0≤m≤65535, -255≤n≤255, inaczej błąd B. |
OVER n | Steruje nadpisywaniem znaków, które
będą dalej drukowane. Jeśli n=0, to nowe znaki
zastępują poprzednie na danych pozycjach znakowych.
Jeśli n=1, to nowe znaki zostaną zmieszane ze
starymi przy pomocy funkcji sumy symetrycznej - tam,
gdzie w nowym i starym znaku są punkty w kolorze tła lub
tuszu, powstaje punkt w kolorze tła. W przeciwnym razie
rysowany jest punkt w kolorze tuszu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest równe 0 lub 1. |
PAPER n | Jak INK, lecz ustawia kolor tła znaków. |
PAUSE n | Zatrzymuje obliczenia i wyświetla obraz
przez n ramek (przy 50 ramkach na sekundę lub 60
w Północnej Ameryce) lub do czasu naciśnięcia jakiegoś
klawisza. 0≤nc≤65535, inaczej błąd B. Jeśli n=0, to pauza trwa aż do naciśnięcia klawisza. |
PLOT c;m,n | Rysuje punkt w kolorze tuszu
(o ile nie
zastosuje się OVER i
INVERSE) na współrzędnych (|m|, |n|);
przesuwa pozycję PLOT. O ile elementy kolorów c
nie określą inaczej, kolor tuszu na pozycji znakowej
zawierającej rysowany punkt zostanie ustawiony na kolor
ustalony, a inne atrybuty (kolor tła, miganie i jasność)
pozostaną niezmienione. 0≤|m|≤255, 0≤|n|≤175, inaczej błąd B. |
POKE m,n | Zapisuje wartość n do bajtu w
pamięci o adresie m. 0≤m≤65535, -255≤n≤255, inaczej błąd B. |
PRINT ... | ' . . . ' jest ciągiem elementów
PRINT rozdzielonych przecinkami, średnikami lub
apostrofami, które zapisuje się do obszaru ekranu w celu
wyświetlenia na telewizorze. Średnik pomiędzy dwoma elementami nie ma na nie wpływu i służy jedynie do ich rozdzielenia. Przecinek wysyła na ekran znak sterujący, który powoduje wysyłanie spacji, aż pozycja PRINT osiągnie kolumnę 0 lub 16 (zależy, która będzie osiągnięta szybciej). Apostrof wysyła znak ENTER (koniec wiersza), który powoduje przejście z wydrukiem na początek następnego wiersza ekranu (z możliwym przesunięciem treści w górę, jeśli pozycja druku wychodzi poza dolną krawędź obrazu). Jeśli polecenie PRINT nie kończy się przecinkiem lub średnikiem, to na jego końcu zostaje wysłany na ekran znak ENTER. Element PRINT może być: (i) pusty, tj. może wcale nie wystąpić; (ii) wyrażeniem liczbowym - wtedy najpierw jest drukowany znak minus, jeśli wartość wyrażenia jest ujemna. Teraz niech x będzie wartością bezwzględną tego wyrażenia. Jeśli x≤10-5 lub x≤1013, to zostanie wydrukowane przy pomocy zapisu naukowego. Część mantysy ma do 8 cyfr (bez zer końcowych), a kropka dziesiętna (nieobecna przy tylko jednej cyfrze) jest umieszczana za pierwszą cyfrą zapisu mantysy. Część cechy rozpoczyna się literą E, za którą występują znaki + lub -, a następnie jedna lub dwie cyfry. W przeciwnym wypadku x jest wyświetlane w zwykłym zapisie dziesiętnym do ośmiu cyfr znaczących, bez zer końcowych za kropką dziesiętną. Po kropce dziesiętnej na początku zawsze występuje zero, jeśli jest konieczne, zatem przykładowo liczby .03 i 0.3 zostaną tak właśnie zapisane. 0 jest zapisywane jako pojedyncza cyfra 0. (iii) wyrażeniem łańcuchowym. Tokeny (nazwy poleceń i funkcji) są wypisywane w łańcuchu w pełnej postaci, możliwe że ze spacją przed lub po nazwie. Znaki sterujące posiadają swój efekt sterujący. Znaki nierozpoznane są wyświetlane jako ?. (iv) AT m,n. Wyprowadza na ekran znak sterujący AT, za którym występuje jeden bajt dla m (numer wiersza) oraz jeden dla n (numer kolumny). Powoduje wydruk następnych elementów od wiersza m i kolumny n. (v) TAB n.
Wyprowadza na ekran znak sterujący TAB, za którym
występują dwa bajty wartości n
(mniej znaczący bajt jako pierwszy). Drukuje
spacje, aż do zatrzymania się na kolumnie o numerze
(n modulo 32). |
RANDOMIZE | RANDOMIZE 0 |
RANDOMIZE n | Ustawia zmienną systemową
(zwaną SEED) używana do
tworzenia następnej wartości funkcji RND. Jeśli n≠0,
zmiennej SEED zostaje nadana wartość n; jeśli
n=0, zmiennej tej zostaje nadana zawartość innej
zmiennej systemowej (zwanej FRAMES),
która zlicza ramki obrazu wyświetlone dotychczas na
ekranie telewizora, zatem powinna być dosyć przypadkowa. Na klawiaturze RANDOMIZE pojawia się jako RAND. Błąd B powstaje, gdy n nie jest w zakresie od 0 do 65535. |
READ vl , v2 , . . . vk | Przypisuje zmiennym kolejne wartości z
listy DATA. Błąd C, jeśli typ przypisywanego wyrażenia jest niezgodny z typem zmiennej (liczba do łańcucha lub odwrotnie). Błąd E, jeśli lista DATA skończy się przed przypisaniem wartości dla wszystkich zmiennych. |
REM . . . | Bez efektu. "..." może być dowolnym ciągiem znaków, z wyjątkiem ENTER. Może on zawierać :, zatem za REM nie są możliwe żadne polecenia w tym samym wierszu programu. |
RESTORE | RESTORE 0 |
RESTORE n | Przewija wskaźnik danych DATA do pierwszego polecenia DATA w wierszu o numerze co najmniej n: następny odczyt danych poleceniem READ rozpocznie się od tego miejsca. |
RETURN | Pobiera odwołanie
(numer wiersza oraz numer polecenia w wierszu) do
polecenia ze stosu GO SUB, a następnie skacze do
następnego polecenia za tym odwołaniem. Błąd 7 pojawia się, gdy na stosie nie ma odwołania do polecenia. W twoim programie musi być jakaś pomyłka. Nie ma odpowiedniej równowagi pomiędzy poleceniami GO SUB a poleceniami RETURN. |
RUN | RUN 0 |
RUN n | CLEAR, a następnie GO TO n |
SAVE f | Zapisuje na taśmie program i zmienne. |
SAVE f LINE m | Zapisuje na taśmie program i zmienne tak, że po załadowaniu następuje automatyczny skok do wiersza o numerze m. |
SAVE f DATA () | Zapisuje na taśmie tablicę liczbową. |
SAVE f DATA $() | Zapisuje na taśmie tablicę znakową $. |
SAVE f CODE m,n | Zapisuje na taśmie n bajtów, poczynając od adresu m. |
SAVE
f SCREEN$
|
SAVE f
CODE 16384,6912. Zapisuje treść ekranu na taśmie, nadając plikowi nazwę f. Błąd F, jeśli f jest pustą nazwą lub zawiera ponad dziesięć znaków. Zobacz do Rozdziału 20. |
STOP | Zatrzymuje program z raportem 9. CONTINUE spowoduje kontynuowanie wykonywania programu od następnego polecenia. |
VERIFY | Takie samo jak LOAD
z wyjątkiem tego, że dane nie zostają załadowane do
pamięci RAM, lecz porównane z tym, co się w niej już
znajduje. Błąd R, jeśli porównanie wykrywa różne bajty. |
![]() | I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe