Select the product you need help with
Das Programm DMA für lineare Adressen unter WindowsArtikel-ID: 124727 - Produkte anzeigen, auf die sich dieser Artikel bezieht ZusammenfassungDer Prozess für die Programmierung DMA für lineare Adressen unter Windows ähnelt der Prozess für Programmierung mit physischen Adressen unter MS-DOS. Programmieren Sie auf Byte (8-Bit)-Kanälen (0-3) die Seite registrieren mit Bits A23 A16 und Basisregister mit Bits A15 A0 der 24-Bit-Adresse. Nach Wort (16-Bit)-Kanäle (5-7) der Seite Programm Bits A23 A16 registrieren und Basisregister mit Bits A16-A1 rechten 1 Bit (>> 1 in C oder SHR <reg>, 1 in ASM) verschoben. Weitere InformationenEs sieht Bit A16 zweimal auf Wort Kanäle verwendet wird. In der Regel würde Bits A23 A16 verglichen werden, mit dem Wert 0FEh (0xfe) einen OR-Operator und dann das Register der Seite mit dem Ergebnis programmiert werden würde. Es ist nicht erforderlich, entfernen deaktivieren A16 im Register Seite bit, da als das niederwertigste Bit im Register Seite, die durch die Hardware ignoriert wird. Wie bereits erwähnt, wird die Basisregister auf Wort Kanal übertragen mit Bits (A16 A1) >> 1 programmiert. Die Hardware die Adresse durch Verketten von 7 die höchstwertigen Bits aus dem Kontobuch Seite mit den 16 Bits aus den Basisregister generiert. Da die Basis verschoben wird erhöht links eine erhöhen die programmierte Adresse tatsächlich die physikalische Adresse durch 2. Da der LSB immer 0 (null) ist, sind die Übertragungen immer Wort ausgerichtet. Word Kanäle sind tatsächlich etwas von einem Hardware-Hack für einen DMA-Controller, wirklich nur unterstützt Byte überträgt. Eine physikalische 24-Bit-Adresse erteilt, würde der Controller programmiert werden, wie oben beschrieben. Eine lineare 24-Bit-Adresse haben Programmieren Sie die gleiche Weise. Virtuelle DMA-Geräts (VDMAD) wird die lineare Adresse aus der Seite/Base registriert die gleiche Weise die Hardware Reconstitue. Es ist ein Nachteil bei Verwendung der lineare Adressen zu beachten. Wenn die lineare Adresse nicht unter 1 MB ist, werden Sie wahrscheinlich über zwei Gigabyte (> 24-Bit). Wenn dies der Fall ist, kann nicht es praktisch in der Basisregister programmiert werden. Wenn der DMA-Puffer anstelle von GlobalDosAlloc() GlobalAlloc() stammen, müssen Sie mithilfe der virtuellen DMA-Spezifikation (VDS) API über INT 4Bh Netzwerkadressübersetzung deaktivieren. Verwenden Sie dann konnte erneut, um die physische Adresse abrufen und Programm der Seite/Basis mit der physischen Adresse. EigenschaftenArtikel-ID: 124727 - Geändert am: Freitag, 27. Oktober 2000 - Version: 1.0 Die Informationen in diesem Artikel beziehen sich auf:
Maschinell übersetzter Artikel Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten. Den englischen Originalartikel können Sie über folgenden Link abrufen: 124727
(http://support.microsoft.com/kb/124727/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
|





Zum Anfang








