COURS 1.TXT/fr
****************************************************************** * * * 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