LA COMPILATION
La compilation, bon nombre de personnes
se pose la question: coment faire? c'est ce que nous verrons ici:
quoi utiliser et surtout comment l'utiliser et avec quoi l'utiliser.
I) Le compilateur
Que l'on
utilise DoorsOS ou Plusshell, on utilisera le meme compilateur,
à savoir, A68K (suivi de makeprgm).
Cet outils traduit touts les données d'un fichier source en langage
machine (du binaire) directement executable par la machine à laquelle
le programme est destiné. On ne va pas s'attarder sur son fonctionnement,
car ce n'est pas mon but; par nous allons créer un raccourci pour
les execiuter plus vite:
Créons donc un fichier
que nous allons appeler compil.bat par exemple.
On edite le fichier et
l'on y place les commandes suivantes
xxxxxxxxxx\a68k abc.asm
-g -t -izzzzzzzzzzz\include
xxxxxxxxxx\makeprgm abc
Ou xxxxxxxxxxxx represente
le repertoire ou l'on a installé a68k.
yyyyyyyyyyyy
celui ou l'on a mis makeprgm
et zzzzzzzzzzzzzzzz
celui ou l'on a placé le repertoire include
Un petit exemple:
Vous installer
plusshell dans c:\plusshell, vous devrez rentrer les commande
c:\plusshell\a68k\a68k abc.asm -g -t -ic:\plusshell\include
c:\plusshell\makeprgm abc
Voila! pour compiler le programme
contenu abc.asm il suffit de double-cliquer sur le compil.bat.
Pour le style, on peu rajouter à la fin
del abc.o > nul, pour effacer le fichier objet (qui ne sert plus
à rien maintenant.) et au debut @ECHO OFF, qui evite l'affichage
des commandes à l'écran: il ne reste que les messages des deux programmes:
plus facile à trier.
II) L'éditeur
Pour écrire
vos fichiers sources il existes plein de programmes. Je vous conseille
soit Notepad ,simple mais efficace ou beaucoup plus élaboré Ultraedit
(disponible à www.ultraedit.com) qui permet de colorer certain mot
(les instructions par exemple ou les chaines de caractère) à l'aide
d'un script (à placer dans
le repertoire principal et à activer dans avancé puis configuration
onglet coloration syntaxique entrer le chemin du fichier
dans la fenetre du bas.), celui-ci est tout simplement genial et
permet une clarté exellente!
III) Le
fichier source
;----------------------------------------------------------------------------------
; Un
programme de test
Ceci est l'en-tête
;
par Zewoo
du fichier source
; http://www.ifrance.com/microsheep/
mettez-y les infos du programme
; le 01/01/2000 (oui, mon
ordi fonctionne :)
pour vous en rappeler ou pour le distribuer
;----------------------------------------------------------------------------------
include
<bibliothèque.h>
;inclure toutes les bibliothèques utilisées au cours du programme
xdef _main
;definir un point de depart pour le programme
xdef _comment
;definir un commentaire (visible si les shells sont prevu pour)
pour le programme
xdef
_ti89
;créer un .89z
xdef
_ti92plus
;créer un .9xz
xdef
nostub
;uniquement si l'on a un programme ne nécessitant ni biliothèque
ni kernel (kernel(plusshell) ou doorsos)
_main
;label de debut de programme
;ici on met
;le code du progamme
;les instructions étant toujours espacées
du bord
;on peut aussi avoir par exemple:
include teste2.asm
;cela insère un autre fichier: pratique si le fichier est trop gros
on en fait plusieurs petits.
rts
;instruction de fin de programme
longword dc.l
0
;ici on place les variables
lword
dc.w 0
;avec leur valeurs de départ
;on peut ausi avoir:
incbin test.bin
;on insère de cette façon des gros sprites ou des images (autre
exemple: " img: incbin image.bin" sans les guillemets evidemment)
BSS
;les variables placées après cette commande ne sont pas
byte
dc.b 0
;initialisées lorsque l'on démarre le programme
_comment "programme test",0
;attention aux guillemets et à bien mettre le ,0 : cela indique
la fin de la chaine
end
; laissez une ligne blanche à la fin du programme (il y a parfois
des erreurs de compilation sans cette ligne, je ne sais pas pourquoi.
)
De façon plus claire
le programme minimum faisable est:
xdef
_main
xdef
_ti89
_main
rts
end
;label de fin de programme
Mais à mon avis cela ne sert
pas à grand chose :o)
Maintenant que vous avez compris
cela on va voir rapidement comment faire une bibliothèque
;----------------------------------------------------------------------------------
; Une bibliothèque
de test
Ceci est l'en-tête
;
par Zewoo
du fichier source
; http://www.ifrance.com/microsheep/
mettez-y les infos de la bibliothèque
; le 01/01/2000
(oui, mon ordi fonctionne encore:)
pour vous en rappeler ou pour la distribuer
;----------------------------------------------------------------------------------
include
<bibliothèque.h>
;inclure toutes les bibliothèques utilisées
xdef _library
;definir un point de depart pour le programme
xdef _ti89
;créer un .89z
xdef
_ti92plus
;créer un .9xz
xdef
_testlib@0000
;definir les fonctions de la librairies
xdef
_testlib@0001
; en mettre autant que necessaire (9999 si il le faut vraiment :)
_testlib@0000
;label de debut de fonction
;ici on met
;le code du progamme
;les instructions étant toujours espacées
du bord
rts
_testlib@0000
;label de debut de fonction
;ici on met
;le code du progamme
;les instructions étant toujours espacées
du bord
rts
;instruction de fin de programme
longword dc.l
0
;ici on place les variables avec leur
lword
dc.w 0
;valeurs de départ ces valeurs sont
byte
dc.b 0
;initialisées à chaque appel de la bibliothèque
end
;label de fin de bibliothèque
Et hop le minimum:
xdef
_library
xdef
_ti89
xdef
_testlib@0000
_testlib@0000:
rts
end
Mais cela ne sert pas plus
que tout à l'heure. :)
Voilà
avec ça vous devez etre capable de compiler n'importe quoi (dans
la limite du raisonnable tout de même :o)
©Tous les programmes presents
sur ce site sont soumis à l'autorisation de leur programmeurs
respectifs pour toutes modifications. La mise en page a necessité
un certain travail, il serait donc plus correct de ne pas la plagier.
|