|
Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
|
| |
|
|
Referenzhandbuch |
|
|
Referenzhandbuch
|
Kapitel 20
|
Speicherzugriff
Dieses Kapitel befaßt sich mit den einfachen Kommandos, die einen Zugriff auf den Speicher des Amiga ermöglichen.
Bitte seien Sie sehr vorsichtig bei der Anwendung der Kommandos dieses Kapitels, da Sie bei unvorsichtiger
Anwendung sehr schnell einen Absturz des Amigas erzwingen können. Dies gilt besonders beim Poken und Callen.
Befehl: Poke
Syntax: Poke [.Type] Adresse, Data
Modus: Amiga/Blitz
Das Poke-Kommando plaziert das angegebene Data an eine absolute
Speicherstelle, die mit Adresse angegeben wurde. Mit dem optionalen
Type-Parameter kann der Pokewert bestimmt werden.
Beispiel:
Um ein Byte in den Speicher zu poken, verwenden Sie Poke.b, um einen Wortwert in den Speicher zu poken,
verwenden Sie Poke.w und um ein Langwort in den Speicher zu poken, benutzen Sie
Poke.l.
Strings werden mit Poke$ in den Speicher übergeben. Hierbei werden alle Zeichen des Strings bei
Data angegeben und Byte für Byte in einen fortlaufenden Speicherbereich gepoked. Als Kennzeichnung
des Stringendes wird eine Extranull gepoked.
siehe auch: Peek, Peek$, Call
Funktion: Peek
Syntax: Peek [.Type](Adresse)
Modus: Amiga/Blitz
Die Peek-Funktion gibt den Inhalt einer absoluten Speicherstelle, die mit
Adresse festgelegt wurde, wieder. Mit dem optionalen Parameter Type
kann der Wertbereich eingestellt werden.
Beispiel:
Um ein Byte zu peeken, benutzen Sie Peek.b, für ein Wort Peek.w, für
ein Langwort Peek.l. Es ist ebenfalls möglich, einen String mit Peek$ zu
übergeben. Hierbei wird Zeichen für Zeichen aus einem zusammmenhängenden Speicherbereich gelesen, bis ein Nullbyte
gefunden wird.
siehe auch: Poke, Peek$, Call
Funktion: Peeks$
Syntax: Peeks$(Adresse,Länge)
Modus: Amiga/Blitz
Peeks$ liest eine Zeichenfolge aus einem zusammenhängenden Speicherbereich ab
Adresse mit Anzahl Länge Zeichen.
siehe auch: Peek, Poke, Call
Befehl: Call
Syntax: Call Adresse
Modus: Amiga/Blitz
Call übergibt den Programmablauf an einen absoluten Speicherbereich, der mit
Adresse festgelegt wird.
BITTE BEACHTEN SIE:
Call ist nur für fortgeschrittene Programmierer gedacht. Eine falsche Anwendung kann zu erheblichen
Problemen führen (GURU ...).
Wurde eine 68000 JSR-Instruktion für die Programmübergabe verwendet, kommen Sie mit
RTS wieder ins Blitz 2 Programm zurück.
Bitte lesen Sie auch das Assembler-Kapitel in diesem Handbuch.
Beispiel:
a.l=AllocMem_ (14,1) ;Code lesen und poken
For k=0 To 12 Step 2
Read w.w
Poke.w a+k,w
Next
Call a
MouseWait
FreeMem_ a,14
Data.w $70ff,$33c0,$00df,$f180,$51c8,$fff8,$4e75
siehe auch: Peek, Poke, Peek$
|
|
|
|
|
|