| Indeks | English version
|
Liczby na tej stronie są w kodzie szesnastkowym, chyba że zanaczono inaczej.

Rysunek został wygenerowany programowo na podstawie danych wyciągniętych z pamięci ROM.
C0 SIN D0 CHR E0 THEN F0 TEST
C1 COS D1 ASCI E1 TO F1 WHO
C2 TAN D2 RND E2 STEP
C3 ASN D3 MID E3 STOP
C4 ACS D4 GETC E4 END
C5 ATN D5 RAN# E5 LETC
C6 LOG D6 KEY E6 DEFM
C7 LN D7 CSR E7 VAC
C8 EXP D8 NEXT E8 MODE
C9 SQR D9 GOTO E9 SET
CA ABS DA GOSUB EA DRAWC
CB INT DB RETURN EB DRAW
CC SGN DC IF EC RUN
CD FRAC DD FOR ED LIST
CE VAL DE PRINT EE AUTO
CF LEN DF INPUT EF CLEAR
10 5 20 D 30 T
01 Mode 11 6 21 E 31 U
02 [S] 12 7 22 F 32 V
03 [F] 13 8 23 G 33 W
04 EXE 14 9 24 H 34 X
05 <- 15 spacja 25 I 35 Y
06 -> 16 . 26 J 36 Z
07 AC 17 - 27 K
08 DEL 18 + 28 L
09 ANS 19 * 29 M
0A Init 1A / 2A N
0B 0 1B EE 2B O
0C 1 1C = 2C P
0D 2 1D A 2D Q
0E 3 1E B 2E R
0F 4 1F C 2F S
Każda zmienna (z wyjątkiem specjalnej zmiennej łańcuchowej $) zajmuje 8 bajtów (czyli 4 słowa) w pamięci RAM.
Zmienna łańcuchowa może przechowywać do 7 znaków.
Bardziej znaczący bajt pierwszego słowa zawiera wartość 60
identyfikującą zmienną łańcuchową.
Pozostałe bajty przechowują kody znaków.
Wolne miejsce wypełnione jest zerami.
Przykłady:
A$ = "" 6000 0000 0000 0000
A$ = "ABCD" 6041 4342 0044 0000
A$ = "1234567" 6031 3332 3534 3736
Zmienne numeryczne są przechowywane jako zmiennoprzecinkowe,
spakowane liczby dziesiętne.
Struktura pierwszego słowa:
Kolejne trzy słowa zawierają mantysę o wartości w przedziale
.100000000000 do .999999999999 w spakowanym formacie BCD.
Przykłady:
A = 0 0000 0000 0000 0000
A = 1 1001 1000 0000 0000 ( .100000000000E01)
A = -1 9001 1000 0000 0000 (-.100000000000E01)
A = 100 1003 1000 0000 0000 ( .100000000000E03)
A = -100 9003 1000 0000 0000 (-.100000000000E03)
A = PI 1001 3141 5926 5360 ( .314159265360E01)
A = -PI 9001 3141 5926 5360 (-.314159265360E01)
A = 0.01 0FFF 1000 0000 0000 ( .100000000000E-01)
A = -0.01 8FFF 1000 0000 0000 (-.100000000000E-01)
A = 1/3 1000 3333 3333 3333 ( .333333333333E-00)
A = -1/3 9000 3333 3333 3333 (-.333333333333E-00)
A = 1.2E1234 14D3 1200 0000 0000 ( .120000000000E1235)
A = -9.8E-1234 8B2F 9800 0000 0000 (-.980000000000E-1233)
Zmienna łańcuchowa $ może przechować do 30 (dziesiętnie)
znaków.
Łańcuch umieszczony w pamięci jest zakończony zerem.
Przykład:
$ = "ABCDEFG"
41 42 43 44 45 46 47 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1 słowo identyfikator 2000
1 słowo adres końca pamięci przechowującej zmienną
2 słowa nie używane
Na przykład zmienna A jest zapisywana jako 2000 8800 0000 0000.
1 słowo identyfikator 4000
1 słowo adres końca pamięci przechowującej zmienną
1 słowo długość łańcucha
1 słowo nie używane
Na przykład zmienna A$ zawierająca łańcuch "ABCD" jest zapisywana jako 4000 8800 0004 0000.
1 słowo identyfikator 4001
1 słowo adres zmiennej 814E
1 słowo długość łańcucha
1 słowo nie używane
Na przykład zmienna $ zawierająca łańcuch "ABCDEF" jest zapisywana jako 4001 814E 0006 0000.
Obowiązuje ten sam format jak dla liczb zapisywanych w zmiennych numerycznych.
1 słowo identyfikator 4080
1 słowo adres łańcucha
1 słowo długość łańcucha
1 słowo nie używane
Wiersz programu BASIC rozpoczyna się numerem wiersza w formacie
binarnym, przechowywanym w 2 bajtach, kończy się
znacznikiem 00.
Słowa kluczowe języka BASIC są przechowywane za pomocą jednobajtowych
kodów, wartości numeryczne jako ciąg znaków.
Przykład:
1234 FOR I=1 TO 49 STEP 1: NEXT I
D2 04 DD 4A 3D 31 E1 34 39 E2 31 3A D8 4A 00
Za każdym razem gdy wykonywana jest instrukcja FOR, na stosie FOR tworzona jest poniżej opisana struktura danych. Nie ma wskaźnika stosu, zamiast tego FOR szuka pierwszej wolnej lokacji (skasowanej zerami). NEXT sprawdza kolejno wszystkie lokacje stosu w poszukiwaniu pasującej zmiennej sterującej.
4 słowa wartość STEP
4 słowa wartość TO
1 słowo adres pierwszego znaku po instrukcji FOR, jest
to miejsce gdzie skacze pętla iteracyjna NEXT
1 słowo adres zmiennej sterującej lub 0000 gdy wpis wolny
Wykonanie instrukcji GOSUB powoduje umieszczenie adresu powrotu
(adresu pierwszego znaku po instrukcji GOSUB) na pierwszym stosie
GOSUB, oraz adresu początku linii na drugim stosie GOSUB.
Instrukcja RETURN zwalnia lokację na szczycie stosu przez zaznaczenie
jej wartością 0000.
Podobnie jak dla FOR nie jest używany wskaźnik stosu.
8000-805F 60 bajtów pamięć wyświetlacza
8060-812B 66 słów stos systemowy
używany również jako bufor obsługi błędów
(zaczyna się od adresu 8060, 40 bajtów)
812C-814D 22 słowa stos przetwarzanych wyrażeń, przechowuje kody
operatorów, rośnie w dół
używany również jako bufor łączonych łańcuchów
(zaczyna się od adresu 812F, 1F bajtów)
również łacuch zwracany przez klawisz ANS
814E-816C 1F bajtów zmienna łańcuchowa $
816D-81AC 40 bajtów bufor edycji
81AD-81B3 7 bajtów znak definiowany przez użytkownika
81B4-81C3 8 słów pierwszy stos GOSUB dla adresów powrotów,
miejsce na 8 wpisów, rośnie w górę
81C4-81D3 8 słów drugi stos GOSUB dla adresów początków linii,
miejsce na 8 wpisów, rośnie w górę
81D4-8223 28 słów stos FOR, miejsce na 4 wpisy, rośnie w górę
8224-822B 4 słowa zmienna ANS
822C-823F A słów końcowe adresy programów BASIC numer 0-9
8240
8242-8243 1 słowo kod obrabianej komendy/funkcji/operatora
8244-8247 2 słowa lokalne tymczasowe zmienne
8248-8249 1 słowo wskaźnik stosu przetwarzanych wyrażeń
824A
824C
824E-824F 1 słowo RAN# seed
8250-8251 1 słowo ilość zmiennych, inicjowane na 1A
8252-8253 1 słowo adres końca pamięci RAM
8254-8255 1 słowo pozycja błędu
8256-8257 1 słowo tryb pracy
8258-8259 1 słowo adres skoku pośredniego (gdzie kontynuować
wykonanie programu po STOP)
również lokalana tymczasowa zmienna
825A-825B 1 słowo licznik programu BASIC
również lokalana tymczasowa zmienna
825C-825D 1 słowo adres początku bieżącej linii programu BASIC
825E-825F 1 słowo poprzedni stan klawiatury
8260-8261 1 słowo wskaźnik do bufora edycji 816D
8262-8263 1 słowo stan klawiatury
8264-8265 1 słowo znaczniki
8266 1 bajt timer dla klawiatury
8267 1 bajt precyzja wydruku liczb
8268 1 bajt wybrany program
8269 1 bajt pozycja kursora
826A 1 bajt licznik nieudanych prób zidentyfikowania
wciśniętego klawisza
Od adresu 826B zaczynają się programy w języku BASIC.
Zmienne zajmują koniec pamięci RAM, zmienna A zajmuje najwyższy
adres.