Message d'erreur "Instruction privilegiee"

Résolu/Fermé
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 - 15 sept. 2018 à 11:09
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 - 15 sept. 2018 à 21:32
Bonjour,

Je travaille en Windows 10 avec Delphi7.

Je veux écrire un programme qui me permette de lire la mémoire CMOS. J'ai récupéré sur Internet un petit
programme qui commence par

FOR I := 0 TO 127 DO
Begin
Asm
Cli // Disable interrupts
Mov Al, I // Move index address
Out $70,Al // Copy address to CMOS register
End;

A la compilation, tout se passe bien. Donc, il n'y a pas d'erreur dans ce programme.

Mais à l'exécution, l'instruction "CLI" provoque un message d'erreur: "Instruction privilégiée". Et si je la supprime, c'est l'instruction "OUT" qui provoque le même message.

Quelqu'un voit-il comment je pourrais devenir assez privilégié pour que ça marche ?
(J'ai essayé de lancer le .Exe obtenu après compilation en tant qu'administrateur mais ça ne donne rien)

Fred







--

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
15 sept. 2018 à 14:31
Sans connaitre précisément le sujet, les OS de base Windows NT (2000, XP et +) contrôles les accès direct matériel.

Par exemple, il est impossible d'accéder directement au port COM d'une machine, il faut forcément passer par un driver.

Dans ton cas, je suppose que c'est la même chose, tu tentes d'accéder à une données en direct et l'OS te refuse l'accès.
Ce ne sera pas un droit d'admin qui te permettra de passer autre cette protection si c’est le cas.
1
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022
15 sept. 2018 à 21:32
Merci, je pensais bien qu'il fallait obtenir la permission de jouer avec les interruptions et les ports. Et pour cela, il faut sans doute faire intervenir un truc compliqué que j'aurais du mal à trouver.

Le programme que j'avais trouvé sur Internet n'était pas fait pour Delphi mais pour Turbo-Pascal. -

Travailler en Turbo-Pascal avec Windows 10, c'est la super-galère. J'ai préféré booter en mini-windows XP grâce à HirenBoot-CD que j'apprécie beaucoup. J'ai réussi à compiler le programme avec Turbo-Pascal et j'ai ce que je veux. Merci pour l'aide. Problème résolu !

. Fred
0