; Ce tuto est a distribu�, envoyez, copiez
; il est libre de tout droit, juste cr�ditez
; les auteurs, merci
; Tuto 1 premi�re partie
; Bienvenue a la premi�re partie du 68000
; par F(olco) et G(Tturbo :) )
; Bonjour a tous et bienvenu sur le premier tuto
; pour faire de vous un pro du 68000 :)
; D'abord balayez toutes vos id�es concernant
; le fait que cela ne concerne que des g�nies,
; je suis m�canicien auto et j'ai appris l'asm
; 68000 tout seul, a l'�poque il y avait pas internet
; juste un paquet de livre remplis de bugs, ce
; qui �tait super pratique quand on est d�butant.....
; L'asm 68000 est surement le meilleur asm pour
; apprendre ce superbe langage, syntaxe propre,
; lisible, clair, logique.
; Tout le monde peux apprendre l'asm, par contre
; ce qui ont fait du 'high level langage' (C, Java, etc...)
; avant, risque de pleurer, car il faut tout faire
; a la main, l'assembleur c'est de l'artisanat pure.
;
; C'est de la puissance pure mais au d�triment de nuits
; tr�s courtes, d'arrachages de cheveux.
;
; Vous trouverez un paquet de pages sur internet
; concernant l'asm 68000, mais on va attaquer cela
; autrement, car lire un paquet de donn�es ultra techniques
; sans exemple et tout d'un coup c'est 'infecte'.
; Donc on part sur quelques d�tails structurels d'un
; programme et apr�s direct les deux pieds dans le
; plat.
; Un prog 68000 a trois parties distinctes, baptis� Section on a :
; la Section text qui est le programme lui meme,
; donc la liste d'instructions.
; la Section data : donn�es initialis�s, comme en
; basic a=4 sera donc d�clar� en data
; la Section Bss : donn�es non initialis�s,
; toute variable qui n'a pas besoin d'avoir
; de valeur sp�cifique est dans cette partie.
; Exemple : c=0, d=0
; Petit exemple rassemblant tout cela :
SECTION TEXT ; D�claration de notre section
move.l #4,A ; La variable A=4
add.w #2,C ; on add 2 a la variable C
; ***************************************
; pour l'instant ne faites comme si il avait rien ici
; entre les deux rang�es d'ast�risques
move.w #7,-(a7)
trap #1
addq.w #2,a7
clr.w -(a7)
trap #1
; Mais ca sera pour plus tard
; ***************************************
SECTION Data
C: dc.w 4
SECTION Bss
A: ds.l 1
END
; Donc, quelque explications, vous voyez clairement les 3
; sections. Beaucoup d'assembleurs, se passent des d�clarations
; de ces sections, mais pour des raisons pratiques, gardez les
; vous comprendrez quand votre programme fera plus de 1000 lignes.
; Donc notre premi�re ligne de code on place la valeur 4 dans A.
; C'est le role du 'move', il copie la premiere valeur dans la seconde.
; le .l indique la taille de la valeur a copier, le .L (signifie long)
; on a trois valeurs possibles :
; b (byte soit l'octet en francais, 256 valeurs possibles)
; w (word soit un mot : 65536 valeurs)
; l (long soit un long : 2^32 valeurs)
; J'ai pris ici le long pour le move pour d�mo, vu la valeur 4
; les 3 tailles seraint pass�s : move.b #4,A, move.w #4,A
; ensuite on a donc un add, qui comme son nom l'indique
; add itionne la premi�re valeur sur la seconde, qui est donc
; notre variable C. Qui est donc initialis� a 4 si vous regardez en
; section Data et vaut donc maintenant 6 !!!
; On va mettre un oeil dans les section data et text.
; en data on a C qui est donc d�clar� par dc.w 4
; le .w signifie word comme pour le move, donc on a un C d�clar�
; sur un mot et initialis� a 4.
; Pour pouvez d�clarez d'autres variables avec d'autres tailles :
; Tortue_ninja: dc.l 84
; Templeton_mange_des_pieuvres : dc.b 3
; En section data les vars seront toujours d�clar�s par
; nom_var dc.taille valeur
; Va pour la section bss, on a un A d�clar� en long (.l) avec un 1
; ensuite, vu que les variables en BSS ne sont pas initialis�s
; ce n'est pas une valeur mais le nombre de long (dans ce cas)
; qu'on veux se reserver :
; Youpi: ds.w 16
; Permet d'avoir une variable longue de 16 mots (w=word) on va
; pas s'�tendre la dessus pour l'instant, mais cela aura une utilit�.
; Si vous assemblez ce source (Alt-A) pour ceux qui sont sous Devpac
; et vous le lancez ensuite (Alt-x), vous aurez juste une attente
; d'une touche ce qui est normal, vu qu'il y a aucune sortie quelconque.
; La partie entre ast�risques pour l'instant pas expliqu�
; est l'attente d'une touche et le quit.
; La seconde partie sera beaucoup plus sympa car vous pourrez
; voir les choses :)
;
; Folco et GT Turbo