Pl INTRODUC.DOC/fr

From Atari Wiki
Revision as of 00:24, 17 December 2023 by Olivier.jan (talk | contribs) (Replacing content with updated version)
Jump to navigation Jump to search
                         --------------------------
                          TOME I,   CHAPITRE NR°1

                                INTRODUCTION
                            
                         --------------------------

  BONJOUR!       Pour commencer, comme le titre de ce premier chapitre
  l'indique , voilà une explication quant à l'utilisation de ce manuel
  digital et aussi une introduction générale à la programmation en as-
  sembleur 68000 sur ATARI ST.

  
                    *** COMMENT UTILISER CE MANUEL ? ***
                    ------------------------------------

-   Ceci est un manuel digital, c'est à dire qu'il se compose de textes
    sur support magn‚tique: une disquette

-    L'avantage de cette m‚thode  ?   Une ‚conomie non n‚gligeable pour
  l'acheteur , des programmes et surtout des listings dejà ‚crits (donc
  gain de temps et finies les fautes de frappe ou autres erreurs...)

-  Vous pouvez charger les diff‚rents textes, regroup‚s par fichiers et
  les lire avec un traitement de texte (par exemple FIRST WORD) ou (si
  vous n'en possèdez pas) avec  tout  autre  utilitaire  chargeant  des
  textes au format ASCII (c'est à dire un fichier contenant du texte et
  pouvant ètre list‚ à partir du DESKTOP comme tel):

        C'est possible avec les ‚diteurs de texte de METACOMCO ( s‚lec-
  tionnez le fichier à lire en passant par l'utilitaire NENU+.PRG avec
  l'option 'CHOOSE *.*' puis l'option 'EDIT' )

   Cette m‚thode s'applique aussi à DEVPAC 68000. (M‚tacomco et Devpac
   sont des assembleurs, voir plus loin pour plus de d‚tails).

  Vous pouvez aussi vous servir des options du DESKTOP: double-cliquez
  sur le fichier texte choisi puis s‚lectionnez 'IMPRIMER' ou 'VOIR'.

  Bien entendu, vous pouvez aussi imprimer librement tous les fichiers
  avec votre traitement de texte une fois ceux-ci charg‚s...


-   Ce manuel est form‚ par une suite de textes class‚s par chapitres
    (comme dans un livre) pour donner une structure à l'ensemble.

-   A la fin de chaque fichier, une indication vous donnera le nom exact
  du prochain texte à lire:Vous ne devrez pas rencontrer de problèmes.



                         *** STRUCTURE DU LIVRE ***
                         --------------------------
-   Comme vous pouvez l'apercevoir, les titres sont centr‚s, encadr‚s
    par des ‚toiles,soulign‚s et espac‚s de manière à a‚rer le texte.

    Le texte lui même sera regroup‚ en paragraphes pour une meilleure
    clart‚.

-   Plus tard , les mots importants et à retenir par la suite seront
    ‚cris en majuscules. (exemples: OCTET,REGISTRE etc...)

-   J'utiliserais aussi certaines abr‚viations: "c.à.d" pour "c'est à
    dire "  ou  "exp." pour "exemple" , "prg" pour "programme" ...

-   Les programmes exemples seront pr‚sents sur la disquette.
    ( vous pourrez les charger directement avec votre assembleur sans
    avoir à les retaper! )

    Il en est de même pour les programmes ex‚cutables issus de ces 
    listings et pour les corrections des exercices.
    

                       *** UNE METHODE DIDACTIQUE ***
                       ------------------------------
-   L'assembleur est r‚put‚ pour sa difficult‚, et il est vrai que pro-
 grammer en assembleur demande beaucoup plus d'effort que de programmer
 en BASIC ou même en langage C ...

-  Ne vous inquiètez pas ...!   Pour faire une comparaison, on pourrait
 dire que programmer en assembleur est aussi difficile que d'apprendre
 à lire ou ‚crire , or qui d'entre vous ne sait pas lire ET ‚crire ?!

-   Tout commme pour l'apprentissage de la lecture, cet ouvrage placera
   la pratique en premier plan et sera tr‚s abondant en exemples divers
   tous comment‚s en d‚tail et d'exercices personnels (avec r‚ponses
   complètes).

-   Il faudra vous d‚barasser de tous pr‚jug‚s sur l'assembleur:

    Quelqu'un qui ne sait pas lire sera d‚courag‚ devant un texte, qui
    n'est pour lui qu'une tartine de lettres dont l'allignement n'a rien
    d'apparemment logique.

    Il doit en ètre de même pour vous devant un listing en assembleur,
    alors patience ...


