PEEK
PEEK | |
Syntax: | PEEK(<Speicheradresse>) |
Parameter | |
<Speicheradresse>: Speicheradresse, die ausgelesen wird | |
Einordnung | |
Typ: | numerische Funktion |
Kontext: | System |
Aufgabe: | Auslesen einer Speicheradresse |
Abkürzung: | pE |
Token: | $c2 (194) |
Verwandte Befehle | |
POKE, WAIT |
Anmerkung: Dieser Artikel beschreibt die numerische BASIC-Funktion PEEK unter BASIC V2 des Commodore 64.
Mit der BASIC-Funktion PEEK() kann eine beliebige Speicheradresse (siehe Speicherbelegungsplan) von 0 bis 65535 ausgelesen werden. Nicht ganzzahlige Werte werden implizit analog zu INT in eine entsprechende Ganzzahl umgewandelt. Liegt die Speicheradresse nicht in dem oben angegebenen Bereich, erscheint die BASIC-Fehlermeldung ?ILLEGAL QUANTITY ERROR.
Der Inhalt der adressierten Speicherstelle wird stets ein Zahlenwert von 0 bis 255 (Wertebereich eines Bytes) zurückgegeben.
Beispiele[Bearbeiten | Quelltext bearbeiten]
PRINT PEEK(53280)
Der Zahlenwert oder Bildschirmrahmenfarbe wird angezeigt.
POKE 53280, PEEK(53281)
Bildschirmrahmenfarbe wird gleich der Hintergrundfarbe gesetzt.
A = PEEK(53281)
Wert der Hintergrundfarbe wird in Fließkommavariable A abgelegt.
PRINT PEEK(646) AND 15
Die aktuelle Textfarbe wird angezeigt, jedoch mit der Einschränkung, dass diese nur Zahlen zwischen 0 bis 15 wiedergibt.
10 A = PEEK(197): IF A=64 THEN 10 20 PRINT "DIE GEDRUECKTE TASTE HAT DEN WERT: "; A 40 IF A=46 THEN END 30 IF A<>0 THEN 10
Liest die aktuell gedrückte Taste aus der Tastatur aus. Wird keine Taste gedrückt ist der Wert 64. Mit der Taste @ (Tastencode 46) oder DEL (Tastencode 0) kann das Programm ordentlich beendet werden. Weiterhin kann mit der Taste RUN/STOP abgebrochen werden.
B = PEEK(43) + PEEK(44) * 256
Zeigeradresse auslesen/bilden: Es wird der Anfang des BASIC-Programmspeichers ausgelesen, die Adresse gebildet (Low-Byte + High-Byte * 256, siehe auch Beispiel (DEEK, Double Peek) einer DEF-FN-Implementierung) und diese in der Variable B abgelegt (generell sollte hier keine Ganzzahlvariable verwendet werden, da diese keine Adressen größer 32767 aufnehmen kann!). Der BASIC-Anfang liegt üblicherweise bei Speicheradresse 2049.
Für weitere Beispiele siehe auch jene des BASIC-Befehls POKE.
ABS | AND | ASC | ATN | CHR$ | CLOSE | CLR | CMD | CONT | COS | DATA | DEF | DIM | END | EXP | FN | FOR | FRE | GET | GET# | GOSUB | GOTO | IF | INPUT | INPUT# | INT | LEFT$ | LEN | LET | LIST | LOAD | LOG | MID$ | NEW | NEXT | NOT | ON | OPEN | OR | PEEK | POKE | POS | PRINT | PRINT# | READ | REM | RESTORE | RETURN | RIGHT$ | RND | RUN | SAVE | SGN | SIN | SPC | SQR | STATUS/ST | STEP | STOP | STR$ | SYS | TAB | TAN | THEN | TIME/TI | TIME$/TI$ | TO | USR | VAL | VERIFY | WAIT