Menu

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

fredelem 123 Messages postés dimanche 29 octobre 2006Date d'inscription 15 septembre 2018 Dernière intervention - 15 sept. 2018 à 11:09 - Dernière réponse : fredelem 123 Messages postés dimanche 29 octobre 2006Date d'inscription 15 septembre 2018 Dernière intervention
- 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
NHenry 14261 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention - 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é 26676 internautes ce mois-ci

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