inline assembler

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

inline assembler

Beitrag 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?
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Nein, da im Usermode ein Interrupt nicht erlaubt ist.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Beitrag 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.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Wenn du Interrupts nutzen möchtest, musst du wohl direkt in FASM
mit assembler programmieren und dabei COM executable erstellen.
Bild
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Natürlich gibt es die. Diese erfordern aber meines Wissens nach das
DDK. Und das kostet...
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Beitrag 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?
Antworten