File: Tuto6811.s - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

; 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