Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Général Développement > Programmation Windows

Programmation Windows Forum d'entraide sur la programmation Windows. Tutoriel API Windows

Réponse
 
Outils de la discussion
Vieux 29/11/2008, 10h10   #1 (permalink)
Membre régulier
 
Date d'inscription: août 2003
Messages: 129
Par défaut Modifier le BIOS de mon PC via un programme windows

Bonjour à tous,


Pour activer un timer interne au BIOS de mon PC, le contructeur de la carte mère fournit l'exemple suivant :

Follow test:
>debug
-O 600 00 ; Enable WDT 01-FF 00sec to 255 sec
-I 604 ; Disable WDT
-O 60C 0F ; Output DO 0-3 all Hi level
-1 608
-0F ; DI 0 - 3 all pin is Hi


Comment puis je écrire un programme équivalent au code ci-dessus fontionnant sous Windows XP ?

Merci d'avance à tous,
Wilco
Wilco est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 17h49   #2 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: novembre 2006
Localisation: Laval,Canada ( expat français)
Messages: 2 356
Par défaut

Il faut que tu saches utiliser l'utilitaire Debug en ligne de commande ou bien avoir un assembleur genre MASM TASM ou bien du domaine public.

O sous debug c'est l'instruction assembleur bas niveau ix86 OUT et I pour IN.

Soit tu écris à une adresse E/S soit tu lis.

En ligne de commande taper "debug"
Pour l'aide taper "?" et on voit que O correspond à Output Port Byte

Citation:
Envoyé par Wilco Voir le message
Comment puis je écrire un programme équivalent au code ci-dessus fontionnant sous Windows XP ?
En C++ on peut introduire du code asm:

Code :
void FunctionMAJBIOS()
{
asm {
mov ax,00 ; on met dans ax la valeur du port
mov dx,600 ; on met dans dx l'adresse du port
out dx,ax ;instruction d'ecriture sur le port
in ax,604 ; port->registre ax la valeur de l'adresse 604
}
}
et faire ainsi de suite pour les autres codes.
Je recommande de faire cela avec la plus grande prudence.
Essayer cela sur une vieille machine qui ne risque pas trop parce que tu peux avoir des problèmes après avec ton BIOS.
Aller sur le forum Assembleur et regarder les tutoriels asm 8086 pour comprendre l'assembleur

Dernière modification par Mat.M ; 02/12/2008 à 18h01
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/12/2008, 18h35   #3 (permalink)
Rédacteur/Modérateur
 
Avatar de ram-0000
 
Date d'inscription: mai 2007
Localisation: France
Messages: 2 428
Par défaut

Je ne suis pas sûr que le code fournit au dessus fonctionne sur XP. XP est en mode protégé et les instructions "in" et "out" nécessitent d'être en mode noyau (enfin de toute façon elles sont privilégiées).
__________________
Raymond
Mes tutoriels, mon projet
Consultez la cartographie des forums de DVP
ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/12/2008, 18h40   #4 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: novembre 2006
Localisation: Laval,Canada ( expat français)
Messages: 2 356
Par défaut

Oui tu as raison ram-0000 pas certain que les instructions s'exécutent..
Il faudrait écrire au besoin un Device Driver
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation
NEWS WINDOWSF.A.Qs WINDOWSTUTORIELS WINDOWSFREEWARES WINDOWSLIVRES WINDOWS

Réponse

Précédent   Forum des développeurs > Général Développement > Programmation Windows



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 00h52.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2009 www.developpez.com - Legal informations
</