Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen finden sich unter LOAD (Begriffsklärung). |
LOAD | |
Format: | LOAD [<Programmname>] [,<Gerätenummer>] [,<Sekundäradresse>] |
Parameter | |
<Programmname>: Zeichenketten-Ausdruck, der den Programmnamen enthält | |
<Gerätenummer>Schuhe Adidas Adidas Jeans B42228 Cblacktrablugum5 B42228 Jeans Cblacktrablugum5 Schuhe mn0y8ONwv: numerischer Ausdruck im Wertebereich von 1 bis 255 | |
<Sekundäradresse>: numerischer Ausdruck im Wertebereich von 0 bis 255 | |
Einordnung | |
Typ: Adidas Ba7215 Schuhe xr1 Herren Nmd Primeknit EHDWI29Y | Anweisung |
Kontext: | BASIC-Editor |
Aufgabe: | Programme in den RAM-Speicher laden |
Abkürzung: Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu | lO |
Verwandte Befehle | |
SAVE, VERIFY |
Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl LOAD unter BASIC V2 des Commodore 64Nets GoodyearOriginals Cap Adidas Utility Greygold UMpqSVzG.
Mit dem
BASIC-Befehl
LOAD
werden Programmdateien (PRG), z.B. BASIC- oder
Maschinensprache-Programme, von
Datasette
oder
Diskette
in den
RAM-Speicher geladen. Bevor diese bearbeitet werden oder mit BASIC-Befehlen wie
RUN
oder
SYS
ausgeführt werden können.
Mit der Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu Gerätenummer wird bestimmt, ob ein Programm von Datasette (Gerätenummer 1), Diskette (Gerätenummer 8-30, norm. erstes Diskettenlaufwerk 8 und zweites Diskettenlaufwerk 9 usw.) oder einem anderen Datenträger wie z.B. einer Festplatte eingelesen wird. Fehlt die Gerätenummer, so wird auf das im Betriebssystem (KERNAL) verankerte Standardeingabegerät (beim originalen Commodore-Betriebssystem die Datasette) zugegriffen. Geräteadressen im Bereich von 4-62 führen für nicht vorhandene Geräte zur Fehlermeldung ?DEVICE NOT PRESENT ERROR . Werte 0, 2 und 3 rufen ein ?ILLEGAL DEVICE ERROR hervor, während Werte außerhalb des Bereichs 0 bis 255 mit der Fehlermeldung ?ILLEGAL QUANTITY ERROR abbrechen.
Der Programmname, als
Zeichenkettenausdruck
verstanden, wählt die entsprechend zu ladende Datei am Datenträger aus, wobei auch
Jokerzeichen
wie '*' oder '?' eingesetzt werden können. Die Eingabe von
LOAD
"0:*",8
bzw.
LOAD
":*",8
Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu
lädt von Gerät Nr. 8 und Laufwerk 0 (ein Selektor im Falle von
Doppellaufwerken) die erste PRG-Datei laut
Disketteninhaltsverzeichnis. Bei
LOADSchuhe Mit Blumen Adidas Adidas Schuhe Mit PwOkXN8n0Z
"*",8
wird unmittelbar nach dem Einlegen der Diskette ins
Laufwerk
oder nach einer
Floppy-Initialisierung
die erste PRG-Datei oder sonst die zuletzt geladene Datei geladen. In der gewöhnlichen Form kann beispielsweise mit
LOAD
"ABC*",8
der erste Dateiname beginnend mit ABC geladen werden.
Der Spezialfall
LOAD "$",8
bewirkt das Abrufen des
Disketteninhaltsverzeichnisses, das sich wie ein normales BASIC-Programm mittels
LIST-Befehl sichten lässt und dabei ein im Speicher vorhandenes BASIC-Programm zerstört.
Durch die Angabe der Sekundäradresse 1 (
LOAD
"NAME",8,1
) wird ein Programm absolut geladen, d.h. es wird an die Stelle im Speicher geladen, die der gespeicherten Ladeadresse entspricht (z.B. durch Speicherung mit dem BASIC-Befehl
SAVEOriginals White Climacool Adidas Herren Schuhe Sneakers Bz0249 0217 6ImbfgvY7y). Dies ist z.B. für Maschinenspracheprogramme erforderlich, die nur an einer bestimmten Stelle im Speicher ausführbar sind und dabei das gerade aktive BASIC-Programm nicht überschreiben sollen.
Fehlt die Sekundäradresse oder ist sie Null, wird das Programm immer an den BASIC-Anfang (beim
C64
i.d.R. die
Speicherstelle 2049 bzw. $0801
des RAMs) geladen.
Im
Direktmodus
ausgeführt, schließt
LOAD
alle offenen Dateien und führt den BASIC-Befehl
CLR
aus und passt die BASIC-Programmende an das Ende der geladenen Datei an, was bei Nicht-BASIC-Programmen zu unerwarteten Ergebnissen führen kann (z.B. zum Fehler
?OUT OF MEMORY ERROR
).
Im Programmmodus dagegen wird der
Stapelspeicher
(Stack) gelöscht, dabei aber das BASIC-Programmende nicht geändert und nach dem Laden des Programms das nachladende BASIC-Programm automatisch ähnlich RUN mit der ersten Zeile gestartet. Hier bleiben aber sämtliche
Variablen
erhalten, sofern sie nicht vom nachgeladenen Programm überschrieben bzw. dabei der Variablenbereich korrumpiert wurde (siehe
Beispiele
Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu
).Im Gegensatz zum direkten Ansprechen der Programmdateien mit dem Dateinamen bei Disketten, reicht es beim Umgang der Datasette für den Zugriff auf Datenkassetten, den BASIC-Befehl LOAD einzugeben oder die Tasten SHIFT +RUN/STOP zu drücken. Danach kann die <PLAY>-Taste der Datasette gedrückt werden und es wird die erste gefundene Datei eingelesen. Jedes dabei gefundene Programm wird zuerst nach einigen Sekunden mit FOUND Dateiname angezeigt, bevor es geladen wird. Mit der Taste C= (Commodore-Logo) oder auch SPACE (Leertaste) wird der Ladevorgang der aktuellen Datei unverzüglich fortgesetzt, bevor die Pause mit der Programmfundanzeige automatisch beendet wird. Die Datasette stoppt selbsttätig, wenn das Programm komplett eingelesen ist oder das Ende des Bandes erreicht ist. Während des Ladens von Programmen von Kassette wird der Bildschirm bei der originalen Commodore-Laderoutine abgeschaltet. Dies macht das Commodore-Betriebssystem beim Einlesen von Disketten oder von anderen Datenträgern nicht.
Die BASIC-Fehlermeldung ?FILE NOT FOUND ERROR wird ausgegeben, wenn der Dateiname des Programms nicht existiert oder es keine Programmdatei ist. Die Systemvariable ST kann spezifische Fehlerbits gesetzt haben und bei Diskettenlaufwerken weist der Originals Schweiz Eqt Adv Adidas Billige Support gIybf7Y6vmFehlerkanal zusätzlich eine entsprechende Fehlermeldung auf.
Die maximale sinnvolle Länge - LOADSneaker Shop Weiß BestellenOpus Stan Smith Adidas Luxe Online hQtrdCxs selbst schränkt die Länge nicht ein - eines per LOAD geladenen und mit RUN gestarteten Programms beträgt im Normalfall etwa 51 KByte bzw. 202 Blöcke. Dabei handelt es sich um den Speicherbereich von $0801 bis $CFFF, wobei die obere Grenze der I/O-Bereich ab $D000 (siehe Speicherbelegungsplan) vorgegeben wird. Daten, die in den Bereich von $A000 bis $BFFF gelangen, werden von LOAD dabei in das RAM "unter" das BASIC-ROM geladen und sind von BASIC aus nicht sichtbar. Entsprechend sind Programme dieser Länge nicht selten Maschinenspracheprogramme oder auch kombiniert mit Daten, die z.B. mittels Assembler oder Compiler erzeugt wurden und auch dann auch von Maschinespracheprogrammen verwendet werden. Die maximale Länge eines BASIC-Programms beträgt in der Praxis unter 39 KByte bzw. 153 Blöcke (bis $9FFF), typischerweise weniger, da im gleichen Speicherbereich auch die Variablen liegen müssen.
Intern öffnet LOAD die jeweilige Datei vom Laufwerk (beim seriellen Zugriff) immer mit Sekundäradresse $60/96. Der Sekundäradressen-Parameter von LOAD wird also dem Laufwerk nicht übermittelt und nur genutzt, um die Behandlung der Ladeadresse festzulegen.
Beispiele [ Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu Bearbeiten ]
LOAD "DATEINAME",8
Lädt das Programm von Diskette im 1. Diskettenlaufwerk, mit Gerätenummer 8.
LOAD "DATEINAME",9,1
Lädt das Programm "absolut" von Diskette im 2. Diskettenlaufwerk, mit Gerätenummer 9.
LOAD FILE$,1,1 Scott Metro Online Jeremy Attitude Selling Expense Hot Hi Adidas lTJuKF13c
Lädt das Programm, dessen Name in Zeichenkette FILE$ abgelegt ist, absolut von Datasette.
10 REM MC-BIBLIOTHEK LADEN 20 IF PEEK(49152)<>169 THEN LOAD "LIB",8,1 30 SYS 49152 : REM BIBLIOTHEK INITIALISIEREN
Lädt ein zum BASIC-Programm gehörende Hilfsbibliothek, die z.B. per SYS aufrufbar Hilfsfunktionen enthält. Diese wird nur geladen, wenn sie sich noch nicht im Speicher befindet. Erkannt wird dies hier einfach am ersten Byte des geladenen Programms, dass hier mit dem Byte-Wert 169 festgelegt ist.
- Einfaches Vorladeprogramm
10 Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu REM JUMP&RUN-SPIEL VORLADEPROGRAMM 20 A=A+1: PRINT "PROGRAMMTEIL" A 30 IF A=1 THEN LOAD "MUSIK",8,1 40 IF A=2 THEN LOAD "SPRITES",8,1 50 IF A=3 THEN Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu LOAD "GRAFIK",8,1 60 IF A=4 THEN LOAD "LEVEL1",8
Bei diesem Vorladeprogramm werden zunächst die Daten (MUSIK, SPRITES, GRAFIK) von dem Diskettenlaufwerk mit der Gerätenummer 8 absolut in den Speicher geladen, bevor schließlich das Hauptprogramm "LEVEL1" als BASIC-Programm geladen wird, als solches das Vorladeprogramm überschreibt und anschließend gestartet wird.
Zudem wird sich hier zunutze gemacht, dass die Variablen beim Aufruf von
LOAD
im Programmmodus erhalten blieben. Das nächste Beispiel macht das Gleiche, allerdings mit einem allgemeineren Ansatz.
- Modernes Vorladeprogramm mit Ladeanzeige
0 REM JUMP&RUN-SPIEL VORLADEPROGRAMM 10 D=8: N=4: DATA "MUSIK", "SPRITES", "GRAFIK", "LEVEL1" 20 A = A+1: REM VARIABLE A BLEIBT NACH Damenschuhe Adidas Boost Online Günstig KaufenLadenzeile XiPkZu LOAD erhalten 30 FOR I=1 TO A: READ F$: NEXT 40 IF A=1 THEN PRINT CHR$(147)"BITTE WARTEN PROGRAMM WIRD GELADEN..." 50 PRINT INT(100*A/N)"%", F$: REM PROZENTANGABE UND DATEINAME 60 IF A=N THEN LOAD F$,D : REM BASIC STARTEN 70 LOAD F$,D,1 : REM TEIL LADEN
Im Wesentlichen wie das vorige Beispiel, allerdings generischer und mit Fortschrittsanzeige:
Die Dateinamen sind in der
DATA-Zeile enthalten. Die
Gerätenummer
befindet sich in der Variable D.
Implementierungsanmerkungen:
-
Die Variable N speichert die Anzahl der zu ladenden Dateien.
- Jeder Ladeschritt wird mit einer Fortschrittsanzeige als Prozentwert begleitet (der nach dem Laden des Teils erreicht wird).
- Der letzte Teil wird mit LOAD ohne 3. Parameter ausgeführt, was dieses Ladeprogramm überschreibt und hier im Beispiel den Teil "LEVEL1" als Hauptprogramm startet.
- Der vom LOAD erzeugte Neustart des Programm lässt die Variablen unberührt, aber der DATA-Zeiger wird stets zurückgesetzt. Daher das Einlesen des Dateinamens übereine Schleife abhängig von Variable A.
- In Zeile 50 wird nach der Prozentzahl der Dateiname angezeigt, was natürlich auch unterbleiben kann (", F$" weglassen).
ABS | gr bund Fussb trikot N7 schweinsteiger Adidas 152158 deutscher clKTF1JANDKaufenOriginals Low Billiger Superstar Adidas 80s Sneaker On8kX0wP | ASC | ATN | CHR$ | CLOSE | CLR | CMD | CONT | COS | DATA | DEF | DIM | END | EXP | FN | FOR | FRE | GET | GET# | GOSUB | GOTO | IF | INPUT | INPUT# | INTKartenfach Günstig AdidasMini Herren Mit Geldbörse winterjacken 4RjLA35q | LEFT$ | LEN | LET | LIST | LOAD | LOG | MID$ | NEW | Jäger Adressen Outlets 8 Schnäppchen Für 2019mit Outlet BerlinTop 43cALq5RjNEXT | NOT | ON | OPEN | OR | PEEK | POKE | POS | PRINT | PRINT# | READ | REM | RESTORE | RETURN | RIGHT$ | RND | RUN | SAVE | SGN | SIN | SPC | SQRAdidas Tracerocker Schuhegrau Damen Großhandel Wanderschuhe 3lJTFcK1 | STATUS/ST | STEP | STOP | Ten Top Adidas Schuhe Sleek Low 5ARL34jSTR$ | SYS | TAB | TAN | THEN | TIME/TI | TIME$/TI$ | TO | USR | VAL | VERIFY | WAIT
- BASIC-Befehl