Utilisation de cc et as
1 - cc et as
2 - Utilisation de cc
3 - Utilisation de as
4 - Edition des programmes
cc et as sont deux outils qui permettent de programmer en c et
assembleur sur votre TI. Vous les trouverez sur le site de leur créateur
: http://darkclem.free.fr/
cc est un compilateur de language C.
as est un assembleur, c'est à dire qu'il traduit les instructions
assembleur vers le language machine (autrement dit, en binaire) afin qu'elles
puissent être exécutées directement par le microprocesseur.
Ce compilateur est assez spécial, étant donné qu'il
n'utilise pas la syntaxe habituelle du C, mais la syntaxe K&R, comme
cela est expliqué dans le fichier readme.txt fourni avec cc.
Au lieu de déclarer les fonctions de cette façon:
type_retour nom_fonction(type_1 argument_1, type_2 argument_2, ...)
vous les déclarez ainsi:
type_retour nom_fonction(argument_1, argument_2) type_1 argument_1; type_2 argument_2; ...
Maintenant, créons notre premier programme en C:
#include "ams_c" // Fichier où se trouvent les nom des ROM_CALLs et leur index // Fonction principale void main() { char screen[3840]; memcpy(screen, 0x4C00L, 3840L); // Sauvegarde l'écran ClrScr(); // Efface l'écran FontSetSys(1); // F_6x8 DrawStr(0, 0, "Hello World !", 1); // Affiche "Hello World !" à l'écran ngetchx(); memcpy(0x4C00L, screen, 3840L); // Restaure l'écran }
Maintenant, il reste à créer le fichier ams_c avec les ROM_CALLs utilisés, sans lequel le programme ne se compilera pas
nolist old_ams _ngetchx = -81 _ClrScr = -414 _DrawStr = -425 _FontSetSys = -399 _memcpy = -618 list
L'étape suivante est la compilation. Tout d'abord, le code à compiler doît se trouver dans le fichier csrc. Si vous voulez avoir plusieurs programmes, je vous conseille de les créer dans des fichiers différents et de les copier dans csrc seulement pour la compilation. Cela peut se faire simplement en TI-Basic. Une fois que le code est dans csrc, éxécutez cc:
cc()
S'il y a des erreurs, regardez dans le fichier c_errors pour en connaître
l'origine.
Une fois que cc a fini son travail sans erreur, le code assembleur généré
se trouve dans le fichier asmsrc. Il faut donc assembler le programme avec
as, donc dans le cas de notre programme:
as("asmsrc","hello")
Maintenant, vous pouvez en principe éxécuter le programme hello afin de le tester.
Maintenant, que vous avez tout compris, vous pouvez commencer à
programmer avec cc, mais une fois que vous aurez exploré les capacités
restreintes du compileur, vous aurez peut-être envie d'ajouter de
l'assembleur dans votre code.
Ce n'est pas compliqué du tout. Par exemple, pour décaler
les bits d'une variable globale de façon circulaire, vous pourriez
faire:
#asm rol.l (variable_globale) #endasm
L'assembleur as vous permet d'assembler du code pour le Microprocesseur
Motorola 68000. Vous ne pouvez évidemment pas l'utiliser si vous
ne connaissez pas l'assembleur du 68000. Le codage avec as est simple, mais
il y a certaines règles élémentaires à respecter
pour pouvoir compiler sans erreur.
Une ligne contenant une instruction, doit impérativement commencer
par un espace, sinon, l'assembleur prendra ça pour une directive.
Par exemple, le squelete basique d'un programme pourrait ressembler à
ça:
include "ams" _main: link a6,#-3840 movem.l d3-d7/a2-a5,-(a7) movea.l a7,a5 move.l 0xc8,a4 move.l #3840,-(a7) move.l #0x4c00,-(a7) movea.l a5,-(a7) move.l 4*memcpy(a4),a3 jsr (a3) movea.l a5,4(a7) move.l #0x4c00,(a7) jsr (a3) adda.l #12,a7 movem.l (a7)+,a2-a5/d3-d7 unlk a6 rts
Bien sûr, ce programme ne fait rien à par sauvegarder l'écran et le restaurer, mais ce n'est qu'un exemple.
Pour compiler avec as, vous n'avez qu'à faire:
as("nom_fichier_assembleur","nom_programme")
Si il y a des erreurs, vous les trouverez dans le fichier as_error.
Comme vous vous en êtes sûrement rendu compte, le code des programmes doit se trouver dans des fichiers texte. Vous pouvez donc utiliser l'éditeur de texte intégré à l'AMS pour cela:
Mais si utiliser l'éditeur de texte vous rebute, vous pouvez toujours utiliser side qui se trouve sur le même site que cc et as. Vous trouverez le "mode d'emploi" de side dans le fichier readme.txt fourni avec.
Maintenant, je pense que vous savez tout ce qu'il faut pour utiliser cc et as. Bonne chance pour vos futurs programmes.