Menu

Message d'erreur "Instruction privilegiee" [Résolu]

Messages postés
123
Date d'inscription
dimanche 29 octobre 2006
Dernière intervention
15 septembre 2018
- 15 sept. 2018 à 11:09 - Dernière réponse :
Messages postés
123
Date d'inscription
dimanche 29 octobre 2006
Dernière intervention
15 septembre 2018
- 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







--
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 15 sept. 2018 à 14:31
1
Merci
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.

Merci NHenry 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 28068 internautes ce mois-ci

Messages postés
123
Date d'inscription
dimanche 29 octobre 2006
Dernière intervention
15 septembre 2018
- 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
Commenter la réponse de NHenry