30

31

Perso, j'utilisais simplement le bloc notes (et Kate à présent). Edition/Remplacer, et tu remplaces tous les d0 par %d0, tous les $ par 0x, etc. En 30 secondes tu convertis des milliers de lignes.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

32

rien à voir

martial: l'asm en général ça se lit ligne par ligne et ça se convertit à la volée. Ensuite on fait une 2eme passe sur ce qu'on a généré pour calculer les offsets de sauts.

un truc à macros ça doit se faire avec un peu plus de boulot mais c'est pas très compliqué.

33

34

Donc tu veux vraiment coder ton assembleur ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

35

pourquoi pas? si il invente pas une 3eme syntaxe, ça peut être bien smile

(en plus il peut supporter les 2 syntaxes grin)

36

37

Pollux (./29) :
Ca poserait pas des problèmes de licence ? frown.gif


Je parle d'intégrer a68k dans la build chain, donc aucun problème de license vu que ce n'est pas les mêmes produits.

38

Martial > Je connais ce truc qui doit être assez complet (peut-être trop long pour toi) : http://www.google.fr/search?q=analyseurs-syntaxiques.pdf
Sinon cherche "compilation", "théorie des langages", "analyse syntaxique" et "analyse lexicale".
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

39

C'est d'un assembleur dont on parle pas d'un compilateur...
C'est largement plus simple.

40

41

Dans les docs sur les compilateurs il y a une partie sur l'analyse lexicale et syntaxique dont aura besoin Martial.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

42

Hum ton projet Martial pourrait très bien coller avec GFA Basic.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

43

44

Oui du bytecode que j'interprète. Le top serait de convertir de bytecode en ASM. (au moins les sections critiques (boucles for, sauts...).
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

45

il faut absolument que je bosse sur les JIT.

46

47

confus pas comprends je ?

48

49

Normalement l'ordre importe peu, puisque tu assembles dans un premier temps, et tu fais l'édition des liens une fois tout assemblé.
Après si effectivement le premier source inclue tous les autres, le problème ne se pose pas grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

50

51

52

Sinon, tu peux faire un assembleur puis un linker.
L'assembleur s'occupe de prendre un fichier source (et les headers qui y sont inclus) et produit un fichier objet.
Le linker s'occupe de lier plusieurs fichiers objets entre eux.

Mais c'est vrai que pour un assembleur on-calc le mieux est peut-être de faire comme GTC : considérer qu'on a qu'un seul fichier en concaténant le tout. Ça peut faire gagner du temps puisque ça peut éviter de calculer plusieurs fois les mêmes inclusions dans différents fichiers sources...
D'un autre côté avec un vrai linker tu peux t'amuser à faire des optimisations comme ldtigcc, et puis ça peut accélérer la compilation si l'utilisateur ne compile que les fichiers objets dont il a besoin à chaque fois (je te laisse refaire un make pour faciliter tout ça wink )
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

53

un compilo compile chaque source en créant un .text un .data et un .bss

il se fiche du nom des fonctions, ou de l'existence de fonctions non définies.

ensuite le linker merge toutes les sections .text, .data, etc... résout les symboles, geule quand il trouve un symbole inconnu, et cherche la fonction _main, qu'il définit comme point d'entrée (en la plaçant au début pour un _nostub (je suppose, hmm?) ou en écrivant qq part l'offset entre le début de la section .text et _main.

parfois on définit un ldscript qui définit comment caser les sections perso dans le binaire final.

54

Martial Demolins (./51) :
Ca ne semble pas plaire à a68k, pourtant ça passe avec GNU as. Que se passe-t-il ?


_flag_3 n'existe pas dans le code source.

55

56

Sasume (./52) :
D'un autre côté avec un vrai linker tu peux t'amuser à faire des optimisations comme ldtigcc, et puis ça peut accélérer la compilation si l'utilisateur ne compile que les fichiers objets dont il a besoin à chaque fois (je te laisse refaire un make pour faciliter tout ça wink )

Mais attention, l'optimisation niveau linker n'accélère pas du tout la compilation, au contraire...
PpHd (./54) :
_flag_3 n'existe pas dans le code source.

Si, à côté du xdef. grin Pour GNU as, c'est suffisant. (Ce n'est pas un patch TIGCC d'ailleurs, c'est comme ça aussi dans l'original.) On veut seulement exporter un symbole, peu importe sa valeur, donc pourquoi devoir définir un label bidon? C'est une des choses qui m'agace avec A68k.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

57

58

glibc ?

59

60

Dans binutils y a pas tout ça. Y a quand même les bibliothèques de bases. Ou encore peut être en installant linux-header ?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.