Bonsoir,
J'ai lu l'exemple de la FAQ pour écrire sur le port parallèle avec l'instruction OUT mais ça fait planter mon application (win32). Est-ce que c'est à cause du win32 ou faut-il masquer une IRQ ou encore autre chose ???
Cordialement
TRAX
Bonsoir,
J'ai lu l'exemple de la FAQ pour écrire sur le port parallèle avec l'instruction OUT mais ça fait planter mon application (win32). Est-ce que c'est à cause du win32 ou faut-il masquer une IRQ ou encore autre chose ???
Cordialement
TRAX
http://clubnix.esiee.fr sauvez nous
Ca ne fonctionne pas sous Windows NT... Sinon, ca ne doit pas poser de probleme ...
je suis sous XP et çà marche pas !
Cordialement
TRAX
http://clubnix.esiee.fr sauvez nous
Windows XP etant de la serie NT (et non Chicago) ... ca ne fonctione pas ... Ou en fait, si ! Ca peut ! DAns les proprietes du fichier, y'a une option pour simuler une execution sur une autre version de Windows ... Il suffit de mettre une compatibilite Windows 95 / 98.Envoyé par trax44
alors utlise ce qui est déja utilisé par les autres ici et en plus sub0 peut vous donnée une grand aide
http://www.developpez.net/forums/vie...light=#2103271
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
Mélange pas les différentes question !!! En assembleur ce que je veux c'est gérer le port // en passant par le port 888 et en étant sous winXP !
Merci
TRAX
http://clubnix.esiee.fr sauvez nous
Tu dois passer par des services comme zlportio.sysEnvoyé par Smortex
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
Mais ces services sont bien contraints de passer par l'instruction OUT. Il est donc possible d'en fair autant
http://clubnix.esiee.fr sauvez nous
Bonjour !
Si tu veux en faire autant, tu dois passer en ring0.Envoyé par trax44
Fais une recherche avec ce mot-clé sur le forum :
http://www.developpez.net/forums/vie...ighlight=ring0
... etc.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
je vais tacher de te l'expliquer brievement :
grosso modo , on distingue deux modes pour les processeurs intel : le mode réel et le mode protegé.
en mode réel , tu peux faire ce que tu veux , utiliser toutes les interruptions du bios , écrire sur les ports , ect...
en mode protegé , tu ne peux pas faire tout ça : en effet , le systeme d'exploitation accorde à ses services des niveaux d'execution privilégiés ( ex : ring 0) et laisse aux applications utilisateur
des privilèges faibles ( ring 1 , 2 , 3 sur i386).
Ton application utilisateur ne peut pas accéderà un port sans passer par un service de l'OS car elle
ne peut pas faire autrement ( XP est en mode protegé ).
Ceci est valable sur winNT et Linux par exemple , mais sur win9x , ce n'est pas le cas car le noyau
permet à certains programmes d'appeller les fonctions bios .
Merci je connaissais un peu le principe (avais lu la doc pour fair un OS 32bits)mais sous win32 çà consiste en quoi plus précisément (je doute qu'il y est a recréer la gdt et l'idt).
Cordialment
TRAX
http://clubnix.esiee.fr sauvez nous
Il y a deux possibilités pour écrire sur le port // avec winXP. Pour que cela soit simple il faut utiliser dans chacun des cas une dll.
1ère methode : passer en mode ring0 puis taper ces quelques lignes en assembleur pour écrire sur le port // puis repasser en mode ring3. Pour faire cela j'ai une dll et un exemple de code que je peux t'envoyer.
2ème méthode : utiliser la dll "io.dll" se trouvant à l'adresse suivante : http://www.geekhideout.com/iodll.shtml. Elle contient des procedures et des fonctions très pratiques pour utiliser le port // du PC. Et ça marche sous XP !
Personnellement j'ai réalisé sous Delphi des applications utilisant la 2ème méthode et ça marche très bien.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager