MinGW inline asm / inp /outp ?!

Gast #201409
Hallo,
ich habe folgendes Problem:

ich möchte (unter Windows XP) auf eine ältere Selbstbauhardware am
Parallelport zugreifen.
Ich habe eine ältere DOS Software, die mit dem UserPort Treiber auch
funktioniert. Ich will das Programm jetzt aber mit einer GUI versehen
und etwas erweitern.
Leider scheint MinGW diese ganzen Inport(), Outportb() usw. Funktionen
nicht zu kennen.
Weiss jemand ob diese vielleicht irgenwie aufgerufen werden können ?

Alternativ würde ich versuchen, diese als Inline asm zu schreiben,
leider komme ich mit g++ asm Systax nicht klar. Kann mir vielleicht
jemand erklären wie ich zum Bespiele folgenden code auf den g++
übertrage ?

void outportb(UINT portid, BYTE value)
{
  __asm mov edx,portid
  __asm mov al,value
  __asm out dx,al
}

P.S. die inpout32.dll scheint nicht geeignet zu sein.
Gast #201410
Unter Windows (XP) kannst du nicht direkt auf die Hardware zugreifen. Um
in/out-Befehle benutzen zu können, müsstest du einen Treiber schreiben,
was ohne das (kostenpflichtige) DDK soweit ich weiß nicht möglich ist.

Du solltest vielleicht nochmal überprüfen, ob die fertigen Treiber
nicht doch reichen.
Gast #201411
@chris
Das ist klar, deshalb arbeite ich ja auch mit User-Port, welches den
Parallelport für Usermode-Programme freischaltet. Und wie gesagt, die
alten DOS Programme laufen damit.
Gast #201412
Hallo,

ich nutze die inpout32.dll ohne Probleme - allerdings ohne GUI aber ich
denke das ist vom Prinzop das Gleiche:
dll laden und dann mit den Funktionen schreiben. Beispielcode gibt es
ja dazu.


Martin
Gast #201413
>>Unter Windows (XP) kannst du nicht direkt auf die Hardware zugreifen.
>>Um
in/out-Befehle benutzen zu können, müsstest du einen Treiber
schreiben,
>>was ohne das (kostenpflichtige) DDK soweit ich weiß nicht möglich
ist.

das stimmt nicht... mit dem MASM32 package kann man ohne großen Aufwand
Treiber Für XP/2000 erstellen. Tutorials gibt es dafür im Netz, z.B.
unter:

http://www.assembly-journal.com/index.php

(nur mal so als ein Startpunkt...)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.