Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Kontrollbefehl load_list
Funktion
Öffnet den Listenspeicher zum Beschreiben mit Listenbefehlen und setzt den Input-Pointer
an die angegebene (relative) Position in der gewünschten Liste ("Liste 1" oder "Liste 2"),
aber nur, wenn die Liste nicht gerade abgearbeitet wird (BUSY-Status nicht gesetzt) bzw.
wenn sie bereits abgearbeitet ist (USED-Status gesetzt). Im Erfolgsfall wird der nächste
Listenbefehl an dieser Adresse gespeichert und alle nachfolgenden Listenbefehle an den
darauffolgenden Adressen in der gewählten Liste.
Aufruf
NoOfOpenedList = load_list( ListNo, Pos )
Parameter
ListNo
Pos
Rückgabe
Nummer der geöffneten Liste [1 oder 2] im Erfolgsfall, sonst 0
(als 32-Bit-Wert ohne Vorzeichen).
Hinweise
• Der load_list-Befehl (ListNo = 3) hilft u.a. beim alternierenden Listenwechsel, um
gezielt auf das Abarbeiten einer Liste zu warten (siehe
Seite
tigtes Überschreiben von Befehlen, die noch ausgeführt werden sollen, wird dabei auto-
matisch vermieden. Soll dagegen ein unbedingtes Laden ausgeführt werden, kann z.B.
der Befehl
• Nach einem erfolgreichen Check der Listennummer (BUSY-Status nicht gesetzt und
gegebenenfalls USED-Status gesetzt) wirkt der load_list-Befehl wie
(siehe Hinweise dort).
• Falls der load_list-Befehl nicht erfolgreich war (Rückgabewert 0), wird keine Liste
geöffnet und der Input-Pointer auf eine illegale Position gesetzt. Es ist dann so lange
keine Eingabe von weiteren Listenbefehlen möglich, bis der Input-Pointer (z.B. mit Hilfe
eines erneuten load_list-Befehls mit positivem Resultat, mit
wieder gültig gesetzt wird. Es obliegt den Benutzern, auf den Rückgabewert 0 geeignet
zu reagieren. Der load_list-Befehl führt keine Warteschleife aus und blockiert nicht die
Ausführung nachfolgender Kontrollbefehle.
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
10 Befehle und Funktionen
Listennummer der Liste, in die der Input-Pointer gesetzt werden soll, als
32-Bit-Wert ohne Vorzeichen. Zulässige Werte: [0 ... 3]; es werden nur die
beiden niederwertigsten Bits berücksichtigt.
=1:
"Liste 1" wird geöffnet, falls sie nicht BUSY ist (BUSY1-Status nicht
gesetzt).
=2:
"Liste 2" wird geöffnet, falls sie nicht BUSY ist (BUSY2-Status nicht
gesetzt).
=0:
Diejenige Liste wird geöffnet, die momentan nicht BUSY ist.
Sind beide Listen nicht BUSY, wird "Liste 1" geöffnet.
=3:
Diejenige Liste wird geöffnet, die momentan nicht BUSY aber USED
ist (USED-Status gesetzt). Sind beide Listen nicht BUSY und beide
USED, wird diejenige Liste geöffnet, die beim nächsten
automatischen Listenwechsel ausgeführt werden würde.
Für Mem2 = 0 (siehe config_list) wird "Liste 1" geöffnet, falls sie nicht BUSY
ist (ListNo = 0...2) bzw. falls sie nicht BUSY aber USED ist (ListNo = 3).
Position des Input-Pointers (Offset bzgl. des Listenanfangs der jeweiligen
Liste) als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich:
20
[0 ... (2
–1)].
80), ohne dass der Listenstatus separat abgefragt werden muss. Ein unbeabsich-
set_start_list_pos
verwendet werden.
®
5 PC/104-Plus-Karte, RTC
"Alternierender Listenwechsel",
set_start_list_pos
®
5 PCIe/104-Karte
set_start_list_pos
etc.)
373

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis