Pl2 EXOS 4.DOC/fr
------------------------ EXERCICES sur les programmes sous INTERRUPTION ----------------------- 1) Exercice nr°1: -------------- a) Si TACR vaut %100 et que le registre de donnée vaut 42, quelle sera la fréquence d'appel d'un programme sur ce TIMER ? Le programme sera-t-il installé sur le TIMER A ou sur le TIMER B ? b) Comment faire pour stopper un programme sous interruption installé sous le TIMER A ? (En 1 ligne!) c) On veut installer un programme sous interruption qui doit s'exécuter à peu près 245 fois par seconde, donnez une valeur possible des regi- stres de controle et de donnée pour obtenir cet effet. d) Peut-on installer plusieurs programmes sous interruption dans un même TIMER ? (Un peu de bon sens suffit pour trouver la réponse...) e) Un programme sous interruption doit obligatoirement s'exécuter en MODE SUPERVISEUR. Trouvez une raison à cela ... (Très simple) 1) Exercice nr°2: -------------- Comme les opérations d'installation d'une routine sur le TIMER A ou sur le TIMER B sont assez répétitives, vous allez créer deux MACROS INSTRUCTIONS ( TIMERA et TIMERB ) qui se chargeront d'installer un programme respectivement sur le TIMER A et le TIMER B. Indications: ------------ .Utilisez les opérations de masquage AND.B #BBB,$adresse et BLCR #BBB,$adresse pour modifier les valeurs des différents registres du MFP. .Servez vous de la fonction XBTIMER de l'XBIOS pour vous simplifier le travail... 2) Exercice nr°3: -------------- Créez 2 MACROS INSTRUCTIONS :STOPTIMEA et STOPTIMEA qui doivent respectivement stopper le TIMER A et le TIMER B. 3) Exercice nr°3: -------------- Créez un programme qui, après avoir été chargé, retourne au DESKTOP et change la palette des couleurs à intervals réguliers. Indications: ------------ .Vous vous en doutez, ce programme sera un programme sous interruption! .Utilisez vos macros TIMERA et TIMERB pour installer le programme .Attention!, pour retourner au DESKTOP, il ne faudra pas utiliser le fonction PTERM du gemdos (Macro 'TERM') , mais la fonction de code $31 du gemdos: KEEP PROCESS (Macro 'KEEP') pour que le prg sous interruption ne soit pas effacé ! .Pour le changement de la palette, utilisez la variable système 'colorptr' car la fonction du GEMDOS utilise SP... 4) Exercice nr°4: -------------- Créez un programme dont la partie principale tourne dans une boucle et affiche (Macro HEXA) la valeur d'un L-M du segment BSS et dont une au- tre partie, une routine sous interruption, incrémente le L-M qui est affiché par le programme principal. -------------------- PIECHOCKI Laurent 8, Impasse Bellevue Corrigé dans le fichier:CORRIG_4.DOC 57980 TENTELING ------------
Back to ASM_Tutorial