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