COURS 1.TXT
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 PENSE 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