1

1.) Est-ce que, quand compile du C, il utilise les registres d'addresse et de donnée?
Ou je peut en faire ce que je veut dans une fct asm sans rien craindre?
De plus, si je veut passer plusieurs parametres à une fct asm, le mieux c de tout mettre sur l a pile? idem pour récuperer à la sortie?

2.) Je cherche une fonction hyper rapide de tracé de ligne VERTICALE. =>je donne juste en parametre le début et la fin.
Paske DrawLine c pas super...

Merci d'avance!!!
ATARI ruuullllleeeezzzzz!!!!!!

2

>1.) Est-ce que, quand compile du C, il utilise les registres d'addresse et de donnée?
>Ou je peut en faire ce que je veut dans une fct asm sans rien craindre?

Tu peux faire ce que tu veux de d0-d2/a0-a1, mais tu dois sauvegarder d3-d7/a2-a6 si tu y touches.

>De plus, si je veut passer plusieurs parametres à une fct asm, le mieux c de tout mettre sur l a pile?

Non, le mieux est de passer par registres en déclarant un prototype du style:
int toto(int foo asm("d0"),void *bar asm("a0"));

>idem pour récuperer à la sortie?

Non, les résultats sont toujours rendus dans un registre: a0 si c'est un pointeur, d0 sinon.

>2.) Je cherche une fonction hyper rapide de tracé de ligne VERTICALE. =>je donne juste en parametre le début et la fin.
>Paske DrawLine c pas super...

Regarde dans ExtGraph.
[edit]Edité par Kevin Kofler le 19-03-2002 à 22:19:29[/edit]
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é

3

En fait je veut passer 4 parametres, et pouvoir recupere au moins 2 var apres...
Donc j'aurais pensé empiler mes parametres sur la pile...
Puis, pour recuperer mes var, les emiler dans la fct asm, et les depiler en C.
ATARI ruuullllleeeezzzzz!!!!!!

4

tu ne peux pas. prends une structure à la place...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

5

Récupérer 2 valeurs à travers une seule fonction, en C, ce n'est pas pratique.
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é

6

:-( ca va etre chiant alors...
bon je vais etudier ca...
ATARI ruuullllleeeezzzzz!!!!!!

7

bon, j'av juste une question... vu ke c un truc a la con... v pas créer un topic juste pr ça... en + cuila a pile le bon titre grin
donc si qqun qui sait comment compile un compilateur c passe par là...

voila mon pbl...

j'ai une boucle for:

for(;dsts<gni;*(dsts++)=*(dstt+(txtm1>>10)+(((tytm1)>>10)<<4)))
{
   blabla;
}


et je me demandais quest-ce qui était le plus rapide...
la boucle du haut, ou bien:

for(;dsts<gni; )
{
   *(dsts++)=*(dstt+(txtm1>>10)+(((tytm1)>>10)<<4));
   blabla;
}


bon, je demande ça pke je ne sais pas comment le compilateur compile... (GCC, mais PAS tigcc) dc si vous avez la réponse... merci smile
[edit]Edité par sBibi le 23-03-2002 à 03:01:07[/edit]
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

8

aah, vi... ossi si je fé:

for(;dsts<dst+xh2wink

o lieu de:

gni=dst+xh2;
for(;dsts<gniwink

est-ce que le compilo calcule dsts+xh2 à chak boucle???
ou bien une fois au début, le met dans un reg, et fait le test sur ce reg... ???[nosmile]

(editembarrassedublié le [nosmile])
[edit]Edité par sBibi le 23-03-2002 à 03:42:24[/edit]
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

10

sBibi :

- post 7 > Les deux sont aussi rapides avec un bon compilo comme TIGCC. Attention, pour que les codes fassent la même chose, il faut placer le blabla avant *(dsts++)=*(dstt+(txtm1>>10)+(((tytm1)>>10)<<4)) !

- post 8 > Avec certains compilos la seconde solution est plus efficace. Je pense que TIGCC doit générer un code identique pour les deux, à partir du moment ou dst et xh2 ne sont pas accédés en écriture dans la boucle.
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.

11

ok merci smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina