Assembleur 80x86 | STI |
---|---|
INTEL 8088+ | Set Interrupt Flag |
Syntaxe
STI |
Description
Cette instruction permet de fixer l'indicateur d'interruption (IF) à la valeur 1. Après avoir exécuter cette instruction, aucune interruption ne sera admise tant que l'instruction STI n'est pas rencontrée.
Algorithme
SI CPL <= IOPL ALORS drapeau IF ← 1 SINON SI (((VIRTUAL_MODE) ET (CR4.VME = 1)) OU ((PROTECTED_MODE) ET (CR4.PVI = 1) ET (CPL = 3))) ALORS SI RFLAGS.VIP = 1 ALORS EXCEPTION #GP(0) FIN SI RFLAGS.VIF ← 1 SINON EXCEPTION #GP(0) FIN SI |
Remarque
- Afin que les choses soit bien claire, sachez que même si ce registre d'état d'interruption est mit à 0, le microprocesseur ne masque pas les interruptions de type NMI (Non masquable Interruption). La commande CLI vise donc à faire en sorte que toutes les interruptions masquables ne soient plus exécutées. Cette interdiction peut être levée à l'aide de la commande STI.
Mnémonique
Instruction | Opcode | Description |
---|---|---|
STI | FBh | Cette instruction permet de fixer l'indicateur d'interruption (IF) à la valeur 1. |
Exemple
Cet exemple, en Turbo Pascal, permet de vérifier si la touche «ALT» du clavier est enfoncé :
Voir également
Instruction assembleur 80x86 - Instruction CLI
Références
Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 836
Assembleur Facile, Philippe Mercier, 1990, ISBN: 2-501-01176-7, page 417
AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, Edition Advanced Micro Devices, Revision 3.14, September 2007, Publication No. 24594, page 305.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 463 à 465.