Seite 1 von 2
inline assembler
Verfasst: 06.07.2006 22:32
von gbalzarek
Hi Leute,
ich möchte unter Windows98 mit dem Inline-Assembler den Dos-Interrupt 21h aufrufen. Habt Ihr das schon gemacht/läuft das problemlos?
In einigen Fundstellen der Suche wird das DOS-Assembler-"Hello world" angeführt. Geht das tatsächlich?
Verfasst: 06.07.2006 22:53
von MVXA
Nein, da im Usermode ein Interrupt nicht erlaubt ist.
Verfasst: 07.07.2006 06:41
von Kaeru Gaman
heutzutage macht man so sachen ohne interrupts, dafür hat PB einen recht großen befehlsumfang, der sich mit grafik- und textausgabe befasst.
was willst du denn machen?
Verfasst: 07.07.2006 09:55
von gbalzarek
Ich möchte eine PCI-Karte auslesen, d.h. ich will wissen, ob sie im Rechner steckt und wenn ja, dann will ich ihre Basisadresse lesen. Ich habe hier ein Programm, das den BIOS-Interrupt 1Ah dafür benutzt. Das läuft allerdings im DOS-Fenster von Win98. Da Windows die Karte auch erkennt, hatte ich gehofft, daß ich die Informationen aus der Registry lesen kann. Leider finde ich aber keine Informationen darüber, deshalb der Versuch mit dem Interrupt.
Verfasst: 07.07.2006 14:36
von MVXA
Wenn du Interrupts nutzen möchtest, musst du wohl direkt in FASM
mit assembler programmieren und dabei COM executable erstellen.
Verfasst: 08.07.2006 13:33
von gbalzarek
Auf die Idee mit dem BIOS-Interrupt bin ich erst gekommen, als ich in der Registry nichts verwertbares gefunden hatte. Ich bin nicht darauf fixiert, wenn ich eine bessere Lösung finde nehme ich die auch.
Verfasst: 08.07.2006 21:08
von Kaeru Gaman
irgendwo muss es meiner auffassung nach ne API-funktion fürs Geräte-management geben. mal die MSDN durchforsten.
steht die karte denn im Geräte-Manager?
selbst wenn nicht, der erkennt auch neue geräte über API....
Verfasst: 08.07.2006 21:49
von MVXA
Natürlich gibt es die. Diese erfordern aber meines Wissens nach das
DDK. Und das kostet...
Verfasst: 08.07.2006 21:54
von Kaeru Gaman
hu?
die API-funktionen sind doch vorhanden, also muss man die doch
ansprechen können, der geräte-manager kanns doch auch.
dass entwicklungsumgebungen von MS sowas nicht von vorne herein können,
sondern dass man zusatzkram kaufen muss, ist ja absicht.
aber PB müsste doch eine vorhandene API-funktion aufrufen können.
man muss halt schaun, wo man ne doku herbekommt.
Verfasst: 12.07.2006 18:45
von gbalzarek
Eure Idee im MSDN nachzusehen finde ich gut. Ich habe mal gesucht und eine vielleicht verwendbare Sache gefunden. Es läuft unter Q200876 und hat den Titel "This article describes a technique that allows an application to obtain information about a specified display device on a Windows 95 or Windows 98 system". Leider ist das Beispielprogramm in C geschrieben. Da bin ich nicht so gut, schon garnicht für Windows und kann es also nicht zum laufen bekommen. Glaubt Ihr, daß man das als Basis nehmen kann?