COURS 1.TXT/fr

From Atari Wiki
Jump to navigation Jump to search
   ******************************************************************
   *                                                                *
   *             COURS D'ASSEMBLEUR 68000 SUR ATARI ST              *
   *                                                                *
   *                 par Le Féroce Lapin (from 44E)                 *
   *                                                                *
   *                         Cours numéro 1                         *
   *                                                                *
   ******************************************************************


   Ce  cours  d'assembleur pourra sembler réduit de par sa taille. Il
   ne  l'est  cependant pas par son contenu! L'assembleur est le lan-
   gage  le  plus simple qui soit, pourvu qu'il soit expliqué simple-
   ment ce qui n'est malheureusement pas souvent le cas. C'est un peu
   le pari de ces cours: vous apprendre ce qu'est l'assembleur en une
   quinzaine, pas  plus. De  toutes  façons, à  part grossir la sauce
   avec  du  bla-bla  inutile, je ne vois pas très bien comment faire
   pour  que  les cours durent plus de 15 jours. Evidement, vous com-
   prenez  bien  que les cours payants ont eux, tout à fait intérêt à
   faire  durer le plaisir et à vous faire croire que c'est très très
   dur  à  comprendre  et qu'il va falloir au moins 2568478 leçons si
   vous voulez vous en sortir!!!

   Ce cours est destiné au débutant, il est composé de plusieurs par-
   ties relativement courtes mais dans lesquelles
                          TOUT EST IMPORTANT.

                     PRESENTATION ET AVERTISSEMENT

   Pour  programmer en ASM, plusieurs habitudes sont nécessaires. Au-
   tant  les prendre dès le début car, très vite, ce qui apparaissait
   comme de petits problèmes peut tourner à la catastrophe.

   Tout d'abord avoir de l'ordre au niveau disquette: Les sauvegardes
   sont  très  nombreuses  et c'est vite la pagaille. Travailler avec
   soins: commentaires  clairs et précis sur les listings, éviter les
   soit  disant  'trucs' qu'on ne comprendra plus au bout de 3 jours,
   mettez quelques lignes explicatives au début du listing...

   Au niveau outil, je conseille DEVPAC pour sa facilité d'emploi, et
   sa  doc  qui, bien  qu'en  Anglais et suffisamment claire pour que
   l'on y retrouve facilement les informations.

   Si vous avez un 1040 (ou plus), n'hésitez pas à demander au niveau
   des 'préférences' de GENST, un chargement automatique de MONST, le
   débugger.

   Pour ce qui est des livres de chevet (et de travail), il faut bien
   sur faire la différence entre 2 types d'ouvrages: ceux relatifs au
   68000 Motorola  et  ceux relatifs à l'ATARI. Il faut ABSOLUMENT un
   ouvrage  de  chaque. Attention, pour celui relatif au 68000, il ne
   doit  pas  s'agir d'un ouvrage de vulgarisation, mais d'un ouvrage
   technique, qui  vous  semblera  certainement  incompréhensible  au
   début.

   Par  exemple  documentation du fabricant de microprocesseur (MOTO-
   ROLA ou THOMSON pour la France).  Cherchez du côté des vendeurs de
   composants  électroniques  plutôt  que dans les magasins de micro-
   ordinateurs.  En  désespoir  orientez-vous vers "Mise en oeuvre du
   68000" aux éditions SYBEX.

   Une remarque qui devra IMPERATIVEMENT guider votre choix:

   Le  vocabulaire  informatique  est  composé  en très grande partie
   d'abréviations. Or ce sont des abréviations de termes anglais.

   Il est donc impératif que l'ouvrage sur le 68000 donne la signifi-
   cation  de  chacune  des abréviations, signification en Anglais et
   traduction  en  Français. Attention  de  très nombreux ouvrages ne
   donnent  que la traduction or autant il est difficile de se souve-
   nir  de  la signification de termes tels que DATCK, BG, BGACK, MMU
   ou MFP, autant leurs fonctions et clairs et surtout facilement mé-
   morisable  si on connaît la signification de ces abréviations dans
   la langue original, la traduction coulant de source!

   Pour  l'ouvrage relatif au ST, le must consiste à se procurer chez
   ATARI  la  DOCumentation  officielle pour les Développeurs. Sinon,
   "la  Bible" ou  "le  Livre du développeur" chez Micro Application,
   même s'il y subsiste quelques erreurs, est un excellent palliatif.

   A  part  cela, n'achetez  aucun autre ouvrage : "le livre du GEM",
   "Graphismes en ASM", "cours d'ASM" etc, ne seront que des gouffres
   pour votre porte-monnaie et ne vous apporteront rien.

   Si, après ces achats il vous reste quelque argent,  je ne peux que
   vous  conseiller  très fortement l'achat d'une calculatrice possé-
   dant  les opérations logiques (AND, OR, XOR...) et les conversions
   entre bases utilisées en informatique (binaire, hexadécimal...).

   Je vous conseille la Texas Instrument TI34. C'est une calculatrice
   'solaire' (mais  qui  marche  avec  n'importe  quelle source lumi-
   neuse), qui  à l'avantage d'être simple à manipuler. Vous la trou-
   verez à un prix variant de 199 Frs (magasin NASA) à 240 Frs (Camif
   ou  la  Fnac).  C'est une dépense qui n'est pas trop élevée et qui
   s'avérera très vite rentable!

   METHODE DE PENSÉE D'UN ORDINATEUR
   En  France  nous  roulons  à  droite. C'est simple, entré dans les
   moeurs, et  tout le monde s'en sort bien. Imaginons la conduite en
   Angleterre... Pour un Français il existe en fait 3 solutions: 

   1) On ne lui dit rien sur ce type de conduite :
       C'est   avantageux  dans le sens ou notre conducteur part tout
   de  suite  sur la route, mais bien sûr le premier carrefour risque
   de lui être fatal.

   2) On lui ré-apprend à conduire de A à Z :
       C'est long, on a l'impression de perdre son temps, mais on li-
   mite presque totalement les risques d'accidents.

   3) On  dit  simplement  au  conducteur: Attention, ici  on roule à
   gauche.
       Celui-ci, sait conduire à droite, en le prévenant  il fera at-
   tention  et s'en sortira. Avantage: c'est rapide, inconvénient: un
   simple relâchement et c'est l'accident.

   Programmer, c'est  comme  vouloir  conduire à gauche. Il suffit de
   penser, mais  pas  de  penser  comme  nous, mais comme la machine.
   Conscient  de  votre  volonté d'aller vite, c'est la méthode 3 que
   nous allons utiliser, mais attention au relâchement.

   Un  dernier conseil avant de vous laisser aborder le premier cours
   à  proprement parler: l'assembleur plus que tout autre langage, et
   assimilable à une construction en Lego. Une énorme construction en
   Lego n'est pourtant qu'un assemblage de petites briques. Assembler
   2 briques et passer 1 ou 2 heures pour étudier cet assemblage peut
   paraître  inutile. Pourtant c'est ce que nous allons faire: il y a
   peu  de choses à apprendre mais elles sont très importantes. On ne
   le  répétera  jamais  assez: ce ne sera pas quand notre château de
   Lego  d'un mètre cinquante commencera à s'écrouler qu'il faudra se
   dire  "merde ,mes 2 petites briques du début étaient peut être mal
   fixées", car  à  ce moment-là, alors qu'une machine accepterait de
   tout  reprendre dès le début, il y a 99% de chances pour que votre
   expérience en ASM s'arrête là, ce qui serait dommage!

   De même, je vous déconseille fortement la chasse aux listings!

   Cette  pratique  est très courante entre autre sur RTEL et n'amène
   généralement  que  des  ennuis! Il  est de TRES LOIN préférable de
   passer pour un con parce qu'on ne sait pas faire un scrolling plu-
   tôt que de frimer alors qu'on a juste recopié un source que nous a
   donné  un copain! A ce petit jeu là, il y a des gagnants en basic,
   en C ou en Pascal mais jamais en assembleur, car lorsque vous com-
   mencerez  à vouloir coller des sources entre eux et que ça ne mar-
   chera pas, vous serez TOTALEMENT incapable de comprendre pourquoi,
   et  il  sera  trop tard pour apprendre et vous abandonnerez. Et ne
   dites  pas non, regarder plutôt 6 mois en arrière sur RTEL et sou-
   venez  vous  de ceux qui faisaient alors de l'ASM, ils ont presque
   tous  abandonnés! N'oubliez  pas non plus une différence fondamen-
   tale  entre un langage quelqu'il soit et l'assembleur: Il faut en-
   viron  6 mois  pour  apprendre le C ou le Pascal. Ensuite le temps
   sera  passé  à  produire  de bons algorithmes, et à taper les pro-
   grammes.

   En  assembleur  il  en  est  tout autrement. En un mois maximum le
   68000 ne  devrait  plus avoir de secret pour vous, par contre tout
   le  temps  qui  suivra  devra être consacré à faire des recherches
   plus ou moins évidentes sur des 'trucs' à réaliser plus vite, avec
   plus  de couleurs etc... Un programmeur en BASIC ou en C recherche
   des  sources pour travailler. Pas un programmeur en assembleur! Le
   programmeur en assembleur VA FAIRE les routines! Typiquement on va
   demander  à  un  programmeur en C de faire un programme et le pro-
   grammeur en C va demander au programmeur en assembleur de réaliser
   la  ou  les  routines soi-disant infaisables! Et bien sur pour ces
   routines, pas  de  sources  de distribuées!!!! Ce que nous appren-
   drons  donc ici, c'est à programmer comme des vrais! A chercher, à
   comprendre afin de pouvoir par la suite chercher tout seul.

   Si  vous vous attendez à trouver dans ce cours des sources entiers
   de  scrolling, de  lectures de digits ou de gestion de souris sans
   le  GEM, vous  faites  fausse  route! Retourner  au basic que vous
   n'auriez  jamais  dû  quitter; Vous  resterez a tout jamais ce que
   l'on  appelle  un  lamer dans les démos, celui qui recopie mais ne
   comprend rien.

   Si par contre vous voulez savoir, alors accrochez vous car les in-
   fos  sont rares mais ... quel plaisir lorsqu'après plusieurs nuits
   blanches  vous verrez apparaître votre premier scrolling dont vous
   pourrez dire : "c'est moa qui l'ai fait!!!", et là ce sera vrai!!

   Dans ce cours nous étudierons le 68000 mais également les particu-
   larités du ST: les interruptions par le MFP68901, le son (digit ou
   non), les manipulations graphiques, l'interface graphique Ligne A,
   et  enfin un gros morceau, souvent critiqué mais toujours utilisé,
   le GEM.
                        Bon courage !

Back to ASM_Tutorial