![]() |
| 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é. | |||||||
|
|||||||
| Programmation Windows Forum d'entraide sur la programmation Windows. Tutoriel API Windows |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre régulier
![]() Date d'inscription: août 2003
Messages: 129
|
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 |
|
|
|
|
|
#2 (permalink) | |
|
Expert Confirmé Sénior
![]() Date d'inscription: novembre 2006
Localisation: Laval,Canada ( expat français)
Messages: 2 356
|
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:
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
}
}
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 |
|
|
|
|
|
|
#3 (permalink) |
![]() Date d'inscription: mai 2007
Localisation: France
Messages: 2 428
|
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).
|
|
|
|
|
![]() |
![]() |
||
Modifier le BIOS de mon PC via un programme windows
|
||
| Outils de la discussion | |
|
|