PEEK

Table Of Contents
hide

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

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert