Pl2 EXOS 2.DOC/fr

From Atari Wiki
Revision as of 15:05, 9 October 2006 by Zorro 2 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

                           ----------------------
                           EXERCICES NR°2 SUR LES
     
                               FONCTIONS DU
                              
                            GEMDOS,BIOS et XBIOS

                           ----------------------



 Voilà des exercices qui vont vous obliger (enfin!) à PROGRAMMER avec
 votre assembleur.
 Pensez à utiliser les macros instructions que nous avons cr‚es dans
 le chapitre pr‚c‚dent et qui se trouvent dans le fichier :MACROS.L
 Ces exercices ont pour but de vous familliariser avec les fonctions
 du GEMDOS,BIOS et XBIOS ainsi qu'avec les instructions du 68000.

 Bon courage.

 Les corrig‚s sont pr‚sents dans le fichier :CORRIG_2.DOC
                                             ------------

  

1) Exercice nr°1:
   -------------

   Ecrivez une MACRO instruction dont le but est de sauvegarder les 
   registres de donn‚e et d'adresse sur le pile système et nommez la
   'SAUVE'.

   Ecrivez la MACRO instruction compl‚mentaire qui va recharger les
   registres de donn‚e et d'adresse avec les valeurs empil‚es par la
   macro 'SAUVE'.Vous nommerez cette macro: 'RESTORE'.

   Ceux qui n'y arriveront pas au bout de 10 secondes n'ont pas lus 
   correctement le cours sur les instructions du 68000 ...


2) Exercice nr°2:
   --------------
   Cr‚ez une MACRO instruction à 1 paramètre dont le but est d'afficher
   en HEXADECIMAL le contenu du paramètre (Long-Mot).
   Nommez cette macro instruction :'HEXA'

   Indications:
   ------------
   .Un chiffre HEXA est repr‚sent‚ par 4 bits
   .Servez vous des instructions de rotation ou de d‚calage pour 
    atteindre tous les bits du paramètre dont vous aurrez besoin.
   .Pour garder un nombre d‚fini de BITS dans un registre, on masque
    les bits à garder avec l'instruction AND. 
    (Par exp. AND #%111,dn masque les bits 0,1 et 2 de dn) 
   .Le code ascii de '0' est $30
   .Le code ascii de 'A' est $37+$A
   
   
3) Exercice nr°3:
   --------------
   Cr‚ez une MACRO instruction à 1 paramètre dont le but est d'afficher
   en BINAIRE le contenu du paramètre (Long-Mot).
   Nommez cette macro instruction :'BINAIRE'

   Indications:
   ------------
   .Utilisez les instructions de d‚calage et de rotation ainsi que les
    instructions de branchements conditionnels appropri‚es.


4) Exercice nr°4:
   -------------- 
   Cr‚ez un programme dont le but est de FORMATER la disquette
   (80 pistes,9 secteurs par piste,interleave=1)

   Le programme affichera un message d'alerte et demandera une 
   confirmation avant le formatage.

   En cas d'erreur, il faudra que le programme affiche le code de
   l'erreur en DECIMAL.


   Indications:
   ------------

   .Utilisez la fonction FLOPFMT du GEMDOS
   .Certains paramètres devront varier... (nr° de piste)
   .Pour afficher un nombre en DECIMAL, pensez à utiliser l'instruction
    DIVU (après avoir chang‚ le signe du nombre à traiter car il est n‚-
    gatif!) pour rechercher le chiffre des dixaines,le chiffre des uni-
    t‚s.(si vous n'y arrivez pas en d‚cimal utilisez alors votre macro
    BINAIRE ou HEXA)
   .Le code ascii de 0 est $30
   .R‚servez beaucoup de m‚moire avec SETBLOCK (en 'PILE'):au moins 20000
    octets...( La taille du PRG ne sera pas influenc‚e de toute manière,
    alors ne soyez pas radin sur vos 512 KO de RAM...)
   .L'adresse du TAMPON pour FLOPFMT devra ètre PAIRE, ne l'oubliez pas!


5) Exercice nr°5:
   --------------

  Cr‚ez un programme qui permet de jouer les sons qui sont d‚finits dans
  le fichier PROSOUND.DAT (que vous int‚grerez à la fin de votre listing
  dans le segment DATA).
  Les touches de FONCTION (F1 à F10) serviront de clavier et si on appuye
  sur une autre touche, le prg devra s'arrêter.


  Indications:

  .Pensez à chercher les SCANCODEs des touches de fonction.
   Comme vous ne les connaissez pas encore il faudra faire un petit prg
   qui vous les affiches. (Ultra simple, utilisez la macro HEXA et affi-
   chez le code de retour de 'WAIT' par exp:il vous suffira d'enfoncer
   les touches de fonction pour que leur scancode apparaisse..)
  .Rejouez les sons avec la macro DOSOUND (Gemdos)
  .R‚servez beaucoup de m‚moire pour SETBLOCK (en 'PILE')  



6) Exercice nr°6:
   --------------

   Cr‚ez un programme qui affiche le directory de la disquette.

   Indications:

   .Utilisez les fonctions SEARCH et SEARCH_NEXT du Gemdos.
   .Le tampon DTA doit ètre situ‚ à une adresse PAIRE, ne l'oubliez pas!
   .R‚servez beaucoup de place pour SETBLOCK (en 'PILE')   


   
                         --------------------

 Je con‡ois que ces exercices peuvent vous poser certains problèmes, si
 vous ne progressez pas, regardez le listings correspondant à l'exercice
 que vous n'arrivez pas à faire et essayez de le re‚crire.

 Ne regardez le corrig‚ qu'en dernier lieu...


 
 PIECHOCKI  Laurent
 8,impasse Bellevue            CORRECTIONS dans le fichier:CORRIG_2.DOC
 57980 TENTELING                                           ------------ 



     

Back to ASM_Tutorial