Pl2 EXOS 4.DOC/fr: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
(Replacing content with updated version)
mNo edit summary
 
Line 14: Line 14:
 
1) Exercice nr°1:
 
1) Exercice nr°1:
 
--------------
 
--------------
a) Si TACR vaut %100 et que le registre de donn‚e vaut 42, quelle sera
+
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 ?
+
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 ?
+
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‚
+
b) Comment faire pour stopper un programme sous interruption installé
 
sous le TIMER A ? (En 1 ligne!)
 
sous le TIMER A ? (En 1 ligne!)
   
c) On veut installer un programme sous interruption qui doit s'ex‚cuter
+
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-
 
à peu près 245 fois par seconde, donnez une valeur possible des regi-
stres de controle et de donn‚e pour obtenir cet effet.
+
stres de controle et de donnée pour obtenir cet effet.
   
 
d) Peut-on installer plusieurs programmes sous interruption dans un
 
d) Peut-on installer plusieurs programmes sous interruption dans un
 
même TIMER ?
 
même TIMER ?
(Un peu de bon sens suffit pour trouver la r‚ponse...)
+
(Un peu de bon sens suffit pour trouver la réponse...)
   
e) Un programme sous interruption doit obligatoirement s'ex‚cuter en
+
e) Un programme sous interruption doit obligatoirement s'exécuter en
 
MODE SUPERVISEUR.
 
MODE SUPERVISEUR.
 
Trouvez une raison à cela ... (Très simple)
 
Trouvez une raison à cela ... (Très simple)
Line 36: Line 36:
 
1) Exercice nr°2:
 
1) Exercice nr°2:
 
--------------
 
--------------
Comme les op‚rations d'installation d'une routine sur le TIMER A ou
+
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
+
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
 
INSTRUCTIONS ( TIMERA et TIMERB ) qui se chargeront d'installer un
 
programme respectivement sur le TIMER A et le TIMER B.
 
programme respectivement sur le TIMER A et le TIMER B.
Line 43: Line 43:
 
Indications:
 
Indications:
 
------------
 
------------
.Utilisez les op‚rations de masquage AND.B #BBB,$adresse et
+
.Utilisez les opérations de masquage AND.B #BBB,$adresse et
BLCR #BBB,$adresse pour modifier les valeurs des diff‚rents
+
BLCR #BBB,$adresse pour modifier les valeurs des différents
 
registres du MFP.
 
registres du MFP.
 
.Servez vous de la fonction XBTIMER de l'XBIOS pour vous
 
.Servez vous de la fonction XBTIMER de l'XBIOS pour vous
Line 52: Line 52:
 
2) Exercice nr°3:
 
2) Exercice nr°3:
 
--------------
 
--------------
Cr‚ez 2 MACROS INSTRUCTIONS :STOPTIMEA et STOPTIMEA qui doivent
+
Créez 2 MACROS INSTRUCTIONS :STOPTIMEA et STOPTIMEA qui doivent
 
respectivement stopper le TIMER A et le TIMER B.
 
respectivement stopper le TIMER A et le TIMER B.
 
 
Line 58: Line 58:
 
3) Exercice nr°3:
 
3) Exercice nr°3:
 
--------------
 
--------------
Cr‚ez un programme qui, après avoir ‚t‚ charg‚, retourne au DESKTOP
+
Créez un programme qui, après avoir été chargé, retourne au DESKTOP
et change la palette des couleurs à intervals r‚guliers.
+
et change la palette des couleurs à intervals réguliers.
   
 
Indications:
 
Indications:
Line 69: Line 69:
 
le fonction PTERM du gemdos (Macro 'TERM') , mais la fonction de
 
le fonction PTERM du gemdos (Macro 'TERM') , mais la fonction de
 
code $31 du gemdos: KEEP PROCESS (Macro 'KEEP') pour que le prg
 
code $31 du gemdos: KEEP PROCESS (Macro 'KEEP') pour que le prg
sous interruption ne soit pas effac‚ !
+
sous interruption ne soit pas effacé !
 
.Pour le changement de la palette, utilisez la variable système
 
.Pour le changement de la palette, utilisez la variable système
 
'colorptr' car la fonction du GEMDOS utilise SP...
 
'colorptr' car la fonction du GEMDOS utilise SP...
Line 76: Line 76:
 
4) Exercice nr°4:
 
4) Exercice nr°4:
 
--------------
 
--------------
Cr‚ez un programme dont la partie principale tourne dans une boucle et
+
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-
 
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
+
tre partie, une routine sous interruption, incrémente le L-M qui est
affich‚ par le programme principal.
+
affiché par le programme principal.
   
   
Line 88: Line 88:
 
 
 
PIECHOCKI Laurent
 
PIECHOCKI Laurent
8, Impasse Bellevue Corrig‚ dans le fichier:CORRIG_4.DOC
+
8, Impasse Bellevue Corrigé dans le fichier:CORRIG_4.DOC
 
57980 TENTELING ------------
 
57980 TENTELING ------------
   

Latest revision as of 21:08, 17 December 2023


                          ------------------------
                             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