img
@_ö
(22:00)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo + 32 inconnu(s)

Login :  Mot de passe :      Se souvenir de moi.  Mot de passe perdu ?
/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « - 1/7 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (204r) » Ecriture bien spécifique de code C
./Post de départ - Ecriture bien spécifique de code C
18.06.2001 - 25648
21:57  Folco - Posté : 27-08-2010  M

yop,


J'ai déjà discuté du sujet avec Lionel, mais ce que je voudrais semble assez balaise à réaliser de manière fiable. Je m'explique.

Le but est d'écrire du C sans relogement, et comprenant pourtant :
- des romcalls
- des ramcalls
- des appels à ram_throw (utilisation de ce header : http://www.yaronet.com/posts.php?sl=&s=123645&p=1&h=8#8 )

Pour les romcalls, tigcc sait faire ça. Reste le problème des ramcalls.
En assembleur, j'appelle les ramcalls de cette manière :
 pea     arg1 
 move.w  arg2,-(sp) 
 move.b  #3,d0 
 dc.w    $F012 
 addq.l  #6,sp

Le truc, c'est que je n'ai pas la moindre idée de comment écrire ça en C. Le dc.w passe encore, mais forcer le push d'un argument, on fait comment ? Et le pop ?
Faut tout se fader à chaque fois en assembleur inline ?

Mon but est justement de passer au C pour gagner en facilité/rapidité, et donc de ne plus me taper d'asm à la main...

Comment faire ?

Question ultime : y a-t-il un/des switches garantissant aucun relogement dans le binaire ? Ou faut-il s'attendre à devoir patcher les fichiers .s après compilation ?


Merci d'avance. si je savais faire ça, il y a longtemps que je serais passé au C pour mes projets.


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./Publicité AdSense
./1
10.06.2001 - 26777
22:18  Pen^2 - Posté : 27-08-2010  M

Peut-être -mno-explicit-relocs ?
Pour le reste : une macro, à la rigueur ? C'est pas portable, mais de toute manière, tu ne porteras jamais ton programme, donc autant passer du temps sur le reste #hehe#



./2
18.06.2001 - 25648
22:51  Folco - Posté : 27-08-2010  M

Suis-je bien sûr que ma macro construire à coup de asm() ne sera pas détruite par le compilo ou le linker ? Il interprête ça comment l'asm inline ? Typiquement pour lui, un dc.w $F0xy ne veut rien dire, ça ne lui posera pas de problème de l'insérer dans le code ?


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./3
10.06.2001 - 33210
00:52  Kevin Kofler - Posté : 28-08-2010  M

Ce n'est pas évident de faire ce genre de choses en C, c'est bien pour ça qu'on a des tas de bidouilles pour les ROM_CALLs F-Line en C.


Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./4
18.06.2001 - 25648
01:10  Folco - Posté : 28-08-2010  M

Ah merde. C'est dur de faire une macro pour ça ? Le compilateur ou le linker risquent de me péter quelque chose si j'arrive à écrire les macros ?


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./5
10.06.2001 - 26777
14:02  Pen^2 - Posté : 28-08-2010  M

Je ne pense pas non, normalement avec de l'asm inline il ne devrait rien toucher.

Un truc du genre :
#define RAM_CALL asm { dc.w #$cafe }


(enfin je n'ai plus en tête la syntaxe pour l'asm inline, mais tu vois l'idée, quoi... %) )



./6
18.06.2001 - 25648
14:35  Folco - Posté : 28-08-2010  M

Oué, pareil pour la syntaxe, mais ça ressemblerait plus à ça : #define truc asm(".word 0xabcd");


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./7
28.10.2001 - 7401
15:13  Lionel Debroux - Posté : 28-08-2010  M

Une possibilité que j'ai suggérée à Martial est l'utilisation des RAM_CALLs et RAM_throw F-Line comme des fonctions C tout à fait normales, puis le post-processing du source ASM produit par le compilo, pour remplacer le jbsr/jsr par un dc.w / .word.
La compilation en plusieurs étapes, il a l'habitude, ça n'est pas ça qui va le déranger.


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./8
18.06.2001 - 25648
15:31  Folco - Posté : 28-08-2010  M

Ouep, c'est sûr. Je me demandais juste s'il y avait plus simple :D

Mais ta solution reste parfaitement valable. En fait, j'aurais juste du C ou du C++ à écrire pour post-processer. Un langage de script serait mieux me dit-on, mais je sais pas faire :o


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./9
18.06.2001 - 25648
15:40  Folco - Posté : 28-08-2010  M

Et euh... y a-t-il un moyen pour copier du code dans la pile ? En fait, en asm, je rassemble les pointeurs de libcall/syscall dont j'ai besoin dans la pile, et je les fait précéder à tout hasard de $4EF9 :o

Ca ressemble à ça :

pile améliorée

\RegTable:						; WARNING: will fail using functions > lib##antispam##00FF (should use word sized offsets) 
	moveq.l	#0,d0 
\RegLoop: 
	move.b	(a1)+,d0 
	bne.s	\Continue 
		tst.b	(a1) 
		bne.s	\Continue			; End of table: dc.b 0,0 
			rts 
\Continue: 
	pea	(a4) 
	RAMC	RAM_kernel::LibsPtr 
	addq.l	#4,sp 
	moveq.l	#0,d0					; PreOS bug: LibsPtr destroys d0 
	move.b	(a2)+,d0 
	move.w	#$4EF9,0(a6,d0.w) 
	move.l	a0,2(a6,d0.w) 
	bra.s	\RegLoop

avec les offsets qui vont bien pour obtenir les numéros des libcall/syscall et l'offset de leur pointeur dans la pile :

superbes tables

ButillibCallsTable: 
    dc.b    BUTILLIB_InitCmdLine 
    dc.b    BUTILLIB_GetCurrentArgPtr 
    dc.b    BUTILLIB_GetNextArgPtr 
    dc.b    BUTILLIB_IsArgSwitch 
    dc.b    BUTILLIB_IsNextArg 
    dc.b    BUTILLIB_GetFilePtr 
    dc.b    BUTILLIB_CheckFileType 
    dc.b    BUTILLIB_ExecSwitchRoutine 
    dc.b    BUTILLIB_SkipDummyLines 
    dc.b    BUTILLIB_SkipSpaces 
    dc.b    BUTILLIB_SkipLine 
    dc.b    BUTILLIB_GetFileHandle 
    dc.b    BUTILLIB_GetPrevArgPtr 
    dc.b    BUTILLIB_AdvanceToChar 
    dc.b    0,0 
ButillibCallsOffsets: 
    dc.b    INIT_CMDLINE 
    dc.b    GET_CURRENT_ARG_PTR 
    dc.b    GET_NEXT_ARG_PTR 
    dc.b    IS_ARG_SWITCH 
    dc.b    IS_NEXT_ARG 
    dc.b    GET_FILE_PTR 
    dc.b    CHECK_FILE_TYPE 
    dc.b    EXEC_SWITCH_ROUTINE 
    dc.b    SKIP_DUMMY_LINES 
    dc.b    SKIP_SPACES 
    dc.b    SKIP_LINE 
    dc.b    GET_FILE_HANDLE 
    dc.b    GET_PREV_ARG_PTR 
    dc.b    ADVANCE_TO_CHAR 
 
PedroMCallsTable: 
    dc.b    PEDROM_stdin 
    dc.b    PEDROM_printf 
    dc.b    PEDROM_fprintf 
    dc.b    0,0 
PedroMCallsOffsets: 
    dc.b    STDERR 
    dc.b    PRINTF 
    dc.b    FPRINTF

Comme ça avec des appels en jsr non-relogés (et a6 pointeur de stack frame permanent) :

juuuuummmmmmp

		lea	CMDLINE(a6),a0				; Get CMDLINE* 
		jsr	GET_NEXT_ARG_PTR(a6)			; Skip current arg 
		lea	CMDLINE(a6),a0				; Get CMDLINE* 
		jsr	IS_ARG_SWITCH(a6)			; Check if the arg is an switch

Vala, ça me fait tout ce que je veux sans m'embêter. On saute dans la pile et ça rebondit vers la bonne fonction de dll ou de pedrom.

Mais... comment on fait ça en C ? :D


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./10
16.06.2001 - 59737
22:35  squalyl - Posté : 28-08-2010  M

on écrit la fonction trampoline() en asm inline? :D


./11
18.06.2001 - 25648
01:23  Folco - Posté : 29-08-2010  M

Oué, c'est exactemetn ça. En fait, c'est le contenu de cette fonction, le fait d'exécuter la struct {unsigned short opcode = 0x4EF9; void (*);} trampoline; qui risque d'être un peu chaud :D


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./12
18.06.2001 - 25648
01:25  Folco - Posté : 29-08-2010  M

Non, je crois que le plus simple est la solution de Lionel, compiler sans faire d'objet ni linker, patcher les fichiers assembleur, et enfin assembler le résultat.
Ca doit pas être dur, c'est juste du parsing de texte, en C c'est très faisable :o

(merde, je voulais éditer)


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./13
27.04.2006 - 37283
01:34  @Zerosquare - Posté : 29-08-2010  @_ö

Pourquoi ne pas proposer un patch pour GCC4TI qui intégrerait ça ?
Tu pourrais même appeler le switch pour l'activer "-folco" :o


Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau

« Sur Atari tout le hardware tu trouvera, le driver toi même tu le codera » — GT Turbo
./14
10.06.2001 - 33210
02:37  Kevin Kofler - Posté : 29-08-2010  M

C'est d'ailleurs comme ça que fonctionnent les ROM_CALLs en F-Line, aussi…


Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./15
28.10.2001 - 7401
08:26  Lionel Debroux - Posté : 29-08-2010  M

./12: un script Perl qui lit le fichier en entier en un seul coup et une forêt de s///g ressemblerait à:
use strict; 
use File::Path; 
 
# Files not explicitely closed on exit, but Perl does it for us. 
package main; 
    my $file; 
    my $file2; 
    my $filecontents; 
 
    $file = $ARGV[0]; 
    $file2 = $ARGV[1]; 
 
    # Sanitize input file names - optional. 
 
    # Slurp input file ! 
    open(INFILE,"$file") or die "Can't open $file: $!"; 
    read(INFILE, $filecontents, -s INFILE); 
    close INFILE; 
 
    $filecontents =~ s/jbsr\s+rename/.word 0xFnnn/g; 
    $filecontents =~ s/jbsr\s+unlink/.word 0xFmmm/g; 
    ... 
 
    print $filecontents; # sur stdout 
    # ou bien 
    # open(OUTFILE, ">$file2") or die "Can't open $file2: $!"; 
    # print OUTFILE, $filecontents; 
    # close OUTFILE;


En C/C++, c'est plus long à développer :D


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./16
18.06.2001 - 25648
08:46  Folco - Posté : 29-08-2010  M

Zerosquare (./13) :
Pourquoi ne pas proposer un patch pour GCC4TI qui intégrerait ça ?

Pas con, mais faudrait que je me penche sur la structure de la bête :(
Zerosquare (./13) :
Tu pourrais même appeler le switch pour l'activer "-folco" img

#rotfl# #love#
Kevin Kofler (./14) :
C'est d'ailleurs comme ça que fonctionnent les ROM_CALLs en F-Line, aussi…

#eek# Je pensais que c'était moins "bricolage" que ça. Mais bon tant mieux, ça montre que ça marche.
Lionel Debroux (./15) :
un script Perl qui lit le fichier en entier en un seul coup et une forêt de s///g ressemblerait à:

Je ne connais pas Perl :D En C c'est évidemment plus long, mais pas sorcier non plus je pense ^^


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./17
28.10.2001 - 7401
08:53  Lionel Debroux - Posté : 29-08-2010  M

Je sais que tu ne connais pas Perl, c'est pour ça que je t'ai montré le corps d'un script qui ferait le boulot :)


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./18
10.06.2001 - 33210
08:53  Kevin Kofler - Posté : 29-08-2010  M

Lionel Debroux (./15) :
En C/C++, c'est plus long à développer :D

Pas vraiment (juste un petit peu), je dirais plutôt que c'est assez simple, et on peut se baser sur http://tigcc-linux.cvs.sourceforge.net/viewvc/tigcc-linux/tigcc-linux/sources/patcher/src/ .

C'est aussi le logiciel à modifier pour intégrer ça à TIGCC/*nix (ou un fork, il y a peu de chances que ce soit accepté dans la version officielle!), TIGCC/W32 utilise actuellement du code Delphi pour faire la même chose.


Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./19
18.06.2001 - 25648
09:05  Folco - Posté : 29-08-2010  M

Ok, merci à vous deux.


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./20
18.06.2001 - 25648
16:57  Folco - Posté : 29-08-2010  M

Bon, je reprends, déjà merci pour tout. Le parsing de source me semble le plus adapté dans mon cas. Ca résoud donc le problème des ramcalls.



C'est possible d'écrire ça en C ?
butillib##antispam##000d: 
    subq.w    #8,ARGIT(a0) 
 
butillib##antispam##0002: 
    addq.w    #4,ARGIT(a0) 
 
butillib##antispam##0009: 
    move.w    ARGIT(a0),d0 
    movea.l   ARGV(a0),a0 
    movea.l   0(a0,d0.w),a0 
    rts

Ca revient à 3 exports dans la même fonction... A mon avis c'est mort, mais sait-on jamais %)


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./21
10.06.2001 - 33210
14:23  Kevin Kofler - Posté : 30-08-2010  M

Ce n'est pas possible, du moins pas sans des hacks affreux qui ont de fortes chances de ne pas avoir l'effet voulu.


Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
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é
./22
18.06.2001 - 25648
14:48  Folco - Posté : 30-08-2010  M

Je m'en doutais :D

Est-il alors vraiment impossible d'avoir du code C aussi optimal que de l'assembleur ? :(


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./23
28.10.2001 - 7401
14:54  Lionel Debroux - Posté : 30-08-2010  M

Pour un processeur comme le 68000 et dans certaines situations, oui, sans aucun doute possible.


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./24
10.06.2001 - 26777
14:58  Pen^2 - Posté : 30-08-2010  M

butillib##antispam##000d() 
{ 
   butillib##antispam##internal(d) 
} 
 
 
butillib##antispam##0002() 
{ 
   butillib##antispam##internal(2) 
} 
 
butillib##antispam##0009() 
{ 
   butillib##antispam##internal(9) 
} 
 
 
 
butillib##antispam##internal( enum e ) 
{ 
   switch ( e ) { 
      case 000d: 
         subq.w    #8,ARGIT(a0)  
      case 0002: 
         addq.w    #4,ARGIT(a0)  
      case 0009: 
         move.w    ARGIT(a0),d0  
         movea.l   ARGV(a0),a0  
         movea.l   0(a0,d0.w),a0  
      default: erreur quelconque... 
   } 
}



C'est pas vraiment la même chose, mais c'est pas loin.



./25
18.06.2001 - 25648
15:23  Folco - Posté : 30-08-2010  M

Ouep... Mais il y a un passage d'argument à faire. Je ne pense pas pouvoir faire mieux en C de toute façon, c'est clair...


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./26
16.06.2001 - 59737
15:27  squalyl - Posté : 30-08-2010  M

bah après ton assembleur, tu codes un compilo :o

ou tu améliores gtc :o


./27
18.06.2001 - 25648
15:58  Folco - Posté : 30-08-2010  M

squalyl (./26) :
après ton assembleur

#gni#


hem hem... pardon :o


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./28
18.06.2001 - 25648
18:49  Folco - Posté : 30-08-2010  M

Euh... j'arrive pas à écrire "pointeur sur une liste de pointeurs de fonction" dans un proto ... :(

Pointeur de fonction : void (*Ptr)()
Liste de pointeurs : (void (*Ptr)())[] => marche pas, expected declaration specifier
Pointeur sur pointeur : *(void (*Ptr)()) => marche pas, idem

Et des paquets de variantes, genre :
un pointeur de fonction : (*)
un pointeur de pointeur de fonction (*)*

Ca merdouille dans tous les sens :D
Ca s'exprime comment ?


<<< Kernel Extremist©®™ >>> WIP : r6 - 2014-03-08

Les ministres ne sont que des commis chargés d'exécuter les ordres des grands banquiers, des pantins dont la Haute Banque tire les ficelles. Alexandre Millerand, président du conseil des ministres...

Un des bienfaits de la Révolution est d'avoir livré la France aux hommes d'argent qui, depuis cent ans, la dévorent. Anatole France
./29
28.10.2001 - 7401
18:56  Lionel Debroux - Posté : 30-08-2010  M

D'après la doc de TIGCC/GCC4TI,
int (*x[5])(); An array of pointers to a function which returns an integer

La version avec une taille indéfinie de tableau de cette écriture doit être
int (**x)()

Et un pointeur sur ce truc doit être
int (***x)()


(non testé)


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
./Publicité AdSense
 « - 1/7 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Prog C TI (204r) » Ecriture bien spécifique de code C

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url - image - media  
spoiler - pre - fixed
quote - box - hr
poll - code





Smileys
Smileys perso
Pièce jointe
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

» yN ©1624 - Aide / Charte / Crédits
57ms | Statistiques