-   Il faudra d'abord apprendre l'alphabet (c.à.d les d‚finitions utiles)
  puis ‚tudier des exemples ,les règles de grammaire (donc les relations
  qui donnent une coh‚rence à votre programme) mais aussi les exceptions
  (donc les cas particuliers en assembleur).

    A la fin de cet ouvrage vous serez donc tous capable de LIRE un pro-
    gramme en assembleur 68000 et de le COMPRENDRE.
    
    Bref, vous aurez acquis les bases de la programmation en ASS. 68000
    et vous pourrez ‚crire vos premiers programmes

-     A ce momment, vous pourrez enfin vous plonger dans divers livres
  traitant de la programmation en assembleur 68000, livres qui pour la
  plupart s'adressent à un public d‚jà averti, et vous constaterez vous
  même que votre progression ne fera que s'acc‚l‚rer...

-  Le but de ce livre est donc très ambitieux: Il a pour but de vous ap-
   prendre un langage informatique qui vous est inconnu.

   Devant la difficult‚ de la chose j'ai tent‚ de rendre les problèmes
   que pose la programmation en assembleur tr‚s clairs:

  -----------------------------------------------------------------------
*  Ce livre n'a pas ‚t‚ ‚crit pour ‚blouir ou impressionner ses lecteurs
   par un vocabulaire technique incompr‚hensible, il est au contraire un
   exemple de clart‚.

*  Chaque notion importante est expliqu‚e en profondeur et illustr‚e par
   des exemples divers et d‚taill‚s.

*  Le vocabulaire utilis‚ sera d‚finit et la lin‚arit‚ du livre ammènera
   le lecteur à un r‚sultat progressif,rapide et sans ambiguit‚.

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

-  N'oubliez jamais cette règle d'or:

                  " LA QUALITE VAUT MIEUX QUE LA QUANTITE ! "

     Ceci est surtout vrai pour la programmation en assembleur, je vous
  conseille de ne pas lire trop vite, vous ne pourrez pas progresser si
  vous n'assimilez pas les notions des divers chapitres de façon régu-
  lière :

     La programmation en assembleur suit des règles très strictes.

     La relecture sera indispensable et fr‚quente, c'est normal.

     Arrètez-vous si vous n'avez pas compris quelquechose et relisez 
     très lentement.



                          *** MATERIEL NECESSAIRE ***
                          ---------------------------
1) Logiciels:
   ---------
-    Un ASSEMBLEUR complet :EDITEUR,ASSEMBLEUR,LINKER (termes expliqu‚s
   plus loin) vous seront indispensables si vous voulez cr‚er vous même
   vos propres programmes en assembleur 68000.

     Plusieurs sont disponibles chez tout bon revendeur, voilà les plus
     courants.

* METACOMCO MC 68000:    .Un bon assembleur,l'‚diteur est g‚r‚ par le
  ------------------      clavier:il est donc tr‚s convivial et rapide.

                         .L'assembleur est param‚trable et permet de d‚-
                          finir des MACROS-INSTRUCTIONS  (sortes de fonc-
                          tions cr‚‚es par le programmeur et pouvant si-
                          muler par la suite une nouvelle instruction ,
                          je d‚taillerais plus tard ...)

                         .Les accès au lecteur de disquette sont à mon
                          avis trop nombreux, on y perd donc en rapidi-
                          t‚, c'est dommage.     

* PROFIMAT           :   .C'est cet assembleur que nous utiliseront dans
  --------                les exemples, mais les listings restent vala-                         
                          bles pour les autres assembleurs. 
                               
                         .L'‚diteur est tr‚s complet (aides, gestion avec
                          la souris par des menus d‚roulants ...)

                         .L'assembleur est param‚trable et g‚nère un CODE
                          OBJET optimis‚.
                          (patience pour les explications...)

                         .Permet aussi de cr‚er des MACROS.

                         .L'‚diteur,l'Assembleur,le Linker sont dispo-
                          nibles en meme temps , les accès au lecteur 
                          de disquette sont donc limit‚s, Très bien !

