Le programme SE_CLICK utilise l'interruption du clavier pour provoquer un léger click.
Après avoir dérouté l'interruption du clavier, le programme principal lance un interpréteur de commande (shell) avec un mécanisme d'appelant / appelé bloquant (synchrone). Le programme principal est en attente de la fin de la fin de l'exécution de l'interpréteur.
Lancer plusieurs fois le programme tout en vérifiant l'occupation de la Mémoire Centrale au fur et a mesure avec l'utilitaire MEMMAP.
Chaque routine de déroutement provoque un click. Il y a autant de clicks que de programmes en Mémoire Centrale.
Remarque: La commande EXIT provoque la fin de lecture de l'entrée standard de l'interpréteur de commandes.
C:\MIAGE-SE\>SE_CLICK
Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.
C:\MIAGE-SE\>SE_CLICK
Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.
C:\MIAGE-SE\>MEMMAP
0F01 002F0 752 0F32 System 0F31 00DE0 3552 0F32 System 1010 03EF0 16112 1011 Program 1400 00310 784 1433 Data 1432 021A0 8608 1433 Program 164D 006F0 1776 1433 Environment 16BD 00310 784 1816 Environment C:\MIAGE-SE\SE_CLICK.EXE 16EF 00000 0 0000 Free Space 16F0 01240 4672 16F1 Program 1815 05940 22848 1816 Program C:\MIAGE-SE\SE_CLICK.EXE 1DAA 00310 784 1DDD Data 1DDC 01590 5520 1DDD Program 1F36 006F0 1776 1DDD Environment 1FA6 00310 784 1FD9 Environment C:\MIAGE-SE\SE_CLICK.EXE 1FD8 05940 22848 1FD9 Program C:\MIAGE-SE\SE_CLICK.EXE 256D 00310 784 25A0 Data 259F 01590 5520 25A0 Program 26F9 006F0 1776 25A0 Environment 2769 00320 800 279D Environment C:\MIAGE-SE\MEMMAP.EXE 279C 02FC0 12224 279D Program C:\MIAGE-SE\MEMMAP.EXE 2A99 75660 480864 0000 Free Space 2769 00320 800 279D Environment C:\WORD5\MIAGE-SE\Q04\MEMMAP.EXE 279C 02FC0 12224 279D Program C:\WORD5\MIAGE-SE\Q04\MEMMAP.EXE 2A99 75660 480864 0000 Free Space <unallocated>C:\MIAGE-SE>exit
Bye Bye
C:\MIAGE-SE>exitBye Bye
Combien de fois peut-on lancer le programme ?
Faire EXIT autant de fois que nécessaire pour libérer la Mémoire Centrale.
Changer la ligne
(*$M 8192, 0, 8192*)
en
(* $M 8192, 0, 32768*)
Et recommencer l'évaluation de la MC
Question :
Que se passera-t-il si la ligne
SetIntVec($9,Addr(KbdIntVec_Old))
n'est pas appelée en fin de programme ?