Bonjour a tous j'aurais voulu savoir précisément à quoi servent ces instructions (cli et sti) ?
Bonjour a tous j'aurais voulu savoir précisément à quoi servent ces instructions (cli et sti) ?
Bonjour,
STI (Set Interrupt) sert à armer le drapeau d'interruption. CLI (Clear Interrupt) est l'instruction contraire, qui désarme le drapeau d'interruption. Permet principalement d'activer/désactiver les interruptions hardware.
Est-ce que tu pourais être plus précis stp, ou me renvoyer vers un tutorial ?
A quoi correspondent ces interruptions et qund osnt-elles utilisées ?
Par exemple, j'ai un code source de driver qui fait un beep carte mère, et lorsqu'il envoie des données sur les ports de la carte avec des IN et OUT, il met des cli et sti... pourquoi ?
Au fait, j'ai entendu parle de la fonction HalMakeBeep pour créer un beep carte mère. Peut-on l'appeler du user-land ou faut-il faire un driver ?
Il met des CLI et STI pour empêcher les interruptions matérielles (comme l'appui sur une touche du clavier), probablement dans ce cas pour que le processeur ne soit pas dérangé soit par l'utilisateur, soit par des timers déclenchant des interruptions à intervalles réguliers.lorsqu'il envoie des données sur les ports de la carte avec des IN et OUT, il met des cli et sti... pourquoi ?
Pour savoir qu'est-ce qu'une interruption, outre l'entrée Interruption de la FAQ, tu as un tutoriel en assembleur très bien fait qui parle également des interruptions. Enfin, tu peux regarder le manuel Intel aux entrées CLI et STI.
Pour HalMakeBeep, qui est importée de la bibliothèque HAL.DLL (il faut posséder HAL.LIB pour l'utiliser), la dll se charge visiblement des appels au système, tu peux donc l'appeler de n'importe quel niveau de sécurité. Elle prend comme seul paramètre la fréquence du son.
Pourquoi dois-je utiliser hal.lib ? Je ne peux pas aller chercher les fonctions dans hal.dll avec GetProcAdress() ?
J'ai trouvé hal.lib mais elle est dans le DDK, est-ce que cela signifie qu'un driver est nécessaire ?
et puis je n'ai trouve aucun .h, comment utiliser le .lib ?
Hal.lib est utile pour importer HalMakeBeep en assembleur; je pense que nous ne sommes pas sur la même fréquence.
Tu peux faire ça, en C... auquel cas, ce message n'a rien à faire dans le forum assembleur.Je ne peux pas aller chercher les fonctions dans hal.dll avec GetProcAdress() ?
Partager