contient aussi:          .Un DEBUGGER (pour trouver les ERREURS dans vos
                          prg en assembleur ( permet aussi d'‚tudier le
                          contenu de la m‚moire de l'ordi. ),
                          Et un DESASSEMBLEUR qui donne un fichier texte
                          (listing) à partir d'un programme COMPILE ( ou
                          programme ex‚cutable du type NOM .PRG )

                          Ces 2 termes seront expliqu‚s dans un chapitre
                          à part.

                         .Tr‚s complet


* DEVPAC ST (1 ou 2)     .Mêmes caract‚ristiques que Profimat mais en
  ------------------      moins d‚velopp‚ pour Devpac I.

                         .Très performant (surtout DEVPAC II) et simple
                          d'accès.
     
                         .Vous pourrez,avec DEVPAC II,lancer directement
                          le programme créé, sans avoir à quitter l'‚di-
                          teur, et retraiter le listing en cas d'erreur!
                         
                         .DEVPAC II est livr‚ avec MONST2, le meilleur
                          d‚bugger et d‚sassembleur que vous puissiez
                          trouver...

                         .DEVPAC II admet des DIRECTIVES D'ASSEMBLAGE
                          (patience pour les explications...) très
                          puissantes:INCBIN,REPT,ENDR,ELSEIF,RSSET...

                         .DEVPAC II est à mon avis LE meilleur assembleur
                          que vous puissiez trouver: N'h‚sitez pas !

     
* GFA ASSEMBLEUR         .Je n'ai pu que tester une pr‚version de cet
  --------------          assembleur:
                 
                         .Il vous sera très utile car il corrige les
                          syntaxes incorrectes.

                         .Le programme peut ètre directement ex‚cut‚,
                          sous l'‚diteur.(Comme avec DEVPAC II)
                    
                         .Contient un d‚bugger très convivial...
                         
                         .L'EDITEUR est superbe!(Il est plus rapide que
                          celui du GFA BASIC).  
   
                         (Demandez de plus amples d‚tails à votre reven-
                         deur...)
 
* METACOMCO 12.0         .Contient un Très bon EDITEUR.
  --------------         
                         .L'ASSEMBLEUR,le LINKER et le DEBUGGER fournis
                          sont très puissants.

                         .La notice fournie est très bien r‚alis‚e...

  Les prix de ces diff‚rents assembleur peuvent varier, mais ils sont en
  g‚n‚ral assez ‚lev‚s car il s'agit d‚ja d'utilitaires tr‚s complexes
  et r‚serv‚s à des professionnels, mais ils conviennent très bien à nos
  besoins et leur utilisation ne pose  pas de  problème  si l'on connait
  l'assembleur.

     Vous avez encore tout le temps de faire votre choix si cela n'a pas
  encore été fait, patientez encore pour pouvoir parfaire votre jugement
  car rien ne presse ...


2) Manuels compl‚mentaires (facultatif)
   ------------------------------------

-       Par la suite, lorsque nous ‚tudierons les fonctions du GEMDOS, de
   l'XBIOS et du BIOS,  il vous sera très utile de possèder: "LA BIBLE DU
   ST" de MICRO APPLICATION,ce livre contient justement tous les noms des 
   fonctions des 'librairies' que sont le GEMDOS,l'XBIOS et le BIOS.

   Les fonctions du GEMDOS,de l'XBIOS et du BIOS peuvent ètres appell‚es
   en assembleur et  permettent  l'‚xecution de  fonctions de base comme
   l'‚dition de caractères,l'ouverture de fichiers sur Disquette, ou en- 
   core le changement de la palette des couleurs  etc...

      Un chapitre expliquera en d‚tail toutes ces fonctions avec des 
      exemples,des exercices corrig‚s et une description minutieuse.


-  Vous pouvez aussi acheter "LE LIVRE DU GEM" de MICRO APPLICATION ,il
   contient les fonctions VDI et AES :

    Le VDI est une 'Bibliothèque' de fonctions tout comme le BIOS ou le
    GEMDOS et l'XBIOS, mais ces fonctions sont graphiques et permettent
    par exemple le traçage de cercles,polygones,les remplissages...

    L'AES gère l'environnement pour les applications, c.à.d. qu'il gère
    et permet la cr‚ation des fenêtres,des icones... par lesquels l'uti-
    lisateur  communique des  informations à l'ordi.  gràce à la souris
    notamment.

-   Nous nous interèsseront d'avantage au VDI dans un chapitre à part car
    l'utilisation de L'AES d‚passe le cadre de notre objectif vu la com-
    plexit‚ de sa mise en oeuvre.

    

   .Un chapitre entier sera consacr‚ aux fonctions du GEMDOS,BIOS,XBIOS
    et VDI (Vous ‚tudierez aussi les LineAs et les programmes sous in-
    terruption...)



                    *** QU'EST CE QUE L'ASSEMBLEUR ? ***
                    ------------------------------------

