DOKE (SBX)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
DOKE (SBX)
Syntax: DOKE <adr>,<n>
Parameter
<adr>: Speicheradresse, numerischer Ausdruck im Wertebereich von 0 bis 65535
<n>: numerischer Ausdruck im Wertebereich von 0 bis 65535 (16-Bit)
Einordnung
Typ: Anweisung
Kontext: System
Aufgabe: Doppel-Byte (Low/High) in Adresse schreiben
Abkürzung:
Token: $65 $4e (101 78)
Verwandte Befehle
DEEK (SBX)


Dieser Artikel beschreibt das Simons'-Basic-Extension-Schlüsselwort DOKE.

Die Anweisung DOKE schreibt einen 16-Bit-Wert im Format Low-Byte/High-Byte in eine Speicheradresse. DOKE A,N ist also ein Doppel-Byte-Poke und entspricht der Anweisungsfolge HN=INT(N/256) : POKE A,N-HN : POKE A+1,HN.

Für die Parameter <adr> und <n> sind jeweils ist Werte von 0 bis 65535 erlaubt, die als positive Ganzzahlen oder als Hexadezimalzahlen gegeben sein können. Werte außerhalb des erlaubten Bereichs führen zu einem ?ILLEGAL QUANTITY ERROR.

Ist einer der beiden Parameter keine Zahl, so erscheint die BASIC-Fehlermeldung ?TYPE MISMATCH ERROR. Sind weniger oder mehr als 2 Parameter vorhanden, wird ?SYNTAX ERROR ausgegeben.


Beispiele[Bearbeiten | Quelltext bearbeiten]

In den folgenden Beispielen wird der LOAD-Vektor ($0330-$0331) nach $C000 verlegt.

Argumente als Dezimalzahlen

DOKE 818, 49152

Mit Variablen:

LV=818 : LN=49152 : DOKE LV, LN

Argumente als Hexadezimalzahlen

DOKE $0330, $C000