-    L'ASSEMBLEUR a la triste r‚putation d'ètre difficile à mettre en
     oeuvre, c'est pourquoi on lui pr‚fère un langage comme le BASIC,
     le PASCAL,le C etc...

     Une des raisons majeures ayant contribu‚e à cette r‚putation est
     sans doute l'absence de toute initiation complète et didactique
     à ce langage fantastique qu'est l'ASSEMBLEUR.
     Souvent les ouvrages publi‚s sur l'ASSEMBLEUR sont totalement d‚-
     pourvus de toute ambition p‚dagogique et ne sont en fait rien de
     plus que des catalogues de termes techniques incompr‚hensibles.

     C'est ainsi, que la plupart des programmeurs amateurs ne connais-
     sent rien à l'assembleur bien que ce soit le langage naturel de
     leur ordinateur !

     Voilà qui est bien dommage, car les performances de l'assembleur
     ne peuvent même pas être compar‚es avec celles de  certains lan-                                           
     gages dits 'evolu‚s'.(surtout sur le plan graphique)

-       L'ASSEMBLEUR, permet de comprendre le fonctionnement interne de
     l'ordinateur, dans un programme en ASSEMBLEUR chaque composante de
     la structure de l'ordinateur apparait clairement:MEMOIRE,REGISTRES
     ,VARIABLES...

-    Chacune de ces composantes peut ètre modifi‚e en ASSEMBLEUR.

     L'ASSEMBLEUR est en prise directe avec l'ordi. et n'utilise donc
     pas de moyens d‚tourn‚s, il arrive toujours à un r‚sultat pr‚cis.

     Un programme en BASIC de 3 lignes compil‚ sera compos‚ d'une cen-
     taine d'instructions ASSEMBLEUR, alors que le mème programme, di-
     rectement ‚cris en ASSEMBLEUR n'en occuperait que le dixième...


-    Comme chaque  langage informatique, l'ASSEMBLEUR  comporte diverses
     instructions, mais il peut aussi faire appel directement à des fon-
     ctions (XBIOS,BIOS,GEMDOS,AES,VDI...) en fournissant les paramètres
     n‚cessaires.

-    L'ASSEMBLEUR 68000 travaille en deux modes diff‚rents:

          Le mode Utilisateur: une zone de m‚moire r‚serv‚e est
                               disponible au programmeur.

          Le mode Superviseur: Le programmeur a accès à toutes les
                               instructions et toute la m‚moire.


-     L'ASSEMBLEUR est tr‚s sp‚cifique : on ne programme pas en Assem-
      bleur Z80 sur AMSTRAD CPC comme sur ATARI ST en Assembleur 68000.


   --------------------------------------------------------------------
        Toutes ces notions seront d‚finies en profondeur plus tard:
                          Pas de Panique !

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



               *** POURQUOI PROGRAMMER EN ASSEMBLEUR ? ***
               -------------------------------------------

 -   Qui d'entre vous ne rève pas de pouvoir ‚galer ou surpasser les
     programmeurs de vos jeux favoris ??

     Exp: OVERLANDER et PANDORA ont ‚t‚ programm‚s avec DEVPAC II
          et 95% des bons jeux sur ST sont ‚cris en Assembleur.
          
 -   Dans certains cas L'ASSEMBLEUR peut ètre 100 fois plus rapide
     que GFA BASIC...

 -   Si vous programmez en BASIC , vous ne disposerez que des intru-
     ctions propres à l'utilitaire tandis qu'en ASSEMBLEUR vous dis-
     posez  d'une centaine  de fonctions  directement utilisables et
     d'un jeu d'instructions qui vous  permettera de  diriger chaque
     op‚ration avec une pr‚cision et une rapidit‚ in‚galable.

 -   L'ASSEMBLEUR est très sp‚cifique car il varie selon le MICRO-
     PROCESSEUR (le 'cerveau' de votre ordi.).

     L'ATARI ST est ‚quip‚ du Microprocesseur MC 68000 (de Motorola)
     :Donc on programme en Assembleur 68000 sur ST...

     Un AMSTRAD CPC est ‚quip‚ d'un microprocesseur Z80,diff‚rent du
     MC 68000 sur beaucoup de points.Ceci explique les diff‚rences de
     performances, et de programmation  entre ces 2 ordinateurs.

-    Mais aujourd'hui, on trouve des ordinateurs ‚quip‚s de Micoproces-
     seurs de la famille du MC 68000: les 68008,68010,68012...
     Un expemple: L'AMIGA possède aussi un micoprocesseur MC 68000.

     Il vous sera donc assez ais‚ de vous adapter à la programmation en
     assembleur sur ces (nouveaux) ordinateurs.

     Les microprocesseurs de la famille 68000 ont donc encore de beaux
     jours devant eux... ( contrairement au Z80 par exemple, qui est
     totalement d‚pass‚ )


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

     Voilà pour la partie th‚orique, mais maintenant passons aux choses
     s‚rieuses...



       Laurent PIECHOCKI
       8, impasse Bellevue                       suite dans :  NR#2.DOC
       57980 TENTELING                                         --------


Back to ASM_Tutorial